构成11gR2 RAC: OCR的 ASM Diskgroup 全面损坏时的恢复方法

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638   QQ号:47079569 邮箱:service@parnassusdata.com

Oracle Database – Enterprise Edition –版本 11.2.0.1 以后
这个文章的内容适用于所有平台。

目的

说明RAC环境中储存OCR ASM Diskgroup全面损坏时的修复方法。

对策

[详细内容]
虽然会定期自动获得OCR的自动备份,但储存OCRDiskgroup 有破损时,restore时,CRS stack会正常启动,因为需要运行ASM,使用OCR自动备份,修复OCR储存的disk group方法就会有点麻烦。

此后将说明储存OCRASM Diskgroup 全面损坏时的修复方法

前提
—-
作为储存OCR 的区域,使用ASM时, ASM Diskgroup 全面损坏时,需要修复以下文件。

– Oracle Cluster Registry file (OCR)
投票disk
– ASM 实例的 SPFILE

以下例子中,使用一个disk CRS Diskgroup。因为CRS Diskgroup破损,假设无论哪个节点都无法使用CRS stack 结构如下所示。

– GRID user: oragrid
– GRID home: /u01/app/11.2.0/grid ($CRS_HOME)
– ASM disk group name for OCR: CRS
– ASM/ASMLIB disk name: ASMD40
– Linux device name for ASM disk: /dev/sdh1
– Cluster name: rac_cluster1
– Nodes: racnode1, racnode2

这次的操作顺序中,请不要变更储存OCR Diskgroup 的名字来操作。变更储存OCRdisk group的名字时,在执行以下操作之前,需要用所有节点变更/etc/oracle/ocr.loc 文件。

构成OCR ASM Diskgroup 全面损坏时的修复方法
=====================================================

请按照以下操作顺序执行。

1. 查看最新自动制成的OCR备份

因为OCR的自动备份的输出节点不是固定的,通过比较各个节点的文件就可以查看最新的备份。

$ ls -lrt $CRS_HOME/cdata/rac_cluster1/
-rw——- 1 root root 7331840 Mar 10 18:52 week.ocr
-rw——- 1 root root 7651328 Mar 26 01:33 week_.ocr
-rw——- 1 root root 7651328 Mar 29 01:33 day.ocrMai
-rw——- 1 root root 7651328 Mar 30 01:33 day_.ocr
-rw——- 1 root root 7651328 Mar 30 01:33 backup02.ocr
-rw——- 1 root root 7651328 Mar 30 05:33 backup01.ocr
-rw——- 1 root root 7651328 Mar 30 09:33 backup00.ocr

2. 在所有节点中终止 Grid Infrastructure

在储存OCRdisk group破损时,也有GI stack虽然没有正常运行,但demon却正常运行的情况。因此,所有的节点中,使用force选项(-f),终止GI stack

# $CRS_HOME/bin/crsctl stop crs -f

3. 以排他模式启动CRS stack

1. 中查看到的保存了最新的 OCR的备份的节点中,以root用户登录,以排他模式启动CRS。这个模式无论投票disk是否存在或CRS demon (crsd.bin)进程是否启动,都可以直接启动ASM

11.2.0.1:

# $CRS_HOME/bin/crsctl start crs -excl

CRS-2672: Attempting to start ‘ora.asm’ on ‘racnode1’
CRS-2676: Start of ‘ora.asm’ on ‘racnode1’ succeeded
CRS-2672: Attempting to start ‘ora.crsd’ on ‘racnode1’
CRS-2676: Start of ‘ora.crsd’ on ‘racnode1’ succeeded

(注释)
此次文件中,因为假设CRS disk group完全损毁了。如上所示,成功启动,输出信息时,会中止CRS demon (resource ora.crsd)
如果不终止的话,就需要参考指导手册来人工终止。
# $CRS_HOME/bin/crsctl stop res ora.crsd -init

11.2.0.2 以后:

# $CRS_HOME/bin/crsctl start crs -excl -nocrs
CRS-4123: Oracle High Availability Services has been started.

CRS-2672: Attempting to start ‘ora.cluster_interconnect.haip’ on ‘auw2k3’
CRS-2672: Attempting to start ‘ora.ctssd’ on ‘racnode1’
CRS-2676: Start of ‘ora.drivers.acfs’ on ‘racnode1’ succeeded
CRS-2676: Start of ‘ora.ctssd’ on ‘racnode1’ succeeded
CRS-2676: Start of ‘ora.cluster_interconnect.haip’ on ‘racnode1’ succeeded
CRS-2672: Attempting to start ‘ora.asm’ on ‘racnode1’
CRS-2676: Start of ‘ora.asm’ on ‘racnode1’ succeeded

