在CentOS 6.5系统上安装Oracle数据库是一个复杂的过程,涉及多个步骤和注意事项,下面将详细介绍这一过程,包括安装前的准备工作、安装过程中的依赖包安装、用户和组创建、内核参数设置以及Oracle软件的具体安装步骤。
CentOS 6.5 安装 Oracle 11gR2 指南

一、安装前准备
1、下载必要的软件包:
CentOS 6.5 ISO文件。
Oracle 11gR2安装包。
2、远程工具:
Xshell(用于命令行操作)。

SSH shell client(用于上传和下载文件)。
3、硬件要求:
内存:最小1GB,推荐2GB或更多。
Swap空间:根据内存大小调整,具体规则如下:
1GB < 内存 < 2GB:Swap为内存的1.5倍。
2GB < 内存 < 16GB:Swap等于内存大小。

内存 >= 16GB:Swap固定为16GB。
临时空间(tmp):保证至少有1GB的剩余空间。
硬盘空间:企业版需要4.7GB,标准版需要4.6GB。
二、安装CentOS 6.5
1、选择基本服务器安装:
启动虚拟机,选择“基本服务器”选项,自定义安装。
去掉Java和Perl,选择Emacs和互联网应用程序,选择KDE桌面外的所有组件。
2、分区方案:
总共分配约30GB的硬盘空间。
3、系统设置:
确保NTP服务开启,关闭kdump。
4、更新系统:
执行# yum update
和# yum upgrade
命令更新系统。
三、安装Oracle依赖包
Oracle 11gR2对操作系统有特定的依赖包需求,以下是详细的安装步骤:
1、检查并安装依赖包:
- # rpm q binutils compatlibcap1 compatlibstdc++ glibc gcc gccc++ glibcdevel libaio make sysstat
- # yum search binutils
- # yum install binutils compatlibcap1 compatlibstdc++ glibc gcc gccc++ glibcdevel libaio make sysstat
2、一次性安装所有依赖包:
- # yum y install binutils.x86_64 compatlibcap1.x86_64 compatlibstdc++.x86_64 compatlibstdc++.i686 gcc.x86_64 gccc++.x86_64 glibc.i686 glibc.x86_64 glibcdevel.x86_64 glibcdevel.i686 ksh.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.x86_64 libstdc++.i686 libstdc++devel.x86_64 libstdc++devel.i686 libaio.x86_64 libaio.i686 libaiodevel.x86_64 libaiodevel.i686 make.el6 sysstat.x86_64 lrzsz.x86_64
四、创建Oracle用户和组
1、创建用户和组:
- # groupadd oinstall
- # groupadd dba
- # useradd g oinstall G dba oracle
- # passwd oracle
2、修改/etc/oraInst.loc文件:
- # vi /etc/oraInst.loc
- inventory_loc=/u01/app/oraInventory
- inst_group=oinstall
3、更改属组及权限:
- # chown R oracle:oinstall /u01/app
- # chmod R 775 /u01/app
五、安装Oracle 11gR2
1、上传安装包:
使用root用户将Oracle安装包拷贝到指定目录,并更改用户和组为oracle:oinstall。
2、解压安装包:
- # unzip linux_11gR2_database_1of2.zip
- # unzip linux_11gR2_database_2of2.zip
3、开始安装:
切换到oracle用户,运行runInstaller。
根据安装向导完成安装,注意在选择安装位置时选择“创建和配置数据库”。
4、检查并解决依赖问题:
安装过程中可能会提示缺少依赖包,根据提示安装相应包。
如果提示版本过高,可以忽略并继续安装。
六、配置Oracle环境变量
1、编辑环境变量文件:
- # vi /home/oracle/.bash_profile
添加以下内容:
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
- export ORACLE_SID=orcl
- export PATH=$PATH:$ORACLE_HOME/bin
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/lib:/usr/lib
- export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
2、使配置生效:
- # source /home/oracle/.bash_profile
七、启动和管理Oracle数据库
1、启动数据库:
- $ sqlplus / as sysdba
- # startup
2、配置自动启动:
编辑/etc/oratab
文件,添加以下内容:
- orcl:/u01/app/oracle/product/10.2.0/db_1:N
创建自动启动脚本/etc/rc.d/init.d/oracle
,添加以下内容:
- #!/bin/bash
- # Source the environment variables
- source /home/oracle/.bash_profile
- # Start the listener
- lsnrctl start
- # Start the database instance
- sqlplus / as sysdba <<EOF
- connect / as sysdba
- startup
- exit;
- EOF
- # Stop the listener and the database instance on shutdown
- function stop() {
- lsnrctl stop
- sqlplus / as sysdba <<EOF
- connect / as sysdba
- shutdown immediate
- exit;
- EOF
- }
- trap stop SIGHUP SIGINT SIGTERM SIGQUIT PIPE ABRT TERM
赋予脚本执行权限:
- # chmod +x /etc/rc.d/init.d/oracle
注册脚本到chkconfig:
- # chkconfig add oracle
常见问题解答(FAQs)
Q1: 如何更改Oracle数据库的监听器端口?
A1: 编辑$ORACLE_HOME/network/admin/listener.ora
文件,找到类似(LISTENER)
的配置项,修改其中的PORT
值即可,将默认的1521端口改为其他端口号,保存后重启监听器:
- lsnrctl stop
- lsnrctl start
Q2: 如何在系统重启后自动启动Oracle数据库?
A2: 确保按照上述步骤配置了/etc/oratab
和自动启动脚本,并正确注册到chkconfig,这样,每次系统启动时,Oracle数据库就会自动启动,如果遇到问题,可以手动检查脚本的执行情况和日志文件。