博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
针对11.2 RAC丢失OCR和Votedisk所在ASM Diskgroup的恢复手段
阅读量:6230 次
发布时间:2019-06-21

本文共 15887 字,大约阅读时间需要 52 分钟。

之前有同学在我的Oracle Allstarts群里讨论关于丢失包含ocr和votedisk的ASM diskgroup导致11gR2 RAC cluster无法正常启动的问题,最早我在 ,如何在不启动CRS的情况下启动11.2中的ASM实例并实施操作, 这里也需要用到同样的命令"crsctl start crs -excl -nocrs ";     注意以下的恢复手段,针对ASM中单独的ocr或者单独的votedisk丢失也有效,因为11.2中普遍把ocr和votedisk存放在ASM中,而ASM的启动又依赖于ocr和votedisk,所以在丢失ocr或votedisk仍一一者都会导致cluter无法正常启动;这里我们仅仅讨论如何让CRS正常启动,如果丢失的diskgroup中还存放有数据库的话,数据的恢复不属于本篇文章的讨论范畴。   前提:恢复的前提是你仍有和故障前一样多的ASM LUN DISK,且你有OCR的自动备份,注意默认情况下每4个小时会自动备份一次,只要你没有删除$GI_HOME,一般都会有备份可用;不要求有votedisk备份   恢复场景: 利用dd命令清空ocr和votedisk所在diskgroup header,模拟diskgroup corruption:    
1. 检查votedisk和 ocr备份[root@vrh1 ~]# crsctl query css votedisk##  STATE    File Universal Id                File Name Disk group--  -----    -----------------                --------- --------- 1. ONLINE   a853d6204bbc4feabfd8c73d4c3b3001 (/dev/asm-diskh) [SYSTEMDG] 2. ONLINE   a5b37704c3574f0fbf21d1d9f58c4a6b (/dev/asm-diskg) [SYSTEMDG] 3. ONLINE   36e5c51ff0294fc3bf2a042266650331 (/dev/asm-diski) [SYSTEMDG] 4. ONLINE   af337d1512824fe4bf6ad45283517aaa (/dev/asm-diskj) [SYSTEMDG] 5. ONLINE   3c4a349e2e304ff6bf64b2b1c9d9cf5d (/dev/asm-diskk) [SYSTEMDG]Located 5 voting disk(s).su - grid[grid@vrh1 ~]$ ocrconfig -showbackupPROT-26: Oracle Cluster Registry backup locations were retrieved from a local copyvrh1     2012/08/09 01:59:56     /g01/11.2.0/maclean/grid/cdata/vrh-cluster/backup00.ocrvrh1     2012/08/08 21:59:56     /g01/11.2.0/maclean/grid/cdata/vrh-cluster/backup01.ocrvrh1     2012/08/08 17:59:55     /g01/11.2.0/maclean/grid/cdata/vrh-cluster/backup02.ocrvrh1     2012/08/08 05:59:54     /g01/11.2.0/grid/cdata/vrh-cluster/day.ocrvrh1     2012/08/08 05:59:54     /g01/11.2.0/grid/cdata/vrh-cluster/week.ocrPROT-25: Manual backups for the Oracle Cluster Registry are not available2. 彻底关闭所有节点上的clusterware ,OHASD crsctl stop has -f3. GetAsmDH.sh ==> GetAsmDH.sh是ASM disk header的备份脚本 请养成良好的习惯,做危险操作前备份asm header[grid@vrh1 ~]$ ./GetAsmDH.sh ############################################ 1) Collecting Information About the Disks:############################################SQL*Plus: Release 11.2.0.3.0 Production on Thu Aug 9 03:28:13 2012Copyright (c) 1982, 2011, Oracle.  All rights reserved.SQL> Connected.SQL> SQL> SQL> SQL> SQL> SQL> SQL>            1           0 /dev/asm-diske           1           1 /dev/asm-diskd           2           0 /dev/asm-diskb           2           1 /dev/asm-diskc           2           2 /dev/asm-diskf           3           0 /dev/asm-diskh           3           1 /dev/asm-diskg           3           2 /dev/asm-diski           3           3 /dev/asm-diskj           3           4 /dev/asm-diskkSQL> SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Real Application Clusters and Automatic Storage Management options-rw-r--r-- 1 grid oinstall 1048 Aug  9 03:28 /tmp/HC/asmdisks.lst############################################ 2) Generating asm_diskh.sh script.############################################-rwx------ 1 grid oinstall 666 Aug  9 03:28 /tmp/HC/asm_diskh.sh############################################ 3) Executing  asm_diskh.sh script to     generate dd  dumps.############################################-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_1_0.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_1_1.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_2_0.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_2_1.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_2_2.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_3_0.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_3_1.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_3_2.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_3_3.dd-rw-r--r-- 1 grid oinstall 1048576 Aug  9 03:28 /tmp/HC/dsk_3_4.dd############################################ 4) Compressing dd dumps in the next format:    (asm_dd_header_all_.tar)############################################/tmp/HC/dsk_1_0.dd/tmp/HC/dsk_1_1.dd/tmp/HC/dsk_2_0.dd/tmp/HC/dsk_2_1.dd/tmp/HC/dsk_2_2.dd/tmp/HC/dsk_3_0.dd/tmp/HC/dsk_3_1.dd/tmp/HC/dsk_3_2.dd/tmp/HC/dsk_3_3.dd/tmp/HC/dsk_3_4.dd./GetAsmDH.sh: line 81: compress: command not foundls: /tmp/HC/*.Z: No such file or directory[grid@vrh1 ~]$4. 使用dd 命令 破坏ocr和votedisk所在diskgroup[root@vrh1 ~]# dd if=/dev/zero of=/dev/asm-diskh bs=1024k count=11+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.00423853 seconds, 247 MB/s[root@vrh1 ~]# dd if=/dev/zero of=/dev/asm-diskg bs=1024k count=1 1+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.0045179 seconds, 232 MB/s[root@vrh1 ~]# dd if=/dev/zero of=/dev/asm-diski bs=1024k count=1 1+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.00469976 seconds, 223 MB/s[root@vrh1 ~]# dd if=/dev/zero of=/dev/asm-diskj bs=1024k count=1 1+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.00344262 seconds, 305 MB/s[root@vrh1 ~]# dd if=/dev/zero of=/dev/asm-diskk bs=1024k count=1 1+0 records in1+0 records out1048576 bytes (1.0 MB) copied, 0.0053518 seconds, 196 MB/s5. 在一个节点上尝试重新启动HAS[root@vrh1 ~]# crsctl start hasCRS-4123: Oracle High Availability Services has been started.
      但是因为ocr和votedisk所在diskgroup丢失,所以CSS将无法正常启动,如以下日志所示:    
