Oraclerac安装过程详解(二)
文章作者 100test 发表时间 2007:05:07 16:26:06
来源 100Test.Com百考试题网
打补丁到 OCM 9.2.0.4
需要先打OCM的补丁.我第一次装的时候,先装了数据库软件,然后升级OCM,然后打数据库的补丁.但打数据库的补丁时,因为没有出现选择节点的画面,让我误认为OCM升级失败,只得将软件全部删掉重新装.
但先打OCM的补丁,打数据库软件的补丁时,也没有出现选择节点的画面,我硬着头皮装下去,结果能正确将补丁打上.不知道在多节点集群环境中,是不是也不出现选择节点的画面.
将补丁包解开,运行runInstaller,打补丁 OCM 9.2.0.4 .
过程跟安装OCM 9.2.0.1类似.
配置RAC,并启动
OCM9.2.0.4使用hangcheck-timer来代替watchdog,因此手工修改配置文件和启动文件.
先检查模块是否已经安装,看这个文件是否存在:
/lib/modules/2.4.21-4.EL/kernel/drivers/char/hangcheck-timer.o
如果不存在,则需要安装.
因为我的系统中,有这个文件,我就没有去找这个文件到底在哪个包中,所以,我也不知道该装哪个包!
配置内核模块,使用hangcheck-timer代替watchdog:
# lsmod | grep watchdog
应该没有输出.否则使用
# rmmod 命令去掉这个模块.
然后加载hangcheck-timer模块
# insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
Using /lib/modules/2.4.21-4.EL/kernel/drivers/char/hangcheck-timer.o
确认模块已经加载:
# lsmod | grep hang
hangcheck-timer 2648 0 (unused)
使系统一启动就加载这个模块,需要在/etc/rc.local文件最后加入一行:
/sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
修改配置文件和启动文件:
$ORACLE_HOME/oracm/bin/ocmstart.sh
启动命令行.将所有有关watchdog的行全部注释掉.将这几行注释为以下的样子:
# watchdogd s default log file
# WATCHDOGD_LOG_FILE=$ORACLE_HOME/oracm/log/wdd.log
# watchdogd s default backup file
# WATCHDOGD_BAK_FILE=$ORACLE_HOME/oracm/log/wdd.log.bak
# Get arguments
# watchdogd_args=`grep ^watchdogd $OCMARGS_FILE |\
# sed -e s ^watchdogd * `
# Check watchdogd s existance
# if watchdogd status | grep Watchdog daemon active >/dev/null
# then
# echo ocmstart.sh: Error: watchdogd is already running
# exit 1
# fi
# Backup the old watchdogd log
# if test -r $WATCHDOGD_LOG_FILE
# then
# mv $WATCHDOGD_LOG_FILE $WATCHDOGD_BAK_FILE
# fi
# Startup watchdogd
# echo watchdogd $watchdogd_args
# watchdogd $watchdogd_args
$ORACLE_HOME/oracm/admin/ocmargs.ora
参数文件,去掉或注释掉下面这行:
watchdogd
$ORACLE_HOME/oracm/admin/cmcfg.ora
配置文件.将cmcfg.ora.tmp拷贝为cmcfg.ora文件,并修改成以下样子:
HeartBeat=15000
ClusterName=Oracle Cluster Manager, version 9i
PollInterval=1000
MissCount=210
PrivateNodeNames=hostname
PublicNodeNames=hostname
ServicePort=9998
HostName=ao-040
CmDiskFile=/u02/rac/RacFile
KernelModuleName=hangcheck-timer
其中,PrivateNodeNames和PublicNodeNames要跟你安装OCM时填入的hostname相同.
CmDiskFile要跟你先前生成的Quorum Disk File一样.
最后一行确认使用hangcheck-timer模块.
启动OCM:
官方文档中,创建了一个启动脚本,因为是用来玩,就省略了这一步.用命令行来启动:
$ su
# cd $ORACLE_HOME/oracm/bin
# ./ocmstart.sh
oracm &.1 >/u01/app/oracle/product/9.2.0.4.0/oracm/log/cm.out &.
如果启动太频繁,可能会报错:
ocmstart.sh: Error: Restart is too frequent
ocmstart.sh: Info: Check the system configuration and fix the problem.
ocmstart.sh: Info: After you fixed the problem, remove the timestamp file
ocmstart.sh: Info: "/u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts"
这时,用
# killall oracm
# ps -ef | grep oracm
来确认OCM没有启动.再将/u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts文件删除了就可以启动了.
# rm -f /u01/app/oracle/product/9.2.0.4.0/oracm/log/ocmstart.ts
# ./ocmstart.sh
oracm &.1 >/u01/app/oracle/product/9.2.0.4.0/oracm/log/cm.out &.