eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 恩墨科技将举行Oracle性能优化与诊断案例培训 | Blog首页 | 使用errorstack跟踪ORA-01438错误 »

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

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';
对ASM的学习和认识,还要继续加深!

-The  End-




历史上的今天...
    >> 2020-07-09文章:
    >> 2010-07-09文章:
    >> 2007-07-09文章:
    >> 2004-07-09文章:
           使用or展开进行sql调整

By eygle on 2009-07-09 09:45 | Comments (4) | Backup&Recovery | Case | 2327 |

4 Comments

遇到过类似问题

遇到过类似问题

这一定是后记的!
'/backup/a.dbf'; diskgroup前面应该是加号吧
嘿嘿!


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com