CentOS6安装Oracle数据库
前提:linux下安装oracle数据库用可视化安装比较方便,推荐安装vnc(比较简单)。
1、安装依赖包
[root@oracledb ~]#yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel
2、创建用户和组
[root@oracledb ~]# sysctl -p
[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# useradd -u 440 -g oinstall -G dba oracle
[root@oracledb ~]# passwd oracle
3、修改内核参数
[root@oracledb ~]# vi /etc/sysctl.conf
配置文件末尾添加:
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
4、修改系统资源限制
[root@oracledb ~]# vi /etc/security/limits.conf
配置文件末尾添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@oracledb ~]# vi /etc/pam.d/login
配置文件中找到session required pam_namespace.so并在下面添加:
session required pam_limits.so
[root@oracledb ~]# vi /etc/profile
添加:
if [ $USER ="oracle" ]; then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5、创建安装目录及设置权限
[root@oracledb ~]# mkdir /opt/oracle/app/
[root@oracledb ~]# mkdir /opt/oracle/oradata/
[root@oracledb ~]# chmod 755 /opt/oracle/
[root@oracledb ~]# chmod 775 /opt/oracle/app/
[root@oracledb ~]# chown oracle.oinstall -R /opt/oracle/
6、设置环境变量(注意用oracle账号登录)
[oracle@oracledb ~]$ vi ~/.bash_profile
配置文件中添加:
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=orcl
保存并退出后需要进行生效操作:
[oracle@oracledb ~]$ source .bash_profile或
[oracle@oracledb ~]$ source ~/.bash_profile
7、将11gR2压缩包拷到/opt/oracle/下
[root@oracledb~]# unzip /opt/oracle/linux.x64_11gR2_database_1of2.zip
[root@oracledb~]# unzip /opt/oracle/linux.x64_11gR2_database_2of2.zip
若提示-Bash: Unzip: Command Not Found,可执行:
yum install -y unzip zip
使所有用户都能访问图形桌面:
[root@oracledb~]# xhost +
如果安装过程中有提示关于DISPLAY之类可视化界面上的错,可以按以下方法设置(注意localhost:1名称对应,前提是vnc已经装好):
[root@localhost ~]# vncserver
New 'localhost:1 (root)' desktop is localhost:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost:1.log
[root@localhost ~]# export DISPLAY=localhost:1
[root@localhost ~]# xhost +
access control disabled, clients can connect from any host
8、正式安装
切换oracle用户:
[root@oracledb~]# su – oracle
执行安装文件(注意,解压后database文件夹可能会生成到root根目录中,find / -name database找到它并移动mv到/home/oracle/中):
[oracle@oracle~]#./home/oracle/database/runInstaller
注意:若有提示权限不够,可执行:
[root@oracledb~]# chmod 755 /home/oracle/database或
[root@oracledb~]# chmod 777 /home/oracle/database
至此,配置部分基本完成,开始可视化界面安装:
1、不要输入Email地址,直接next
2、选择安装数据库软件并创建数据
3、选择服务器版本
4、单例数据库
5、高级模式安装
6、添加支持的语言
7、选择要安装的版本
8、安装数据库目录
9、创建详细目录
10、选择配置类型
11、数据库与服务名
12、开启自动内存管理(如果太大,会出现提示,减少一些就可以),然后先不要点击next,而是点击Memory旁边的Charactor sets选项。
13、设置默认编码为UTF8
14、启用oracle企业管理控制台OEM
15、选择数据库文件目录
16、自动备份设置
17、设置数据库用户名和密码,他是有一个密码建议的,否则会提示错误,密码建议是包含大写和小写字母,总长度不能低于8位。
18、授权的组
19、检查oracle的安装包是否都已安装,(有些提示未安装,可能已安装一个版本,而其他版本并没有安装,可忽略,点击页面上的ignore all即可),
20、开始安装
注意:安装过程中可能出现下图类似错误:
Error in invoking target 'install' of makefile '/u01/app/oracle/product/dbhome_1/ctx/lib/ins_ctx.mk'.
See '/u01/app/oracle/oraInventory/logs/installActions2014-01-11_12-44-52PM.log' for details;
查看日志文件,找到相应提示,百度之后知道:Linux没有安装32位的glibc-devel包。于是检查一下是否没有安装32位的glibc-devel包。如下所示,确实只安装了64位的glibc-devel包。
[root@CEG-eSCM ~]# rpm --all --query --queryformat "%{NAME}-%{VERSION}-%{RELEASE}-(%{ARCH})\n" | grep glibc
glibc-devel-2.5-65-(x86_64)
glibc-2.5-65-(x86_64)
glibc-headers-2.5-65-(x86_64)
glibc-common-2.5-65-(x86_64)
glibc-2.5-65-(i686)
也可用yum list glibc查看,且能更直观的看到已安装版本和未安装的;
执行[root@CEG-eSCM cdrom]# yum install glibc-devel.i386即可。
[root@CEG-eSCM cdrom]# yum install glibc-devel.i386
至此,所有oracle安装已完成,下面开始操作数据库。
1、su - oracle
2、lsnrctl start(启动监听)
3、sqlplus / as sysdba
4、SQL>startup(启动数据库实例)
其他操作还有创建用户,设置权限,导入数据等。
附: