当前位置:Gxlcms > mysql > Oracle系列:安装OracleRAC数据库(一)

Oracle系列:安装OracleRAC数据库(一)

时间:2021-07-01 10:21:17 帮助过:45人阅读

OracleRAC数据库的安装相对单机数据库复杂一些,因为整个安装过程涉及网络、操作系统、存储等方面,一个环节设置不当,都可能导致安装失败。本文将详细的讲述RAC

Oracle RAC数据库的安装相对单机数据库复杂一些,因为整个安装过程涉及网络、操作系统、存储等方面,一个环节设置不当,都可能导致安装失败。本文将详细的讲述RAC数据库的安装过程。

1、 安装前的系统配置需求
安装Oracle Rac数据库需要的组件可以分为软硬件两部分,下面是一个软硬件推荐配置:


为了方便安装RAC数据库,在安装操作系统时,建议选择如下系统包:

  • 桌面环境:xwindows system、GNOME desktop environment。
  •  开发工具:development tools、x software development、gnome software development、kde software development。
  • 更详细的拓扑结构信息,参看下图

    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。

    人气教程排行