在之前的文章中我推荐过使用oracle-validated RPM包来简化OEL 5上Oracle DB/RDBMS Server软件的安装准备工作, 而在OEL 6之后的Oracle Linux中一直没有oracle-validated RPM可用,直到最近Oracle Linux官方释出了oracle-rdbms-server-11gR2-preinstall RPM包,该oracle-rdbms-server-11gR2-preinstall package专门为Oracle Linux 6设计,辅助加速Oracle Database软件的安装。
我们可以访问 Unbreakable Linux Network 或者 Oracle public yum repository 获得该preinstall package RPM,这里我们介绍一下public yum的使用方法:
[root@vrh6 ~]# uname -a Linux vrh6 2.6.32-300.3.1.el6uek.x86_64 #1 SMP Fri Dec 9 18:57:35 EST 2011 x86_64 x86_64 x86_64 GNU/Linux [root@vrh6 ~]# cat /etc/issue Oracle Linux Server release 6.2 Kernel r on an m www.askmac.cn su - root [root@vrh6 ~]# cd /etc/yum.repos.d [root@vrh6 yum.repos.d]# wget http://public-yum.oracle.com/public-yum-ol6.repo --2012-04-02 07:52:31-- http://public-yum.oracle.com/public-yum-ol6.repo Resolving public-yum.oracle.com... 141.146.44.34 Connecting to public-yum.oracle.com|141.146.44.34|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1461 (1.4K) [text/plain] Saving to: “public-yum-ol6.repo” 100%[==============================================================================================================================>] 1,461 --.-K/s in 0.003s 2012-04-02 07:52:32 (536 KB/s) - “public-yum-ol6.repo” saved [1461/1461] [root@vrh6 yum.repos.d]# cat public-yum-ol6.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_ga_base] name=Oracle Linux $releasever GA installation media copy ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/0/base/$basearch/ gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 gpgcheck=1 enabled=0 [ol6_u1_base] name=Oracle Linux $releasever Update 1 installation media copy ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/1/base/$basearch/ gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 gpgcheck=1 enabled=0 [ol6_u2_base] name=Oracle Linux $releasever Update 2 installation media copy ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/2/base/$basearch/ gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 gpgcheck=1 enabled=0 [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=0 [ol6_UEK_base] name=Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch) baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/base/$basearch/ gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 gpgcheck=1 enabled=0 [root@vrh6 yum.repos.d]# yum install oracle-rdbms-server-11gR2-preinstall Loaded plugins: security ol6_latest | 1.1 kB 00:00 ol6_latest/primary | 15 MB 01:07 ol6_latest 14723/14723 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-3.el6 will be installed --> Processing Dependency: xorg-x11-utils for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: gcc for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: libstdc++-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: glibc-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: xorg-x11-xauth for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: libaio-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: ksh for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 --> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-11gR2-preinstall-1.0-3.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-3.el6 will be installed --> Processing Dependency: cpp = 4.4.6-3.el6 for package: gcc-4.4.6-3.el6.x86_64 --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.6-3.el6.x86_64 ---> Package gcc-c++.x86_64 0:4.4.6-3.el6 will be installed --> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.6-3.el6.x86_64 ---> Package glibc-devel.x86_64 0:2.12-1.47.el6_2.9 will be installed --> Processing Dependency: glibc = 2.12-1.47.el6_2.9 for package: glibc-devel-2.12-1.47.el6_2.9.x86_64 --> Processing Dependency: glibc-headers = 2.12-1.47.el6_2.9 for package: glibc-devel-2.12-1.47.el6_2.9.x86_64 --> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.47.el6_2.9.x86_64 ---> Package ksh.x86_64 0:20100621-12.el6_2.1 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-3.el6 will be installed ---> Package xorg-x11-utils.x86_64 0:7.4-8.el6 will be installed --> Processing Dependency: libXxf86misc.so.1()(64bit) for package: xorg-x11-utils-7.4-8.el6.x86_64 --> Processing Dependency: libdmx.so.1()(64bit) for package: xorg-x11-utils-7.4-8.el6.x86_64 --> Processing Dependency: libXmuu.so.1()(64bit) for package: xorg-x11-utils-7.4-8.el6.x86_64 --> Processing Dependency: libXxf86dga.so.1()(64bit) for package: xorg-x11-utils-7.4-8.el6.x86_64 ---> Package xorg-x11-xauth.x86_64 1:1.0.2-7.1.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-3.el6 will be installed ---> Package glibc.x86_64 0:2.12-1.47.el6 will be updated --> Processing Dependency: glibc = 2.12-1.47.el6 for package: glibc-common-2.12-1.47.el6.x86_64 ---> Package glibc.x86_64 0:2.12-1.47.el6_2.9 will be an update ---> Package glibc-headers.x86_64 0:2.12-1.47.el6_2.9 will be installed --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.47.el6_2.9.x86_64 --> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.47.el6_2.9.x86_64 ---> Package libXmu.x86_64 0:1.0.5-1.el6 will be installed ---> Package libXxf86dga.x86_64 0:1.1.1-1.el6 will be installed ---> Package libXxf86misc.x86_64 0:1.0.2-1.el6 will be installed ---> Package libdmx.x86_64 0:1.1.0-1.el6 will be installed ---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed --> Running transaction check ---> Package glibc-common.x86_64 0:2.12-1.47.el6 will be updated ---> Package glibc-common.x86_64 0:2.12-1.47.el6_2.9 will be an update ---> Package kernel-uek-headers.x86_64 0:2.6.32-300.11.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-3.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-3.el6 ol6_latest 3.7 M gcc x86_64 4.4.6-3.el6 ol6_latest 10 M gcc-c++ x86_64 4.4.6-3.el6 ol6_latest 4.7 M glibc-devel x86_64 2.12-1.47.el6_2.9 ol6_latest 966 k glibc-headers x86_64 2.12-1.47.el6_2.9 ol6_latest 597 k kernel-uek-headers x86_64 2.6.32-300.11.1.el6uek ol6_latest 702 k ksh x86_64 20100621-12.el6_2.1 ol6_latest 683 k libXmu x86_64 1.0.5-1.el6 ol6_latest 58 k libXxf86dga x86_64 1.1.1-1.el6 ol6_latest 21 k libXxf86misc x86_64 1.0.2-1.el6 ol6_latest 15 k libaio-devel x86_64 0.3.107-10.el6 ol6_latest 13 k libdmx x86_64 1.1.0-1.el6 ol6_latest 16 k libstdc++-devel x86_64 4.4.6-3.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 xorg-x11-utils x86_64 7.4-8.el6 ol6_latest 87 k xorg-x11-xauth x86_64 1:1.0.2-7.1.el6 ol6_latest 34 k Updating for dependencies: glibc x86_64 2.12-1.47.el6_2.9 ol6_latest 3.8 M glibc-common x86_64 2.12-1.47.el6_2.9 ol6_latest 14 M Transaction Summary ======================================================================================================================================================================== Install 21 Package(s) Upgrade 2 Package(s) Total download size: 43 M Is this ok [y/N]: y Downloading Packages: (1/23): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm | 93 kB 00:01 (2/23): compat-libcap1-1.10-1.x86_64.rpm | 17 kB 00:00 (3/23): compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm | 183 kB 00:01 (4/23): cpp-4.4.6-3.el6.x86_64.rpm | 3.7 MB 00:28 (5/23): gcc-4.4.6-3.el6.x86_64.rpm | 10 MB 00:57 (6/23): gcc-c++-4.4.6-3.el6.x86_64.rpm | 4.7 MB 00:29 (7/23): glibc-2.12-1.47.el6_2.9.x86_64.rpm | 3.8 MB 00:19 (8/23): glibc-common-2.12-1.47.el6_2.9.x86_64.rpm | 14 MB 01:13 (9/23): glibc-devel-2.12-1.47.el6_2.9.x86_64.rpm | 966 kB 00:10 (10/23): glibc-headers-2.12-1.47.el6_2.9.x86_64.rpm | 597 kB 00:03 (11/23): kernel-uek-headers-2.6.32-300.11.1.el6uek.x86_64.rpm | 702 kB 00:03 (12/23): ksh-20100621-12.el6_2.1.x86_64.rpm | 683 kB 00:03 (13/23): libXmu-1.0.5-1.el6.x86_64.rpm | 58 kB 00:00 (14/23): libXxf86dga-1.1.1-1.el6.x86_64.rpm | 21 kB 00:00 (15/23): libXxf86misc-1.0.2-1.el6.x86_64.rpm | 15 kB 00:00 (16/23): libaio-devel-0.3.107-10.el6.x86_64.rpm | 13 kB 00:00 (17/23): libdmx-1.1.0-1.el6.x86_64.rpm | 16 kB 00:00 (18/23): libstdc++-devel-4.4.6-3.el6.x86_64.rpm | 1.5 MB 00:08 (19/23): mpfr-2.4.1-6.el6.x86_64.rpm | 156 kB 00:01 (20/23): oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64.rpm | 15 kB 00:00 (21/23): ppl-0.10.2-11.el6.x86_64.rpm | 1.3 MB 00:07 (22/23): xorg-x11-utils-7.4-8.el6.x86_64.rpm | 87 kB 00:00 (23/23): xorg-x11-xauth-1.0.2-7.1.el6.x86_64.rpm | 34 kB 00:00 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Total 166 kB/s | 43 MB 04:23 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Retrieving key from http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 Importing GPG key 0xEC551F03: Userid: "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>" From : http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Updating : glibc-common-2.12-1.47.el6_2.9.x86_64 1/25 Updating : glibc-2.12-1.47.el6_2.9.x86_64 2/25 Installing : mpfr-2.4.1-6.el6.x86_64 3/25 Installing : libXmu-1.0.5-1.el6.x86_64 4/25 Installing : libstdc++-devel-4.4.6-3.el6.x86_64 5/25 Installing : 1:xorg-x11-xauth-1.0.2-7.1.el6.x86_64 6/25 Installing : cpp-4.4.6-3.el6.x86_64 7/25 Installing : compat-libcap1-1.10-1.x86_64 8/25 Installing : compat-libstdc++-33-3.2.3-69.el6.x86_64 9/25 Installing : libXxf86dga-1.1.1-1.el6.x86_64 10/25 Installing : libXxf86misc-1.0.2-1.el6.x86_64 11/25 Installing : libdmx-1.1.0-1.el6.x86_64 12/25 Installing : xorg-x11-utils-7.4-8.el6.x86_64 13/25 Installing : ppl-0.10.2-11.el6.x86_64 14/25 Installing : cloog-ppl-0.15.7-1.2.el6.x86_64 15/25 Installing : ksh-20100621-12.el6_2.1.x86_64 16/25 Installing : kernel-uek-headers-2.6.32-300.11.1.el6uek.x86_64 17/25 Installing : glibc-headers-2.12-1.47.el6_2.9.x86_64 18/25 Installing : glibc-devel-2.12-1.47.el6_2.9.x86_64 19/25 Installing : gcc-4.4.6-3.el6.x86_64 20/25 Installing : gcc-c++-4.4.6-3.el6.x86_64 21/25 Installing : libaio-devel-0.3.107-10.el6.x86_64 22/25 Installing : oracle-rdbms-server-11gR2-preinstall-1.0-3.el6.x86_64 23/25 Cleanup : glibc-common-2.12-1.47.el6.x86_64 24/25 Cleanup : glibc-2.12-1.47.el6.x86_64 25/25 Installed: oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-3.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-3.el6 gcc.x86_64 0:4.4.6-3.el6 gcc-c++.x86_64 0:4.4.6-3.el6 glibc-devel.x86_64 0:2.12-1.47.el6_2.9 glibc-headers.x86_64 0:2.12-1.47.el6_2.9 kernel-uek-headers.x86_64 0:2.6.32-300.11.1.el6uek ksh.x86_64 0:20100621-12.el6_2.1 libXmu.x86_64 0:1.0.5-1.el6 libXxf86dga.x86_64 0:1.1.1-1.el6 libXxf86misc.x86_64 0:1.0.2-1.el6 libaio-devel.x86_64 0:0.3.107-10.el6 libdmx.x86_64 0:1.1.0-1.el6 libstdc++-devel.x86_64 0:4.4.6-3.el6 mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6 xorg-x11-utils.x86_64 0:7.4-8.el6 xorg-x11-xauth.x86_64 1:1.0.2-7.1.el6 Dependency Updated: glibc.x86_64 0:2.12-1.47.el6_2.9 glibc-common.x86_64 0:2.12-1.47.el6_2.9 Complete!
注意该oracle-rdbms-server-11gR2-preinstall目前只有x86-64位的版本,即在x86的Oracle Linux 6上不可用。
与oracle-validated RPM类似,oracle-rdbms-server-11gR2-preinstall会为我们完成以下工作:
1. 从oracle Public YUM上下载并安装多个特定的软件包并保证其为指定的版本(如以上示例),这些软件包software package是安装Oracle DB/RDBMS Server 11gR2数据库软件的先决条件之一
2. 创建 oracle OS用户user,以及 oinstall 和 dba 用户组group
3. 修改/etc/sysctl.conf配置文件中的内核参数,以保证oracle instance实例可以健康运行
安装完成后的 /etc/sysctl.conf 内容如下:
[root@vrh6 yum.repos.d]# cat /etc/sysctl.conf # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Do not accept source routing net.ipv4.conf.default.accept_source_route = 0 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1 # Controls the use of TCP syncookies net.ipv4.tcp_syncookies = 1 # Disable netfilter on bridges. net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 # Controls the maximum size of a message, in bytes kernel.msgmnb = 65536 # Controls the default maxmimum size of a mesage queue kernel.msgmax = 65536 # Controls the maximum shared segment size, in bytes # Controls the maximum number of shared memory segments, in pages # oracle-rdbms-server-11gR2-preinstall setting for fs.file-max is 6815744 fs.file-max = 6815744 # oracle-rdbms-server-11gR2-preinstall setting for kernel.sem is '250 32000 100 128' kernel.sem = 250 32000 100 128 # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmni is 4096 kernel.shmmni = 4096 # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmall is 1073741824 kernel.shmall = 1073741824 # oracle-rdbms-server-11gR2-preinstall setting for kernel.shmmax is 4398046511104 on x86_64 kernel.shmmax = 4398046511104 # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_default is 262144 net.core.rmem_default = 262144 # oracle-rdbms-server-11gR2-preinstall setting for net.core.rmem_max is 4194304 net.core.rmem_max = 4194304 # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_default is 262144 net.core.wmem_default = 262144 # oracle-rdbms-server-11gR2-preinstall setting for net.core.wmem_max is 1048576 net.core.wmem_max = 1048576 # oracle-rdbms-server-11gR2-preinstall setting for fs.aio-max-nr is 1048576 fs.aio-max-nr = 1048576 # oracle-rdbms-server-11gR2-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500 net.ipv4.ip_local_port_range = 9000 65500
4. 修改/etc/security/limits.conf配置文件 保证 oracle用户的shell soft/hard limit,例如nofile、stack等参数足够, 以符合Oracle 11gR2的安装要求
安装完成后的 /etc/security/limits.conf内容如下:
# oracle-rdbms-server-11gR2-preinstall setting for nofile soft limit is 1024 oracle soft nofile 1024 # oracle-rdbms-server-11gR2-preinstall setting for nofile hard limit is 65536 oracle hard nofile 65536 # oracle-rdbms-server-11gR2-preinstall setting for nproc soft limit is 2047 oracle soft nproc 2047 # oracle-rdbms-server-11gR2-preinstall setting for nproc hard limit is 16384 oracle hard nproc 16384 # oracle-rdbms-server-11gR2-preinstall setting for stack soft limit is 10240KB oracle soft stack 10240 # oracle-rdbms-server-11gR2-preinstall setting for stack hard limit is 10240KB oracle hard stack 32768
5. 为 x86-64的服务器设置kernel boot 内核启动参数numa=off ,关闭numa功能:
[root@vrh6 ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_vrh6-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Oracle Linux Server-uek (2.6.32-300.3.1.el6uek.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-300.3.1.el6uek.x86_64 ro root=/dev/mapper/vg_vrh6-lv_root rd_LVM_LV=vg_vrh6/lv_swap rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb rd_LVM_LV=vg_vrh6/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM
numa=off
initrd /initramfs-2.6.32-300.3.1.el6uek.x86_64.img
title Oracle Linux Server (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/vg_vrh6-lv_root rd_LVM_LV=vg_vrh6/lv_swap rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_LVM_LV=vg_vrh6/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM numa=off
initrd /initramfs-2.6.32-220.el6.x86_64.img