暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ocr故障修复

IT那活儿 2022-07-11
1412
点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!

  
数据库OCR丢失或者损坏,集群重启后出现OCR丢失,导致Oracle集群软件无法正常启动



查看故障现象

查看现象:
[grid@rac1 ~]$ tail -200f /u01/app/11.2/grid/log/rac1/alertrac1.log
[root@rac1 grid]# crsctl start crs

然后发现日志出现以下报错信息:
说明集群找不到voting盘文件,ocr记录的是集群配置信息。
使用ocrcheck检测报错也无法显示信息:

[root@rac1 ~]# ocrcheck
PROT-602: Failed to retrieve data from the cluster registry
PROC-26: Error while accessing the physical storage


故障恢复

2.1 强制停止CRS

[root@rac1 ~]# crsctl stop crs –f

2.2 检查确认集群停止成功

[root@rac1 ~]# ps -ef|grep crs
[root@rac1 ~]# ps -ef|grep css
[root@rac1 ~]# ps -ef|grep ohas
[root@rac1 ~]# ps -ef|grep evm

2.3 以独占模式启动crs

crsctl start crs -excl –nocrs
CRS-4123: Oracle High Availability Services has been started.
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'rac1'
CRS-2677: Stop of 'ora.drivers.acfs' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1'
CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1'
CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1'
CRS-2672: Attempting to start 'ora.gipcd' on 'rac1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac1'
CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.drivers.acfs' on 'rac1'
CRS-2679: Attempting to clean 'ora.cluster_interconnect.haip' on 'rac1'
CRS-2672: Attempting to start 'ora.ctssd' on 'rac1'
CRS-2681: Clean of 'ora.cluster_interconnect.haip' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'rac1'
CRS-2676: Start of 'ora.drivers.acfs' on 'rac1' succeeded

说明:

  • -excl 该参数指定使用独占模式。

  • -nocrs 该参数指定忽略查找crs及voting。

2.4 创建磁盘组以及spfile

[grid@rac1 ~]$ cat /tmp/asm_pfile.ora (可以在本地grid目录下查找本地profile文件)
+ASM1.asm_diskgroups='ARCHASMGROUP', 'DATAASMGROUP'#Manual Mount
+ASM2.asm_diskgroups='ARCHASMGROUP', 'DATAASMGROUP'#Manual Mount
*.asm_diskstring='/dev/oracleasm/disks/*'
*.asm_power_limit=1
*.diagnostic_dest='/u01/app/grid'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='EXCLUSIVE'

2.5 使用参数文件启动ASM

[grid@rac1 ~]$ sqlplus / as sysasm
SQL>shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup pfile='/tmp/asm_pfile.ora';
ASM instance started
SQL> col path for a50
SQL> set linesize 170
SQL> select group_number, disk_number, mount_status, header_status, path from v$asm_disk;

2.6 创建CRS磁盘组

SQL> create diskgroup CVD normal redundancy disk '/dev/oracleasm/disks/CVD1','/dev/oracleasm/disks/CVD2', '/dev/oracleasm/disks/CVD3' attribute 'au_size'='1M' 'compatible.asm'='11.2.0.0.0', 'compatible.rdbms'='11.2.0.0.0';
create diskgroup CVD normal redundancy disk '/dev/oracleasm/disks/CVD01','/dev/oracleasm/disks/CVD02', '/dev/oracleasm/disks/CVD03'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15033: disk '/dev/oracleasm/disks/CVD3' belongs to
diskgroup "CVD"    --这里报错是因为CVD3没清除磁盘头信息

2.7 清除CVD03磁盘头信息

[root@rac1 dev]# dd if=/dev/zero of=/dev/oracleasm/disks/CVD03 bs=1024 count=1000
SQL> create diskgroup CVD normal redundancy disk '/dev/oracleasm/disks/CVD01','/dev/oracleasm/disks/CVD02', '/dev/oracleasm/disks/CVD03' attribute 'au_size'='1M' 'compatible.asm'='11.2.0.0.0', 'compatible.rdbms'='11.2.0.0.0';
Diskgroup created.

2.8 创建spfile参数文件

SQL> create spfile='+CVD' from pfile='/tmp/asm_pfile.ora';
File created.

2.9 利用备份恢复OCR

[root@rac1 ~]# ocrconfig -restore /u01/app/11.2/grid/cdata/rac/backup00.ocr
(OCR的备份集群会每隔一段时间自动进行备份。)

2.10 恢复voting disk

[root@rac1 ~]# crsctl replace votedisk +CVD
Successful addition of voting disk 429d9c75-6a804fdf-bfeb8f1d-fa8358e9.
Successful addition of voting disk af38c76f-9d474f1f-bfa5c594-64fb0368.
Successful addition of voting disk 185a41992e3d4f57bf86248889c08561.
Successfully replaced voting disk group with +CVD.
CRS-4266: Voting file(s) successfully replaced

2.11 Ocr状态检测

  • ocrcheck
  • crsctl query css votedisk

2.12 停止CRS以正常的方式启动

[root@rac1 ~]# crsctl stop crs
[root@rac1 ~]# crsctl start crs
[root@rac2 ~]# crsctl start crs
[root@rac1 ~]# crsctl stat res -t


本文作者:张 芳(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论