Install Oracle for CentOS

初次在 CentOS 安装 Oracle 基本上不可能一蹴而就。参考资料中,除了官方文档,网上有相当多的安装记录,但每个人的安装都有可能碰到不同的情况,参考价值不大,只有官网的安装手册是最可信赖的。我最终将数据库安装好,也是严格按照官方手册来操作的。官方手册很长,而且文档中大量篇幅和自己系统无关,需要耐心阅读并筛选自己需要的部分。

我安装 Oracle 的软件环境:

  • OS: CentOS release 6.5 (Final), x86_64
  • Oracle: 11g R2, x64

1. 下载解压

官网下载如下文件:

  • linux.x64_11gR2_database_1of2.zip
  • linux.x64_11gR2_database_1of2.zip

解压到同一目录。

2. 安装

安装过程必须严格按照官方文档中的安装指南(和我的系统匹配的文档是:Database Quick Installation Guide for Linux x86-64)完成。因为 CentOS 的系统版本和 RedHat 完全对应,当碰到对不同系统的说明时,参照 RedHat 6 的部分即可。

2.1 检查硬件环境

按照文档中描述,有足够的硬盘和CPU计算能力。具体数据参官方文档。目前的机器,基本上都能满足 Oracle 的硬件需求。

2.2 准备相关软件

按照官方说明,必须安装如下软件:

binutils-2.20.51.0.2-5.11.el6
compat-libcap1-1.10-1
compat-libstdc++-33-3.2.3-69.el6
gcc-4.4.4-13.el6
gcc-c++-4.4.4-13.el6
glibc-2.12-1.7.el6
glibc-devel-2.12-1.7.el6
ksh
libgcc-4.4.4-13.el6
libstdc++-4.4.4-13.el6
libstdc++-devel-4.4.4-13.el6
libaio-0.3.107-10.el6
libaio-devel-0.3.107-10.el6
make-3.81-19.el6
sysstat-9.0.4-11.el6

注:官方文档的列表更长,这里已经剔除了32位系统的内容。这部分软件必须安装,否则后面的安装将不正常。

rpm -q 检查现系统是否都有相关软件了,没有再安装:

rpm -q binutils
rpm -q compat-libcap1
rpm -q compat-libstdc++
rpm -q gcc
rpm -q gcc-c++
rpm -q glibc
rpm -q glibc-devel
rpm -q ksh
rpm -q libgcc
rpm -q libstdc++
rpm -q libstdc++-devel
rpm -q libaio
rpm -q libaio-devel
rpm -q make
rpm -q sysstat

运行后,发现还有如下包没有安装:

compat-libcap1, compat-libcap1.x86_64
compat-libstdc++, compat-libstdc++-33.x86_64
gcc, gcc-4.4.7-4.el6.x86_64
gcc-c++, gcc-c++-4.4.7-4.el6.x86_64
ksh, ksh.x86_64 0:20120801-10.el6
libstdc++-devel, libstdc++-devel-4.4.7-4.el6.x86_64
libaio-devel, libaio-devel.x86_64 0:0.3.107-10.el6

这里综合使用 yum search, yum install 两个命令,将缺失的程序装上就行。

按文档说明,还需检查 ODBC 驱动:

unixODBC-2.2.14-11.el6 (x86_64) or later
unixODBC-devel-2.2.14-11.el6 (x86_64) or later

安装:

yum install unixODBC
yum install unixODBC-devel

按文档说明,还需安装 Linux-PAM:

yum install libcgroup-pam.x86_64
yum install pam_krb5.x86_64
yum install pam_ldap.x86_64
yum install pam_pkcs11.x86_64

需要注意的是,4.5.2 Oracle JDBC/OCI Drivers,和 4.5.5 的 cobol 语言没有安装,后来看起来没有影响。

2.3 创建用户组和用户

初次安装,先创建用户组:

groupadd oinstall
groupadd dba
groupadd oper

创建 oracle 用户:

useradd -g oinstall -G dba oracle

如果已存在,修改 oracle 用户模式:

usermod -g oinstall -G dba oracle

创建或修改后,可以用 id oracle 指令查看用户信息,如:

$ id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper)

官方对用户和用户组设置说明如下:

  • The Oracle Inventory group (typically, oinstall)
  • The OSDBA group (typically, dba)
  • The Oracle software owner (typically, oracle)
  • The OSOPER group (optional. Typically, oper)

2.4 修改内核参数和资源限制

参官方文档《Configuring Kernel Parameters and Resource Limits》一节,修改相关文件即可。

2.5 修改 shell 配置文件

因为这里用的是 bash shell,所以修改 /home/oracle/.bash_profile,编辑如下内容:

export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

2.6 正式安装

用户组/用户/软件包准备好了,就可以执行安装程序 runInstaller,执行时按部就班即可。

2.7 配置

Oracle 安装过程中如果没有配置数据库,则安装完成后,可以在

$ORACLE_HOME/bin (上面的例子,对应 /home/oracle/app/product/11.2.0/dbhome_1/bin/)

中执行使用 ./dbca, ./netca,启动图形化界面进行设置。

日后如果需要新建或修改数据库实例,仍可使用 dbca 和 netca.