在11g R2 RAC中,投票磁盘存储在ASM磁盘组上。 。 但是,在ASM上线之前,CSSD需要投票文件。 在启动时,CSSD扫描gpnp配置文件xml文件中指定的所有设备的设备标题,标签“DiscoveryString”包含与ASM实例的asm_diskstring参数中指定的相同的值。
如果可以找到至少超过总数的一半以上的投票文件,正常启动,否则,CSSD将在每个循环的$GRID_HOME/log/hostname/log/cssd/ocssd.log中循环显示相应的错误消息。
为了验证它,我将ASM_DISKSTRING修改为包含投票磁盘的ASM磁盘不包括在内并尝试重新启动节点上的crs值。查找CSSD日志文件,我看到CSSD无法识别其投票文件。
[CSSD][2985733008]clssnmvDiskVerify: Successful discovery of 0 disks
[CSSD][2985733008]clssnmCompleteInitVFDiscovery: Completing initial voting file discovery
[CSSD][2985733008]clssnmvFindInitialConfigs: No voting files found
现在,我不得不更改ASM disk_string参数,而不需要ASM运行,并且没有可用的CSSD,这是启动ASM所必需的。 我们如何告诉CSSD,在ASM之前运行,扫描正确的设备? 我使用gpnptool编辑gpnp配置文件,并将发现字符串恢复到适当的值。 现在我可以在我的机器上运行crs。
关闭crs,修改磁盘路径以及磁盘名
mv /dev/raw/raw1 /asm/disk1
mv /dev/raw/raw2 /asm/disk2
mv /dev/raw/raw3 /asm/disk3
mv /dev/raw/raw4 /asm/disk4
mv /dev/raw/raw5 /asm/disk5
mv /dev/raw/raw6 /asm/disk6
mv /dev/raw/raw7 /asm/disk7
然后尝试启动crs,crs无法启动,此时asm实例无法连接crs服务,也没法修改asm_diskstring参数来让程序识别磁盘。
将现有的gpnp配置文件复制到profile.bak并编辑该副本以修改asm的发现字符串。
cd /u01/app/11.2.0/grid/gpnp/
cd rac2/
cd profiles/
cd peer/
cp profile.xml profile.bak
从文件中删除oracle签名
/u01/app/11.2.0/grid/bin/gpnptool unsign -p=profile.bak
Warning: some command line parameters were defaulted. Resulting command line:
/u01/app/11.2.0/grid/bin/gpnptool.bin unsign -p=profile.bak -o-
更改DiscoveryString.
/u01/app/11.2.0/grid/bin/gpnptool edit -asm_dis='/asm/disk*' -p=profile.bak -o=profile.bak -ovr
Resulting profile written to “profile.bak”.
Success.
用wallet签署配置文件xml文件(注意:路径只是wallet的目录,而不是wallet文件本身)
/u01/app/11.2.0/grid/bin/gpnptool sign -p=profile.bak -w=file:/u01/app/11.2.0/grid/gpnp/rac2/wallets/peer/ -o=profile.new
Resulting profile written to “profile.new”.
Success
移除原先的profile.xml
mv profile.xml /tmp
mv profile.new profile.xml
检查发现字符串是否已被修改
vi profile.xml
检查DiscoveryString字符串
传输到另一个节点
scp profile.xml rac1:/u01/app/11.2.0/grid/gpnp/rac1/profiles/peer/profile.xml
The authenticity of host 'rac1 (192.168.56.101)' can't be established.
RSA key fingerprint is 20:75:7c:2c:86:b5:b3:9e:78:fd:b0:7a:12:8d:78:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac1,192.168.56.101' (RSA) to the list of known hosts.
root@rac1's password:
profile.xml 100% 1888 1.8KB/s 00:00
注意权限,亲测权限不对也没关系
chown grid:oinstall profile.xml
杀死进程,重启crs
ps -ef |grep d.bin|grep -v grep | awk '{print "kill -9 " $2}'|sh
cd /u01/app/11.2.0/grid/bin/
./crsctl start crs
启动成功
[grid@rac2 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE rac2
ora.FRA.dg
ONLINE ONLINE rac2
ora.LISTENER.lsnr
ONLINE ONLINE rac2
ora.OCR.dg
ONLINE ONLINE rac2
ora.asm
ONLINE ONLINE rac2 Started
ora.gsd
OFFLINE OFFLINE rac2
ora.net1.network
ONLINE ONLINE rac2
ora.ons
ONLINE ONLINE rac2
ora.registry.acfs
ONLINE ONLINE rac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac2
ora.cvu
1 ONLINE ONLINE rac2
ora.oc4j
1 ONLINE ONLINE rac2
ora.orcl.db
1 OFFLINE OFFLINE
2 OFFLINE OFFLINE
ora.rac1.vip
1 ONLINE INTERMEDIATE rac2 FAILED OVER
ora.rac2.vip
1 ONLINE ONLINE rac2
ora.scan1.vip
1 ONLINE ONLINE rac2
当然别忘了修改asm_diskstring参数
[grid@rac2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Apr 27 07:48:34 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> show parameter disk
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups string DATA, FRA
asm_diskstring string
SQL> alter system set asm_diskstring='/asm/disk*';
System altered.
SQL> show parameter disk
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups string DATA, FRA
asm_diskstring string /asm/disk*
SQL> quit