前言:在RedHat Advance Server上安装Oracle 9204 RAC 定位 本文定位在那些有了一定Linux与oracle基础的,而且对RAC也要有相关了解热人员作为参考手册,而不是所谓的安装向导。所以本文没有详细的安装过程之类的步骤,却有详细的安装错误的解决办法。
覆盖范围 适合在Redhet AS 2.1与AS 3.0系统上
包括单节点、多节点安装
包括9201升级到9204和直接安装9204
包括文件系统(单机),OCFS文件系统,RAW设备与NFS网络文件系统的安装异同
第一章. RAC的机制 RAC起源于版本8的OPS(Oracle parallel Server),OPS/RAC 最原始的设计初衷就是系统与应用的高可用性。OPS/RAC通过不同的节点使用一个(一般是一个)或多个oracle instances 与一个database 连接。RAC对早期的OPS做了众多的改进,特别是在节点的通信与管理上。RAC在工作期间,每个节点可以单独的被使用并且被应用程序负载均衡。如果发生意外,如一个节点的失败,可以实现节点的失败切换(failover),保证数据库24*7的高可用性。
RAC的数据库要求建立在共享磁盘设备上,对于OPS,只支持RAW设备,RAC已经可以支持文件系统(单机模拟)、OCFS、RAW、与NFS等文件系统或者设备。因为RAC是多个实例对应一个数据库,每个节点都有自己的日志,因此在备份与恢复方面,将需要一些特殊的处理。
但是,RAC并不提供容灾的功能,如共享磁盘设备的损坏,自然灾害等不可避免的损失,将导致RAC的不可使用,所以,RAC一般与其它的容灾组件配合使用,如RAC+DATA GUARD。
取代以前版本的分布式锁管理(DLM),全局缓冲服务(GCS)与全局锁服务(GES)将负责RAC的管理工作。GCS的同步层允许每个实例单独的访问数据库,通过数据库的核心层管理实例级别的一致性与锁资源。所有的以上任务将被一组特殊的后台进程来完成:
LMON (Lock Monitor Process),锁监控进程
责监控整个RAC的全局资源,管理实例与进程的过期以及全局缓冲服务与全局锁服务的恢复工作,LMON提供一个众所周知的聚族组服务(CGS)。
LMSn(The Global Cache Service Processes),全局缓冲服务进程
LMSn可以处理远程节点的全局缓冲服务的信息,LMSn也负责控制到远程节点的信息流,RAC可以提供10个这样的服务进程LMS0-LMS9,其进程的多少取决于实例之间的通信量。LMSn负责处理远程节点的全局缓冲服务获得的中断请求,保证多个实例的读一致性请求。LMSn创建块的一致性的读信息并送到远程节点的实例。
LMD(The Global Enqueue Service Daemon),全局资源服务
LMD资源代理进程,负责管理全局缓冲服务资源的管理,可以负责远程节点资源的请求与死锁的检测。
第二章. Linux上安装RAC的系统要求 2.1 内核需求 如果是如果是AS2.1,内核2.4.9 e16以上,如
[oracle@dbrac oracle]$ uname -a
Linux dbrac 2.4.9-e.37enterprise #1 SMP Mon Jan 26 11:20:59 EST 2004 i686 unknown
如果是3.0版本,则没有内核要求,内核信息一般如下
[root@ dbrac oracle]$ uname -a
Linux dbrac 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 i386 GNU/Linux
2.2 binutils需求 binutils 要求binutils-2.11.90.0.8-12以上,如
如:2.1版本
[oracle@dbrac oracle]$ rpm -qa | grep -i binutils
binutils-2.11.90.0.8-12
3.0版本
[root@ dbrac oracle]$ rpm -qa | grep -i binutils
binutils-2.14.90.0.4-26
2.3 共享磁盘需求 如果是单节点安装,可以是本地硬盘,文件系统即可
如果是多节点安装,需要共享磁盘系统,可以是Raw设备,Ocfs文件系统,Nfs网络文件系统等。
第三章.安装前的准备工作 3.1调整Linux核心参数 在/etc/sysctl.conf中增加
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.ipv4.tcp_sack=0
net.ipv4.tcp_timestamps=0
fs.file-max = 65535
kernel.sem = 500 64000 100 128
kernel.shmmax = 2147483648
以上值根据不同的环境可能有变化,不再描述每个值的具体意义
3.2加载系统状态检查模块 这个模块在AS2.1-E16以上的核心或者是3.0的核心中是自带的,不需要安装,它取代了数据库9201版本的watchdog,所以,我们可以不需要配置watchdog,如果OS核心不够,可以升级核心。
可以通过如下方法检测是否存在该模块
$ find /lib/modules -name "hangcheck-timer.o"
/lib/modules/2.4.9-e.37enterprise/kernel/drivers/char/hangcheck-timer.o
你可以运行该模块并检查日志信息
# su - root
# /sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
# grep Hangcheck /var/log/messages |tail -1
在/etc/rc.local下增加
#!/bin/sh
touch /var/lock/subsys/local
/sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
或者
# su - root
# echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180" >> /etc/modules.conf
这样的话,在系统重新启动后,该模块可以自动加载
3.3确定与配置节点 如果确定在单个节点上模拟RAC,那么/etc/hosts文件内容可以类似如下
[root@dbrac root]# more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
10.0.29.162 dbrac
其中dbrac是该机器的机器名称,与hostname或/etc/sysconfig/network的内容一致
如果是在多节点上安装RAC,那么/etc/hosts文件内容可以类似如下
[oracle@db205 oracle]$ more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
192.168.168.205 dbrac1
192.168.168.206 dbrac2
192.168.0.205 dbrac1-eth1
192.168.0.206 dbrac1-eth1
其中分别代表公用节点名称与私有节点名称,公用节点是网卡1配置的IP地址,表示对外应用程序连接通道;私有节点是网卡2配置的IP地址,用于多个节点之间的通信专用。
3.4创建oracle用户与组 #groupadd dba
#useradd oracle -g dba
#passwd oracle
3.5设置节点环境变量 如果是AS 3.0,注意设置如下参数
export LD_ASSUME_KERNEL=2.4.1
以下参数在两个平台下公用
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/ora920
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
3.6准备目录结构 su - oracle
$cd $ORACLE_BASE
$ mkdir -p admin/rac/ ---存放配置文件
$ cd admin/rac/
$ mkdir bdump cdump udump createdblog
$cd $ORACLE_BASE
$ mkdir -p oradata/rac ----存放数据文件
注意:以上操作,如果是多个节点,需要在多个节点上完成 ,单个节点只需要在单节点上完成即可。
|
阅读(302) | 评论(0) | 转发(0) |