如何简化 Oracle Linux 6 上的 Oracle Database 11g 安装
作者 Ginny Henningsen;由 Michele Casey 更新
如何通过安装 oracle-rdbms-server-11gR2-preinstall RPM 软件包简化 Oracle Linux 6 上的 Oracle Database 11g 安装。
2012 年 9 月发布
注:本文适用于 Oracle Linux 6。前一篇文章“如何简化 Oracle Linux 上的 Oracle 数据库安装”介绍了如何在 Oracle Linux 5 上执行类似任务。
针对 Oracle Linux 的 oracle-rdbms-server-11gR2-preinstall RPM 简介
由于数据库需要某些软件包、软件包版本以及内核参数微调,因此当您在系统上安装 Oracle Database 11g 之前,需要预先配置操作环境。(一定要阅读相应的 Oracle 数据库安装指南以便熟悉硬件、软件和操作系统要求。)
如果要下载软件、加入论坛、阅读像本文这样的其他技术方法文章,请成为 OTN 成员。无垃圾邮件! | |
在 Oracle Linux 上,我发现有一种非常轻松的办法可以让系统满足这些安装先决条件:首先安装一个名为 oracle-rdbms-server-11gR2-preinstall 的 RPM 软件包。此 RPM 执行一些预配置步骤,包括:
- 自动下载并安装 Oracle Grid Infrastructure 和 Oracle Database 11g 第 2 版 (11.2.0.3) 安装过程所需的任何额外的软件包和特定软件版本,并通过
yum 或 up2date 功能处理软件包依赖关系。
- 创建用户
oracle 和组 oinstall (针对 OraInventory )、dba (针对 OSDBA ),供数据库安装期间使用。(出于安全目的,该用户没有默认口令,且不能远程登录)。要启用远程登录,请使用 passwd 工具设置一个口令。)
- 修改
/etc/sysctl.conf 中的内核参数以更改共享内存、信号、最大文件描述符数量等设置。
- 设置
/etc/security/limits.conf 中的软硬 shell 资源限制,如锁定内存地址空间、打开的文件数量、进程数和核心文件大小。
- 对于 x86_64 计算机,在内核中设置
numa=off 。
请注意,oracle-rdbms-server-11gR2-preinstall 只是根据数据库安装的需要来分析现有的 /etc/sysctl.conf 和 /etc/security/limits.conf 文件并更新值。所有与数据库安装无关的预自定义设置保持不变。
oracle-rdbms-server-11gR2-preinstall RPM 软件包可通过 Oracle Unbreakable Linux Network(ULN,需要支持合同)、Oracle Linux 分发媒体或 Oracle 公共 yum 信息库获取。因此,无论系统是否在 ULN 注册访问 Oracle 补丁和支持,您均可使用 oracle-rdbms-server-11gR2-preinstall 来简化 Oracle Linux 上的数据库安装。此外,Oracle 公共 yum 信息库现在还包括了所有安全和错误勘误表,从而通过最新的安全更新和错误修复来确保系统的安全和稳定。
安装 oracle-rdbms-server-11gR2-preinstall RPM
本文其余部分将逐步介绍通过 Oracle 公共 yum 信息库在 Oracle Linux 上安装 oracle-rdbms-server-11gR2-preinstall 的过程。我首先从一个运行适用于 x86_64 的 Oracle Linux 第 6 版 Update 3 的系统开始,这个 64 位版本的 Oracle Linux 是我从 Oracle 软件交付云(需要注册或登录)下载的。首先,设置一个 yum 配置文件,让其指向正确的信息库,然后从该信息库安装 oracle-rdbms-server-11gR2-preinstall RPM。
以下是针对 Oracle 数据库安装使用 oracle-rdbms-server-11gR2-preinstall 对系统进行预配置的步骤:
- 作为一个授权用户(如
root )检索配置信息库位置的文件:
# cd /etc/yum.repos.d
# wget http://public-yum.oracle.com/public-yum-ol6.repo
- 使用文本编辑器修改该文件,将字段
enabled=0 更改为 enabled=1 以反映对应于该计算机操作系统版本的信息库。
下面是 public-yum-old6.repo 的部分内容,以粗体显示更改过的行。 [ol6_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
[ol6_UEK_latest]
name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
因为目标系统运行的是适用于 x86_64 的 Oracle Linux 第 6 版 Update 6,所以要启用 [ol6_latest] 和 [ol6_UEK_latest] 信息库。
- 接下来,使用
yum install 命令安装 oracle-rdbms-server-11gR2-preinstall RPM。
清单 1 中的输出显示了安装过程如何检查依赖关系,然后下载和安装所需软件包。 # yum install oracle-rdbms-server-11gR2-preinstall
Loaded plugins:refresh-packagekit, rhnplugin, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6 will be installed
--> Processing Dependency:gcc-c++ for package:oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency:gcc for package:oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency:libaio-devel for package:
oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency:libstdc++-devel for package:
oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency:glibc-devel for package:
oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency:compat-libstdc++-33 for package:
oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency:ksh for package:oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency:compat-libcap1 for package:
oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-1 will be installed
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
---> Package gcc.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency:cpp = 4.4.6-4.el6 for package:gcc-4.4.6-4.el6.x86_64
--> Processing Dependency:cloog-ppl >= 0.15 for package:gcc-4.4.6-4.el6.x86_64
---> Package gcc-c++.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency:libmpfr.so.1()(64bit) for package:gcc-c++-4.4.6-4.el6.x86_64
---> Package glibc-devel.x86_64 0:2.12-1.80.el6_3.4 will be installed
--> Processing Dependency:glibc-headers = 2.12-1.80.el6_3.4 for package:
glibc-devel-2.12-1.80.el6_3.4.x86_64
--> Processing Dependency:glibc-headers for package:glibc-devel-2.12-1.80.el6_3.4.x86_64
---> Package ksh.x86_64 0:20100621-16.el6 will be installed
---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be installed
---> Package libstdc++-devel.x86_64 0:4.4.6-4.el6 will be installed
--> Running transaction check
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
--> Processing Dependency:libppl_c.so.2()(64bit) for package:cloog-ppl-0.15.7-1.2.el6.x86_64
--> Processing Dependency:libppl.so.7()(64bit) for package:cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.6-4.el6 will be installed
---> Package glibc-headers.x86_64 0:2.12-1.80.el6_3.4 will be installed
--> Processing Dependency:kernel-headers >= 2.2.1 for package:
glibc-headers-2.12-1.80.el6_3.4.x86_64
--> Processing Dependency:kernel-headers for package:glibc-headers-2.12-1.80.el6_3.4.x86_64
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
--> Running transaction check
---> Package kernel-uek-headers.x86_64 0:2.6.32-300.32.1.el6uek will be installed
---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
oracle-rdbms-server-11gR2-preinstall
x86_64 1.0-6.el6 ol6_latest 15 k
Installing for dependencies:
cloog-ppl x86_64 0.15.7-1.2.el6 ol6_latest 93 k
compat-libcap1 x86_64 1.10-1 ol6_latest 17 k
compat-libstdc++-33 x86_64 3.2.3-69.el6 ol6_latest 183 k
cpp x86_64 4.4.6-4.el6 ol6_latest 3.7 M
gcc x86_64 4.4.6-4.el6 ol6_latest 10 M
gcc-c++ x86_64 4.4.6-4.el6 ol6_latest 4.7 M
glibc-devel x86_64 2.12-1.80.el6_3.4 ol6_latest 970 k
glibc-headers x86_64 2.12-1.80.el6_3.4 ol6_latest 600 k
kernel-uek-headers x86_64 2.6.32-300.32.1.el6uek ol6_latest 713 k
ksh x86_64 20100621-16.el6 ol6_latest 684 k
libaio-devel x86_64 0.3.107-10.el6 ol6_latest 13 k
libstdc++-devel x86_64 4.4.6-4.el6 ol6_latest 1.5 M
mpfr x86_64 2.4.1-6.el6 ol6_latest 156 k
ppl x86_64 0.10.2-11.el6 ol6_latest 1.3 M
Transaction Summary
================================================================================
Install 15 Package(s)
Total download size:25 M
Installed size:61 M
Is this ok [y/N]:Downloading Packages:
--------------------------------------------------------------------------------
Total 710 kB/s | 25 MB 00:35
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing :mpfr-2.4.1-6.el6.x86_64 1/15
Installing :libstdc++-devel-4.4.6-4.el6.x86_64 2/15
Installing :cpp-4.4.6-4.el6.x86_64 3/15
Installing :ppl-0.10.2-11.el6.x86_64 4/15
Installing :cloog-ppl-0.15.7-1.2.el6.x86_64 5/15
Installing :kernel-uek-headers-2.6.32-300.32.1.el6uek.x86_64 6/15
Installing :glibc-headers-2.12-1.80.el6_3.4.x86_64 7/15
Installing :glibc-devel-2.12-1.80.el6_3.4.x86_64 8/15
Installing :gcc-4.4.6-4.el6.x86_64 9/15
Installing :gcc-c++-4.4.6-4.el6.x86_64 10/15
Installing :compat-libstdc++-33-3.2.3-69.el6.x86_64 11/15
Installing :libaio-devel-0.3.107-10.el6.x86_64 12/15
Installing :ksh-20100621-16.el6.x86_64 13/15
Installing :compat-libcap1-1.10-1.x86_64 14/15
Installing :oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 15/15
Verifying :gcc-4.4.6-4.el6.x86_64 1/15
Verifying :compat-libcap1-1.10-1.x86_64 2/15
Verifying :ksh-20100621-16.el6.x86_64 3/15
Verifying :glibc-devel-2.12-1.80.el6_3.4.x86_64 4/15
Verifying :libaio-devel-0.3.107-10.el6.x86_64 5/15
Verifying :oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64 6/15
Verifying :gcc-c++-4.4.6-4.el6.x86_64 7/15
Verifying :glibc-headers-2.12-1.80.el6_3.4.x86_64 8/15
Verifying :libstdc++-devel-4.4.6-4.el6.x86_64 9/15
Verifying :compat-libstdc++-33-3.2.3-69.el6.x86_64 10/15
Verifying :mpfr-2.4.1-6.el6.x86_64 11/15
Verifying :kernel-uek-headers-2.6.32-300.32.1.el6uek.x86_64 12/15
Verifying :cpp-4.4.6-4.el6.x86_64 13/15
Verifying :ppl-0.10.2-11.el6.x86_64 14/15
Verifying :cloog-ppl-0.15.7-1.2.el6.x86_64 15/15
Installed:
oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6
Dependency Installed:
cloog-ppl.x86_64 0:0.15.7-1.2.el6
compat-libcap1.x86_64 0:1.10-1
compat-libstdc++-33.x86_64 0:3.2.3-69.el6
cpp.x86_64 0:4.4.6-4.el6
gcc.x86_64 0:4.4.6-4.el6
gcc-c++.x86_64 0:4.4.6-4.el6
glibc-devel.x86_64 0:2.12-1.80.el6_3.4
glibc-headers.x86_64 0:2.12-1.80.el6_3.4
kernel-uek-headers.x86_64 0:2.6.32-300.32.1.el6uek
ksh.x86_64 0:20100621-16.el6
libaio-devel.x86_64 0:0.3.107-10.el6
libstdc++-devel.x86_64 0:4.4.6-4.el6
mpfr.x86_64 0:2.4.1-6.el6
ppl.x86_64 0:0.10.2-11.el6
Complete!
清单 1:安装 oracle-rdbms-server-11gR2-preinstall RPM
yum 安装过程在 /var/log/oracle-rdbms-server-11gR2-preinstall/results/orakernel.log 文件中记录有关内核更改的消息,并在 /var/log/oracle-rdbms-server-11gR2-preinstall/backup 目录中备份当前系统设置。
- 至此,系统已准备好,可以安装 Oracle 数据库了。举例来说,若要安装 Oracle Database 11g 第 2 版,请按照“适用于 Linux 的数据库安装指南”的第 4 章“安装 Oracle 数据库”中的说明进行操作。
下面介绍我在测试环境中安装 Oracle Database 11g 第 2 版的步骤。在生产环境中进行安装之前,请务必查看所有文档并遵循建议的最佳实践。
注:请注意,11g 第 2 版早期版本(11.2.0.1 和 11.2.0.2)中的安装程序将显示“缺少软件包”故障,例如,pdksh 软件包。这些可以安全地忽略掉,因为预安装 RPM 已经安装了 ksh 软件包(用于替代 pdksh )。该错误在安装程序的 11.2.0.3 版中已经修复。
Oracle Universal Installer 执行一些检查,验证是否已经安装必要的操作系统软件包和版本。此外,它还检查通过 oracle-rdbms-server-11gR2-preinstall 安装设置的内核参数。在内核设置检查期间,安装程序可能将一些设置标志为“failed”,您应对这些失败进行分析。在有些情况下,仍可以继续数据库安装。在检查 /etc/sysctl.conf 中的内核设置时,您会发现 oracle-rdbms-server-11gR2-preinstall 已经修改并且添加了必要的设置,以确保满足最低的要求,具体定义请参见适用于 Linux 的 Oracle 数据库安装指南 11g 第 2 版 (11.2) 第 2 章 Oracle 数据库安装前要求 中的 2.10.1 节“显示和更改内核参数值”。以下是要求清单: fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
如果需要,您可以(以 root 身份)编辑 /etc/sysctl.conf 文件来手动指定设置,例如: # vi /etc/sysctl.conf
# /sbin/sysctl -p
Oracle Universal Installer 还会执行其他检查,如验证 glibc 版本、磁盘空间是否足够、环境变量和路径设置,以及物理内存和交换空间是否足够。一般来说,安装 oracle-rdbms-server-11gR2-preinstall 即可满足先决条件,因此您可以直接继续安装数据库。
- 以
root 身份在一个具有足够空间的文件系统中创建一个父目录作为下载文件的目标位置:
# mkdir /home/OraDB11g
# cd /home/OraDB11g
该文件系统中所需的磁盘空间量随具体的安装类型而变化,但大概 zip 文件大小两倍的空间(即 5 GB)就足以容纳相应软件和数据文件。
- 从 Oracle 技术网上的 “Oracle 数据库软件下载”页面将安装媒体文件下载到此目标目录中。
- 解压缩文件:
# unzip linux.x64_11gR2_database_1of2.zip
# unzip linux.x64_11gR2_database_2of2.zip
- 以
oracle 用户身份登录。转到 database 目录并输入以下命令运行 Oracle Universal Installer:
$ cd /home/OraDB11g/database
$ ./runInstaller
总结
安装 oracle-rdbms-server-11gR2-preinstall RPM 可以节省在 Oracle Linux 上安装 Oracle Database 11g 的时间。RPM 能让系统满足 Oracle 数据库安装的大多数先决条件,从而极大地简化了安装过程。
另请参见
以下是本文前面所引用的资源:
以下是 Oracle Database 文档库中的一些其他资源:http://www.oracle.com/pls/db112/homepage。适用于 Linux 的 Oracle 数据库安装指南 11g 第 2 版 (11.2) (http://download.oracle.com/docs/cd/E11882_01/install.112/e16763/toc.htm) 中相关部分内容的当前有效 URL 如下:
您还可以查看博客条目“适用于 Oracle Linux 6 的 Oracle RDBMS Server 11gR2 预安装 RPM 现已发布”:https://blogs.oracle.com/linux/entry/oracle_rdbms_server_11gr2_pre
关于作者
在过去的 15 年里,Ginny Henningsen 一直以自由撰稿人的身份为高科技公司开发技术资料和文档。在此之前,Ginny 就职于 Sun Microsystems, Inc,曾在普鲁士王市(宾夕法尼亚州)和密尔沃基威(威斯康星州)担任系统工程师。Ginny 拥有卡内基 - 梅隆大学的学士学位以及维拉诺瓦大学的 MSCS 学位。
Michele Casey 是 Oracle Linux 产品管理总监。2006 年以来,她在 Linux 商业发行版和开源项目中担任项目经理职位。此外,她还担任了系统管理员、项目经理和技术支持工程师等职务。 |