平台:Redhat Linux 7.6
数据库版本:Oracle 19.10
问题描述:进行OCR磁盘替换DD破坏实验,并删除原有的OCR磁盘组。中间过程中,因spfile文件以及asm密码文件没有进行迁移新的OCR磁盘。导致两个节点crs集群的其中一个节点只能手工进行启动。
注:模拟破坏OCR磁盘过程中,发现OCR备份在OCR磁盘组中,一旦OCR发生损坏,恢复过程中无法读取OCR磁盘组中的OCR备份。无法按照常规restore进行还原。(参考:2717306.1 2256199.1 1929673.1 2264675.1)
1.通过以下命令查看集群状态,发现组件crsd异常、ora.storage异常,其余都是正常的
crsctl stat res -t -init
2.通过检查crsd日志发现问题
该问题是此次事故的第一个具体原因。
3.通过查看gpnp,来进一步观察spfile文件位置
通过以下可以看到文件位置是正常的。
4.通过init.ora文件将asm实例拉起
[grid@bjyctzdb10 ~]$ cat init.ora
+ASM1.__large_pool_size=20971520
+ASM2.__large_pool_size=20971520
+ASM1.__oracle_base=’/u02/app/grid’#ORACLE_BASE set from in memory value
+ASM2.__oracle_base=’/u02/app/grid’#ORACLE_BASE set from in memory value
+ASM1._asm_max_connected_clients=4
+ASM2._asm_max_connected_clients=4
*.asm_diskgroups=‘ARCH’,‘DATA’,‘OCR_NEW’#Manual Mount
.asm_diskstring=’/dev/oracleasm/disks/’
*.asm_power_limit=1
*.large_pool_size=12M
*.remote_login_passwordfile=‘EXCLUSIVE’
SQL> startup pfile=’/home/grid/init.ora’;
ASM instance started
Total System Global Area 1137173312 bytes
Fixed Size 8905536 bytes
Variable Size 1103101952 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL>
5.查看集群中spfile位置描述
#从这里发现并未指定spfile文件位置,可能是该原因找不到spfile文件,导致集群无法启动。
SQL> show parameter spfile
NAME TYPE VALUE
-------------------------------------------
spfile string
指定spfile文件位置。
SQL> alter system set spfile=’+OCR_NEW/bjyctzd-cluster/ASMPARAMETERFILE/registry.253.1072795999’;
System altered.
SQL> show parameter spfile
NAME TYPE VALUE
--------------------------------------------
spfile string +OCR_NEW/bjyctzd-cluster/ASMPA
RAMETERFILE/registry.253.10727
95999
6.重启集群,再次观察–需要重启asm实例才可以
和之前问题一样。
7.再次使用init.ora去启动asm磁盘
SQL> startup pfile=’/home/grid/init.ora’;
ASM instance started
Total System Global Area 1137173312 bytes
Fixed Size 8905536 bytes
Variable Size 1103101952 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL> show parameter spfile
NAME TYPE VALUE
--------------------------------------------
spfile string
SQL> show parameter spfile
NAME TYPE VALUE
--------------------------------------------
spfile string
SQL> alter system set spfile=’+OCR_NEW/bjyctzd-cluster/ASMPARAMETERFILE/registry.253.1072795999’;
System altered.
SQL> create pfile=’/home/grid/init.ora’ from spfile;
File created.
SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup
ASM instance started
Total System Global Area 1137173312 bytes
Fixed Size 8905536 bytes
Variable Size 1103101952 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL> show parame