startup upgrade spool patch.log
@?/rdbms/admin/catupgrd.sql spool off;
shutdown immediate startup
@?/rdbms/admin/utlrp.sql
alter system set cluster_database=true scope=spfile;
安装完成后的检查
srvctl config database -d hrdb
#查看listener.ora和tnsnames.ora文件中的内容配置是否合适,尤其是主机的vip和主机固定ip设置
#检查、修改oracle的配置参数
通过以上操作,4个节点的RAC就安装完成了。
备份voting盘
#查看用到的表决盘列表 crsctl query css votedisk #备份
dd if=/dev/上面命令的输出 of=voteDisk.back
oracle Cluster Repository(OCR) 维护(ocrconfig)
ocr包含10g RAC和CRS的关于cluster和database的配置信息;ocr是被oracle自动备份的; 也可以通过:ocrconfig -export 命令进行备份
#restoring(还原)OCR
1.停止 oracle cluster registry(需要在所有节点运行) init.crs stop
2.查找最近的备份文件信息
ocrconfig –showbackup
3.应用找到的备份文件进行还原 Ocrconfig –restore fileName
4.启动CRS(需要在所有节点运行) init.crs start
附录:
遇到的问题1:
在创建asm实例的时候遇到vip出错,提示vip不可用。
运行crs_stat –t查看,果然ehr01的vip飘到ehr02的主机上,ehr02的主机vip offline. 重新启动crs进程: crs_stop –all crs_start –all
发现如下错误: CRS-0223: Resource 'ora.lo-ehr02.ASM1.asm' has placement error 同样ehr01的vip飘到ehr02的主机上,ehr02的主机vip offline.
检查网络设置,发现ehr01的/etc/rc.config.d/netconf中的配置有问题,注释掉错误的设置,并修改ROUTE_COUNT[0]=0为ROUTE_COUNT[0]=1
重新启动crs: crs_stop –all crs_start –all 检查状态: crs_stat –t
这次一切正常。
继续创建asm实例,选中多个指定的disk后,发现只能mount两个节点,其余两个不能mount。查看不能mount的节点的asm日志,发现如下错误: SQL> ALTER DISKGROUP ALL MOUNT Mon Sep 10 16:29:17 2007
NOTE: cache registered group DATA number=1 incarn=0x5864b471 Mon Sep 10 16:29:18 2007
ERROR: no PST quorum in group 1: required 2, found 0 Mon Sep 10 16:29:18 2007
NOTE: cache dismounting group 1/0x5864B471 (DATA) NOTE: dbwr not being msg'd to dismount ERROR: diskgroup DATA was not mounted Mon Sep 10 16:32:20 2007
经过检查,安装过程没有错误,最后怀疑是指定磁盘的4个节点的磁盘通道配置不一直。为验证是否是这个原因,找了一块明确磁盘通道配置没有问题的磁盘来创建asm,结果4个节点都可以mount上,没有问题。从而确认上面的怀疑是正确的。找硬件厂协商。今天到此为止。 第二天,硬件工程师也没有修改,原因是要耗时3个小时才能改完。不过有一个替代的方案。就是把所有相关的磁盘都加到asm中。
继续测试,把asm_diskstring修改为:
asm_diskstring= /dev/rdisk/disk8*,/dev/rdisk/disk7,*/dev/rdisk/disk6* 总共26块磁盘做一个diskgroup.
继续创建asm,这次顺利的创建了asm实例。
创建asm过程用到了如下操作:
dd if=/dev/zero of=/dev/rdisk/disk83 bs=8192 count=16384 dd if=/dev/zero of=/dev/rdisk/disk84 bs=8192 count=16384 dd if=/dev/zero of=/dev/rdisk/disk85 bs=8192 count=16384 因为,第一次创建asm的时候用到过,再次选择这些磁盘的时候,这些磁盘的状态是member,而不是candidates,导致无法利用,所以需要上面的操作,删除标记的数据
遇到的问题2
升级数据库程序运行完成后,启动asm时,无法启动,如下错误: SQL> alter diskgroup data mount; alter diskgroup data mount *
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15063: ASM discovered an insufficient number of disks for diskgroup \
经metalink查找,发现这个问题是oracle的bug,修改方法是更改/usr/sbin/lvmchk文件名为其它名字,更改后重新启动asm实例,一切正常。
遇到的问题3
rac运行一段时间后,客户数其中的一台node无法启动数据库,crs_stat也无法运行; 查看crs的log发现存在很多的如下提示:
[ CSSCLNT][3086911168]clsssInitNative: connect failed, rc 9
最后确认这个问题的原因是表决盘、ocr、和asm使用的磁盘的owner和权限被改了,修改到正确的owner和权限后,实例可以正常启动。
停止数据库和ClusterWare的方法 #oracle用户执行:
Oracle用户在一个节点执行:
srvctl stop database -d fidb srvctl stop asm -n ncfi01 srvctl stop asm -n ncfi02 srvctl stop asm -n ncfi11 srvctl stop asm -n ncfi12 srvctl stop listener -n ncfi01 srvctl stop listener -n ncfi02 srvctl stop listener -n ncfi11 srvctl stop listener -n ncfi12
#root用户在每个节点分别执行: srvctl stop nodeapps –n nodeName /oracle/product/CRS/bin/crsctl stop crs
手动启动oracle数据库
(在hp-ux 11.31上默认数据库随着系统自动启动,因为启动文件加到了/sbin/init.d/目录下) #root用户在每个节点分别执行: /oracle/product/CRS/bin/crsctl start crs
查看crs的版本信息:
#lists the version of CRS software installed
crsctl query crs softwareversion [
删除oracle clusterWare的方法 #root用户执行:
/oracle/product/CRS/install/rootdelete.sh /oracle/product/CRS/install/rootdeinstall.sh #Stop the Nodeapps on all nodes: srvctl stop nodeapps -n
rm -Rf /var/opt/oracle/scls_scr rm -Rf /var/opt/oracle/oprocd
rm /etc/inittab.crs cp /etc/inittab.orig /etc/inittab
Linux:
rm /etc/oracle/* rm -f /etc/init.d/init.cssd rm -f /etc/init.d/init.crs rm -f /etc/init.d/init.crsd rm -f /etc/init.d/init.evmd rm -f /etc/rc2.d/K96init.crs rm -f /etc/rc2.d/S96init.crs rm -f /etc/rc3.d/K96init.crs rm -f /etc/rc3.d/S96init.crs rm -f /etc/rc5.d/K96init.crs rm -f /etc/rc5.d/S96init.crs rm -Rf /etc/oracle/scls_scr rm -f /etc/inittab.crs cp /etc/inittab.orig /etc/inittab
HP-UX: rm /sbin/init.d/init.cssd rm /sbin/init.d/init.crs rm /sbin/init.d/init.crsd rm /sbin/init.d/init.evmd
rm /sbin/rc2.d/K960init.crs rm /sbin/rc2.d/K001init.crs rm /sbin/rc3.d/K960init.crs rm /sbin/rc3.d/S960init.crs
rm -Rf /var/opt/oracle/scls_scr rm -Rf /var/opt/oracle/oprocd rm /etc/inittab.crs cp /etc/inittab.orig /etc/inittab
HP Tru64: rm /sbin/init.d/init.cssd rm /sbin/init.d/init.crs rm /sbin/init.d/init.crsd rm /sbin/init.d/init.evmd rm /sbin/rc3.d/K96init.crs rm /sbin/rc3.d/S96init.crs
rm -Rf /var/opt/oracle/scls_scr rm -Rf /var/opt/oracle/oprocd rm /etc/inittab.crs cp /etc/inittab.orig /etc/inittab