时间:2021-07-01 10:21:17 帮助过:45人阅读
OracleRAC数据库的安装相对单机数据库复杂一些,因为整个安装过程涉及网络、操作系统、存储等方面,一个环节设置不当,都可能导致安装失败。本文将详细的讲述RAC
Oracle RAC数据库的安装相对单机数据库复杂一些,因为整个安装过程涉及网络、操作系统、存储等方面,一个环节设置不当,都可能导致安装失败。本文将详细的讲述RAC数据库的安装过程。
1、 安装前的系统配置需求
安装Oracle Rac数据库需要的组件可以分为软硬件两部分,下面是一个软硬件推荐配置:
为了方便安装RAC数据库,在安装操作系统时,建议选择如下系统包:
更详细的拓扑结构信息,参看下图
Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址、主机名以及网络连接类型:
2、设置数据库安装资源
安装RAC数据库需要的软件包分为三个部分,分别是oracle RAC安装程序包、Oracle ASMLib工具包以及系统补丁包。这里Oracle的安装版本为oracle11g,详细的软件包信息如下:
(1)Oracle 11g Release 1 (11.1.0.6.0)软件包
下载地址:
软件包名称:
linux_11gR1_database_1013.zip
linux_x86_11gR1_clusterware.zip
软件包说明:总共需要下载两个安装程序,一个是Oracle Rac安装程序包,另一个是Oracle ClusterWare安装程序包。
(2)Oracle ASMLib工具包
下载地址:
软件包名称:
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-2.6.18-194.11.1.el5-2.0.5-1.el5.i686.rpm
oracleasm-support-2.1.3-1.el5.i386.rpm
软件包说明:这三个软件包是使用ASM存储管理方式必须的驱动工具包。
(3)系统补丁包
下载地址:
软件包名称:redhat-release-5-1.0.el5.centos.1.i386.rpm
软件包说明:由于Centos不在Oracle支持平台之列,所以安装检测时无法通过的,通过安装这个软件包,香港服务器租用,可以使安装检测顺利通过。
3、配置主机解析文件
为了使每个主机间可以正常通信,需要在每个节点上修改本地解析文件,即/etc/hosts文件,在两个节点上添加如下配置信息:
4、检查所需软件包
在每个节点上执行相同的操作:
执行下面的命令:
rpm -q make binutils libaio-devel libaio elfutils-libelf-devel compat-libstdc++-33 libgcc gcc gcc-c++ glibc sysstat libstdc++ libstdc++-devel unixODBC-devel unixODBC
如果出现某个软件包没有安装,请安装该软件包。
5、配置系统内核参数
由于Linux的内核参数信息都存在内存中,可以通过命令直接修改,并且修改后直接生效,但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。
Oracle对Linux系统内核参数有严格的要求,如果设置不当,网站空间,就会导致安装失败,编辑/etc/sysctl.conf文件,修改后的参数配置如下所示:
下面简单讲述下常用的几个内核参数的含义:
kernel.shmmax:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存一半,不过大一点也没关系,这里设定的为1G。
kernel.shmmni:表示单个共享内存段的最小值,一般为4KB,即4096bit
kernel.shmall:表示可用共享内存的总量,单位是页,在32位系统上一页等于4k,也就是4096字节。
fs.file-max:表示文件句柄的最大数量。文件句柄表示在linux系统中可以打开的文件数量。
net.ipv4.ip_local_port_range:表示端口的范围,香港服务器,为指定的内容。
kernel.sem:用来设置Linux的信号量。
可以使用以下命令查看:
[root@node-rac1 rac]#cat /proc/sys/kernel/sem
250 32000 32 128
对于输出的这四个值的含义,分别介绍如下:
SEMMSL:此参数用于控制每个信号集的最大信号数,Oracle建议将SEMMNI设置为不小于100。
SEMMNS:此参数用于控制整个Linux系统中信号(而不是信号集)的最大数量。
SEMOPM:此参数用于控制每个semop系统调用可以执行的信号操作数,Oracle建议将SEMOPM的值设置为不少于100
SEMMNI:此内核参数用于控制整个Linux系统中信号集的最大数量,Oracle建议将SEMMNI设置为不小于100。
6、设置 Shell对Oracle用户的限制
以root用户身份,在每个节点上执行相同的操作。
首先,修改/etc/security/limits.conf,在文件最后添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
接着,修改/etc/pam.d/login,在文件最后添加如下内容:
session required /lib/security/pam_limits.so
最后,修改/etc/profile,在文件最后添加如下内容:
所有修改完毕,重启所有Linux系统。
7、配置hangcheck-timer内核模块
以root用户身份执行,在所有节点上做如下配置。
查看模块是否存在:
[root@node-rac1 ~]#find /lib/modules -name "hangcheck-timer.ko"
接着,编辑/etc/modprobe.conf:
[root@node-rac1 ~]# vi /etc/modprobe.conf
在文件的末尾加入一行:
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
然后,将hangcheck-timer模块配置为自启动:
[root@node-rac1 ~]#vi /etc/rc.d/rc.local
在文件的末尾加入一行:
/sbin/modprobe hangcheck_timer
接着,启动hangcheck:
[root@node-rac1 ~]# /sbin/modprobe hangcheck_timer
最后,检查hangcheck是否成功启动:
[root@node-rac1 ~]#grep hangcheck /var/log/messages | tail -2
Aug 26 19:08:17 Mysql1 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 30 seconds, margin is 180 seconds).
如果显示上面输出信息说明已经成功启动hangcheck。