详述Redo日志中操作系统块头信息损坏的处理过程

本文详细介绍了当Oracle的Redo日志操作系统块头信息损坏时的处理过程,包括如何通过复制健康的日志头来修复损坏的日志,并提供了具体的dd命令示例。在数据库启动时遇到此类问题,可通过此方法进行恢复。
摘要由CSDN通过智能技术生成

墨墨导读:前几天某客户遇到这个问题:文件系统损坏导致Current redo log异常,最终恢复过程比较简单,这里不再累述。本文详述redo log  os header block损坏的处理过程,希望对大家有帮助。

如下是简单测试过程:

SQL> select * from v$Log;
GROUP#    THREAD#  SEQUENCE#      BYTES  BLOCKSIZE    MEMBERS ARCHIV STATUS                           FIRST_CHANGE# FIRST_TIME   NEXT_CHANGE# NEXT_TIME        CON_ID
---------- ---------- ---------- ---------- ---------- ---------- ------ -------------------------------- ------------- ------------ ------------ ------------ ----------
1          1         21  209715200        512          1 NO     INACTIVE                              13356440 12-MAY-20        13356445 12-MAY-20             0
2          1         22  209715200        512          1 NO     CURRENT                               13356445 12-MAY-20      9.2954E+18                       0
3          1         19  209715200        512          1 NO     INACTIVE                              13356426 12-MAY-20        13356435 12-MAY-20             0
4          1         20  104857600        512          1 NO     INACTIVE                              13356435 12-MAY-20        13356440 12-MAY-20             0
SQL> select member from v$Logfile;
MEMBER
--------------------------------------------------
/opt/oracle/oradata/ENMOTECH/redo03.log
/opt/oracle/oradata/ENMOTECH/redo02.log
/opt/oracle/oradata/ENMOTECH/redo01.log
/opt/oracle/oradata/ENMOTECH/redo04.log
SQL> shutdown abort;
ORACLE instance shut down.
SQL> host
[oracle@mysqldb1 ~]$ cp /opt/oracle/oradata/ENMOTECH/redo02.log /opt/oracle/oradata/ENMOTECH/redo02.log.bak


这里我们分别dump一下redo log的os block:

[oracle@mysqldb1 ~]$ dd if=/opt/oracle/oradata/ENMOTECH/redo02.log bs=512 count=1 | od -x
1+0 records in
1+0 records out
512 bytes (512 B) copied, 4.6621e-05 s, 11.0 MB/s
0000000 2200 0000 0000 ffc0 0000 0000 0000 0400
0000020 9dc3 0000 0200 0000 4000 0006 7c7d 7a7b
0000040 0003 0000 0000 0000 0000 0000 0000 0000
0000060 0000 0000 0000 0000 0000 0000 0000 0000
*
0001000
[oracle@mysqldb1 ~]$ dd if=/opt/oracle/oradata/ENMOTECH/redo01.log bs=512 count=1 | od -x
1+0 records in
1+0 records out
512 bytes (512 B) copied, 6.8299e-05 s, 7.5 MB/s
0000000 2200 0000 0000 ffc0 0000 0000 0000 0400
0000020 9dc3 0000 0200 0000 4000 0006 7c7d 7a7b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值