(重要)
11.2.0.2
开始为了防止启动ora.crsd 资源,就会导入‘-nocrs’ 选项。没有使用这个选项时,启动ora.crsd资源可能会失败。

4.使用 ASMLIB 时, CRS disk 评级

使用ASMLIB 时,CRS disk中,以root用户进行stamp

# /usr/sbin/oracleasm createdisk ASMD40 /dev/sdh1
Writing disk header: done
Instantiating disk: done

5. 使用sqlplus ,制成CRS Diskgroup

使用sqlplus ,以 grid用户制成 CRS Diskgroup CRS中,使用Diskgroup时,将compatible.asm 属性设置为11.2 以上。

$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 30 11:47:24 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production
With the Real Application Clusters and Automatic Storage Management options

SQL> create diskgroup CRS external redundancy disk ‘ORCL:ASMD40’ attribute ‘COMPATIBLE.ASM’ = ‘11.2’;

Diskgroup created.
SQL> exit

6. restore最新的OCR 备份

制成CRS Diskgroup ,并mountOCR无法restore
restoreroot 用户在 1. 中查看到的 OCR备份。

# cd $CRS_HOME/cdata/rac_cluster1/
# $CRS_HOME/bin/ocrconfig -restore backup00.ocr

7.以现在的节点启动CRS demon

因为restore OCR ,可以启动CRS demon11.2.0.1 中,
如果启动CRS demon需要重新制成投票disk
使用 11.2.0.2 以后的版本时,请跳过此步骤。

# $CRS_HOME/bin/crsctl start res ora.crsd -init
CRS-2672: Attempting to start ‘ora.crsd’ on ‘racnode1’
CRS-2676: Start of ‘ora.crsd’ on ‘racnode1’ succeeded

8. 重新制成投票disk

CRS Diskgroup初始化投票disk

# $CRS_HOME/bin/crsctl replace votedisk +CRS
Successful addition of voting disk 00caa5b9c0f54f3abf5bd2a2609f09a9.
Successfully replaced voting disk group with +CRS.
CRS-4266: Voting file(s) successfully replaced

9. 重新制成ASM SPFILE (选项)

(注释)
11gR2中,即使没有 PFILE以及 SPFILE也可以启动ASM
以下情况可以跳过这一步骤。
– ASM 中没有使用 SPFILE
– ASM中没有使用共享 SPFILE
– ASM 中使用了没有出场的共享SPFILE

准备ASM pfile 。例子如下所示。
使用ASM 警报日志查看破损前的参数设定,
请参考在CRS Diskgroup 损坏之前的输出。

*.asm_power_limit=1
*.diagnostic_dest=’/u01/app/oragrid’
*.instance_type=’asm’
*.large_pool_size=12M
*.remote_login_passwordfile=’EXCLUSIVE’

制成 PFILE (下記例の ‘/tmp/asm_pfile.ora’) ,以这里的内容为基础制成SPFILE

$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 30 11:52:39 2010
Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production
With the Real Application Clusters and Automatic Storage Management options

SQL> create spfile=’+CRS’ from pfile=’/tmp/asm_pfile.ora’;

File created.
SQL> exit

终止10. CRS

至此,disk上的修复就完成了。
因为是以排他模式启动CRS的,要正常启动的话,就需要暂时中止。
这时,就需要force (-f)选项。

# $CRS_HOME/bin/crsctl stop crs -f

CRS-2793: Shutdown of Oracle High Availability Services-managed resources on ‘auw2k3’ has completed
CRS-4133: Oracle High Availability Services has been stopped.

11. 重新扫描ASM disk

使用ASMLIB时,以root 用户重新扫描 ASM disk
If using ASMLIB rescan all ASM disks on each node as the root user:

# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks…
Scanning system for ASM disks…
Instantiating disk "ASMD40"

12.启动 CRS

作为root 用户,以所有的cluster启动CRS

# $CRS_HOME/bin/crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

13. 验证CRS

确认CRS正常运行。

# $CRS_HOME/bin/crsctl check cluster -all
**************************************************************
racnode1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
racnode2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************

# $CRS_HOME/bin/crsctl status resource -t
——————————————————————————–
NAME TARGET STATE SERVER STATE_DETAILS
——————————————————————————–
Local Resources
——————————————————————————–
ora.CRS.dg
ONLINE ONLINE node1
ora.DATA.dg
ONLINE ONLINE node1
ora.LISTENER.lsnr
ONLINE ONLINE node1
ora.asm
ONLINE ONLINE node1 Started

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号