alertvrh1.log [cssd(5162)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /g01/11.2.0/grid/log/vrh1/cssd/ocssd.log2012-08-09 03:35:41.207[cssd(5162)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /g01/11.2.0/grid/log/vrh1/cssd/ocssd.log2012-08-09 03:35:56.240[cssd(5162)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /g01/11.2.0/grid/log/vrh1/cssd/ocssd.log2012-08-09 03:36:11.284[cssd(5162)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /g01/11.2.0/grid/log/vrh1/cssd/ocssd.log2012-08-09 03:36:26.305[cssd(5162)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /g01/11.2.0/grid/log/vrh1/cssd/ocssd.log2012-08-09 03:36:41.328ocssd.log2012-08-09 03:40:26.662: [    CSSD][1078700352]clssnmReadDiscoveryProfile: voting file discovery string(/dev/asm*)2012-08-09 03:40:26.662: [    CSSD][1078700352]clssnmvDDiscThread: using discovery string /dev/asm* for initial discovery2012-08-09 03:40:26.662: [   SKGFD][1078700352]Discovery with str:/dev/asm*:2012-08-09 03:40:26.662: [   SKGFD][1078700352]UFS discovery with :/dev/asm*:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskf:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskb:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskj:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskh:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskc:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskd:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diske:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskg:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diski:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Fetching UFS disk :/dev/asm-diskk:2012-08-09 03:40:26.665: [   SKGFD][1078700352]OSS discovery with :/dev/asm*:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Handle 0xdf22a0 from lib :UFS:: for disk :/dev/asm-diskf:2012-08-09 03:40:26.665: [   SKGFD][1078700352]Handle 0xf412a0 from lib :UFS:: for disk :/dev/asm-diskb:2012-08-09 03:40:26.666: [   SKGFD][1078700352]Handle 0xf3a680 from lib :UFS:: for disk :/dev/asm-diskj:2012-08-09 03:40:26.666: [   SKGFD][1078700352]Handle 0xf93da0 from lib :UFS:: for disk :/dev/asm-diskh:2012-08-09 03:40:26.667: [    CSSD][1078700352]clssnmvDiskVerify: Successful discovery of 0 disks2012-08-09 03:40:26.667: [    CSSD][1078700352]clssnmCompleteInitVFDiscovery: Completing initial voting file discovery2012-08-09 03:40:26.667: [    CSSD][1078700352]clssnmvFindInitialConfigs: No voting files found2012-08-09 03:40:26.667: [    CSSD][1078700352](:CSSNM00070:)clssnmCompleteInitVFDiscovery: Voting file not found. Retrying discovery in 15 seconds
      正式的恢复ocr和votedisk所在diskgroup的步骤如下:     1. 以-excl -nocrs 方式启动cluster,这将可以启动ASM实例 但不启动CRS
[root@vrh1 vrh1]# crsctl start crs -excl -nocrs CRS-4123: Oracle High Availability Services has been started.CRS-2672: Attempting to start 'ora.mdnsd' on 'vrh1'CRS-2676: Start of 'ora.mdnsd' on 'vrh1' succeededCRS-2672: Attempting to start 'ora.gpnpd' on 'vrh1'CRS-2676: Start of 'ora.gpnpd' on 'vrh1' succeededCRS-2672: Attempting to start 'ora.cssdmonitor' on 'vrh1'CRS-2672: Attempting to start 'ora.gipcd' on 'vrh1'CRS-2676: Start of 'ora.cssdmonitor' on 'vrh1' succeededCRS-2676: Start of 'ora.gipcd' on 'vrh1' succeededCRS-2672: Attempting to start 'ora.cssd' on 'vrh1'CRS-2672: Attempting to start 'ora.diskmon' on 'vrh1'CRS-2676: Start of 'ora.diskmon' on 'vrh1' succeededCRS-2676: Start of 'ora.cssd' on 'vrh1' succeededCRS-2679: Attempting to clean 'ora.cluster_interconnect.haip' on 'vrh1'CRS-2672: Attempting to start 'ora.ctssd' on 'vrh1'CRS-2681: Clean of 'ora.cluster_interconnect.haip' on 'vrh1' succeededCRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'vrh1'CRS-2676: Start of 'ora.ctssd' on 'vrh1' succeededCRS-2676: Start of 'ora.cluster_interconnect.haip' on 'vrh1' succeededCRS-2672: Attempting to start 'ora.asm' on 'vrh1'CRS-2676: Start of 'ora.asm' on 'vrh1' succeeded
      2.重建原ocr和votedisk所在diskgroup,注意compatible.asm必须是11.2:    
[root@vrh1 vrh1]# su - grid[grid@vrh1 ~]$ sqlplus  / as sysasmSQL*Plus: Release 11.2.0.3.0 Production on Thu Aug 9 04:16:58 2012Copyright (c) 1982, 2011, Oracle.  All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Real Application Clusters and Automatic Storage Management optionsSQL> create diskgroup systemdg high redundancy disk '/dev/asm-diskh','/dev/asm-diskg','/dev/asm-diski','/dev/asm-diskj','/dev/asm-diskk' ATTRIBUTE 'compatible.rdbms' = '11.2', 'compatible.asm' = '11.2';
      3.从ocr backup中恢复ocr并做ocrcheck检验:    
[root@vrh1 ~]# ocrconfig -restore /g01/11.2.0/grid/cdata/vrh-cluster/backup00.ocr[root@vrh1 ~]# ocrcheckStatus of Oracle Cluster Registry is as follows :         Version                  :          3         Total space (kbytes)     :     262120         Used space (kbytes)      :       3180         Available space (kbytes) :     258940         ID                       : 1238458014         Device/File Name         :  +systemdg                                    Device/File integrity check succeeded                                    Device/File not configured                                    Device/File not configured                                    Device/File not configured                                    Device/File not configured         Cluster registry integrity check succeeded         Logical corruption check succeeded
      4. 准备恢复votedisk ,可能会遇到下面的错误:  
[grid@vrh1 ~]$ crsctl replace votedisk  +SYSTEMDGCRS-4602: Failed 27 to add voting file 2e4e0fe285924f86bf5473d00dcc0388.CRS-4602: Failed 27 to add voting file 4fa54bb0cc5c4fafbf1a9be5479bf389.CRS-4602: Failed 27 to add voting file a109ead9ea4e4f28bfe233188623616a.CRS-4602: Failed 27 to add voting file 042c9fbd71b54f5abfcd3ab3408f3cf3.CRS-4602: Failed 27 to add voting file 7b5a8cd24f954fafbf835ad78615763f.Failed to replace voting disk group with +SYSTEMDG.CRS-4000: Command Replace failed, or completed with errors.
    需要重新配置一下ASM的参数,并重启ASM:    
SQL> alter system set asm_diskstring='/dev/asm*';System altered.SQL> create spfile from memory;File created.SQL>  startup force mount;ORA-32004: obsolete or deprecated parameter(s) specified for ASM instanceASM instance startedTotal System Global Area  283930624 bytesFixed Size                  2227664 bytesVariable Size             256537136 bytesASM Cache                  25165824 bytesASM diskgroups mountedSQL> show parameter spfileNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------spfile                               string      /g01/11.2.0/grid/dbs/spfile+AS                                                 M1.ora[grid@vrh1 trace]$  crsctl replace votedisk  +SYSTEMDGCRS-4256: Updating the profileSuccessful addition of voting disk 85edc0e82d274f78bfc58cdc73b8c68a.Successful addition of voting disk 201ffffc8ba44faabfe2efec2aa75840.Successful addition of voting disk 6f2a25c589964faabf6980f7c5f621ce.Successful addition of voting disk 93eb315648454f25bf3717df1a2c73d5.Successful addition of voting disk 3737240678964f88bfbfbd31d8b3829f.Successfully replaced voting disk group with +SYSTEMDG.CRS-4256: Updating the profileCRS-4266: Voting file(s) successfully replaced
        5. 重启has服务,检验cluster是否正常:    
[root@vrh1 ~]# crsctl check crsCRS-4638: Oracle High Availability Services is onlineCRS-4537: Cluster Ready Services is onlineCRS-4529: Cluster Synchronization Services is onlineCRS-4533: Event Manager is online[root@vrh1 ~]# crsctl query css votedisk##  STATE    File Universal Id                File Name Disk group--  -----    -----------------                --------- --------- 1. ONLINE   85edc0e82d274f78bfc58cdc73b8c68a (/dev/asm-diskh) [SYSTEMDG] 2. ONLINE   201ffffc8ba44faabfe2efec2aa75840 (/dev/asm-diskg) [SYSTEMDG] 3. ONLINE   6f2a25c589964faabf6980f7c5f621ce (/dev/asm-diski) [SYSTEMDG] 4. ONLINE   93eb315648454f25bf3717df1a2c73d5 (/dev/asm-diskj) [SYSTEMDG] 5. ONLINE   3737240678964f88bfbfbd31d8b3829f (/dev/asm-diskk) [SYSTEMDG]Located 5 voting disk(s).[root@vrh1 ~]# crsctl stat res -t--------------------------------------------------------------------------------NAME           TARGET  STATE        SERVER                   STATE_DETAILS       --------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.BACKUPDG.dg               ONLINE  ONLINE       vrh1                                         ora.DATA.dg               ONLINE  ONLINE       vrh1                                         ora.LISTENER.lsnr               ONLINE  ONLINE       vrh1                                         ora.LSN_MACLEAN.lsnr               ONLINE  ONLINE       vrh1                                         ora.SYSTEMDG.dg               ONLINE  ONLINE       vrh1                                         ora.asm               ONLINE  ONLINE       vrh1                     Started             ora.gsd               OFFLINE OFFLINE      vrh1                                         ora.net1.network               ONLINE  ONLINE       vrh1                                         ora.ons               ONLINE  ONLINE       vrh1                                         --------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.LISTENER_SCAN1.lsnr  http://www.askmaclean.com      1        ONLINE  ONLINE       vrh1                                         ora.cvu      1        OFFLINE OFFLINE                                                   ora.oc4j      1        OFFLINE OFFLINE                                                   ora.scan1.vip      1        ONLINE  ONLINE       vrh1                                         ora.vprod.db      1        ONLINE  OFFLINE                                                         2        ONLINE  OFFLINE                                                   ora.vrh1.vip      1        ONLINE  ONLINE       vrh1                                         ora.vrh2.vip      1        ONLINE  INTERMEDIATE vrh1                     FAILED OVER

转载地址:http://ggmna.baihongyu.com/

你可能感兴趣的文章
Android 基于Android的手机邮件收发(JavaMail)之四(邮件的发送)
查看>>
BUPT2017 wintertraining(15) #3 题解
查看>>
js-ES6学习笔记-Set和Map数据结构
查看>>
Xamarin.Forms的滚动视图ScrollView
查看>>
【面试题整理】数据库的优化方案有哪些
查看>>
hdu-5015-233 Matrix-矩阵
查看>>
Android中asset文件夹和raw文件夹区别与用法
查看>>
poj3264
查看>>
Eclipse中git插件导入远程库和上传项目源代码到远程库
查看>>
linux内核剖析-IBM
查看>>
关于Snmp的Trap代码开发之坑
查看>>
TCP 函数
查看>>
CentOS添加新硬盘到新的分区(xfs/ext4) 或者添加新分区
查看>>
20个Linux服务器安全强化建议(二)
查看>>
php-fpm的启动、配置及常见错误
查看>>
在 Linux 上管理加密密钥的最佳体验
查看>>
值得学习的C语言开源项目
查看>>
SYSTEMTAP -ORACLE
查看>>
[唐诗]183清平调词三首-李白
查看>>
深入敌后,揭开骇客真面目
查看>>