断电故障导致ASM DiskGroup故障及恢复案例

 

断电故障导致ASM DiskGroup故障及恢复案例

ASM在RAC环境中的使用已经极其广泛,但是往往由于对ASM的认识不够,很多时候在处理故障时会陷入谜团,前一段在客户环境中就遇到了一个ASM的棘手问题。

客户由于断电导致了存储故障,进而使得部分磁盘对主机不可见,某个磁盘组无法加载,此时客户尝试过重启数据库,结果遇到了如下错误:

Thu Jun 25 05:00:11 2009   Errors in file /u01/app/oracle/admin/billing/udump   /billing1_ora_8184.trc:   ORA-15062: ASM disk is globally closed   ORA-15025: could not open disk '/dev/rdsk/c12t0d2'  ORA-27041: unable to open file   HPUX-ia64 Error: 6: No such device or address   Additional information: 3   Thu Jun 25 05:00:29 2009   Errors in file /u01/app/oracle/admin/billing/udump   /billing1_ora_8761.trc:   ORA-15062: ASM 磁盘已全局关闭   ORA-15025: 无法打开磁盘 '/dev/rdsk/c12t0d2'  ORA-27041: 无法打开文件   HPUX-ia64 Error: 6: No such device or address   Additional information: 3   Thu Jun 25 05:00:29 2009   Errors in file /u01/app/oracle/admin/billing/udump   /billing1_ora_8759.trc:   ORA-15062: ASM disk is globally closed   ORA-15025: could not open disk '/dev/rdsk/c12t0d2'  ORA-27041: unable to open file   HPUX-ia64 Error: 6: No such device or address   Additional information: 3 

注意在这个提示中,有一个重要提示:ORA-15062: ASM 磁盘已全局关闭。也就是说,由于磁盘无法访问,ASM将磁盘全局关闭,ASM磁盘组也不可用。

如果强制打开数据库,Oracle会将该磁盘组的所有文件OFFLINE离线处理,然后Open数据库:

Thu Jun 25 06:10:41 2009   KCF: write/open error block=0xce0db online=1        file=148 +DG_DATA_03/billing/datafile/tbs_table_20.256.654268217        error=15081 txt: ''  Automatic datafile offline due to write error on  file 148: +DG_DATA_03/billing/datafile/tbs_table_20.256.654268217   KCF: write/open error block=0x72b online=1        file=21 +DG_DATA_03/billing/datafile/tbs_idx_20.265.654273237        error=15078 txt: ''  Automatic datafile offline due to write error on  file 21: +DG_DATA_03/billing/datafile/tbs_idx_20.265.654273237   KCF: write/open error block=0x4c6e9 online=1        file=50 +DG_DATA_03/billing/datafile/tbs_dailytable_20.270.656595577        error=15078 txt: ''  这就造成了进一步的一个现象,在数据库看来,始终有一个磁盘组处于MOUNTED的状态,数据库无法连接,也就无法访问其中的数据:
SQL> select name,state from v$asm_diskgroup_stat;   NAME                            STATE   ------------------------------  -----------   DG_DATA_01                      CONNECTED   DG_DATA_02                      CONNECTED   DG_DATA_03                      MOUNTED 

这其实很正常,Oracle不访问该DG中的磁盘,该磁盘就保持了MOUNTED状态,我们只要尝试访问该磁盘中的文件,该磁盘组就会显示为数据库连接的CONNECTED状态。简单地通过如下rman的copy命令就激活了该磁盘组的磁盘访问:

RMAN> copy datafile '+DG_DATA_03/billing/datafile   /tbs_20.264.654269073' to '/backup/a.dbf'; 

接下来通过recover那些被OFFLINE的文件,再执行ONLINE操作,就将数据库恢复到了正常状态。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值