构成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

关注刘相兵的新浪微博

扫码加入微信Oracle小密圈,了解Oracle最新技术下载分享资源

Speak Your Mind

沪ICP备14014813号

沪公网安备 31010802001379号

TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569