设为首页 加入收藏

TOP

构建并修复逻辑损坏块和物理损坏块(二)
2014-11-24 00:34:04 来源: 作者: 【 】 浏览:40
Tags:构建 修复 逻辑 损坏 物理
N,. 0c07495f 49434f4c 31ff02c1 2902c129 l ..I_ICOL1...)..) 05494e44 45580778 6e041409 191d0778 l .INDEX.xn......x 6e041409 191d1332 3031302d 30342d32 l n......2010-04-2 303a3038 3a32343a 32380556 414c4944 l 0:08:24:28.VALID 014e014e 014e2c00 0c07495f 43444546 l .N.N.N,...I_CDEF 31ff02c1 3302c133 05494e44 45580778 l 1...3..3.INDEX.x 6e041409 191d0778 6e041409 191d1332 l n......xn......2 3031302d 30342d32 303a3038 3a32343a l 010-04-20:08:24: 32380556 414c4944 014e014e 014e2c00 l 28.VALID.N.N.N,. <16 bytes per line> BBED> modify /c abcde Warning: contents of previous BIFILE will be lost. Proceed (Y/N) y File: /home/app/oraten/oradata/oraten/tbs101.dbf (5) Block: 20 Offsets: 4223 to 4734 Dba:0x01400014 ------------------------------------------------------------------------ 61626364 655f524f 4c455f44 41544124 5f32ff02 c11c02c1 1c05494e 44455807 786e0414 09191d07 786e0414 09191d13 32303130 2d30342d 32303a30 383a3234 3a323805 56414c49 44014e01 4e014e2c 000c0749 5f555345 5223ff02 c10c02c1 0c05494e 44455807 786e0414 09191d07 786e0414 09191d13 32303130 2d30342d 32303a30 383a3234 3a323805 56414c49 44014e01 4e014e2c 000c0649 5f434f4c 31ff02c1 2e02c12e 05494e44 45580778 6e041409 191d0778 6e041409 191d1332 3031302d 30342d32 303a3038 3a32343a 32380556 414c4944 014e014e 014e2c00 0c07495f 43434f4c 32ff02c1 3802c138 05494e44 45580778 6e041409 191d0778 6e041409 191d1332 3031302d 30342d32 303a3038 3a32343a 32380556 414c4944 014e014e 014e2c00 0c07495f 43444546 33ff02c1 3502c135 05494e44 45580778 6e041409 191d0778 6e041409 191d1332 3031302d 30342d32 303a3038 3a32343a 32380556 414c4944 014e014e 014e2c00 0c07495f 49434f4c 31ff02c1 2902c129 05494e44 45580778 6e041409 191d0778 6e041409 191d1332 3031302d 30342d32 303a3038 3a32343a 32380556 414c4944 014e014e 014e2c00 0c07495f 43444546 31ff02c1 3302c133 05494e44 45580778 6e041409 191d0778 6e041409 191d1332 3031302d 30342d32 303a3038 3a32343a 32380556 414c4944 014e014e 014e2c00 <32 bytes per line> SQL> alter system flush buffer_cache; System altered. SQL> select object_name,dbms_rowid.rowid_block_number(rowid) from t1 where rownum < 9; select object_name,dbms_rowid.rowid_block_number(rowid) from t1 where rownum < 9 * ERROR at line 1: ORA-01578: ORACLE data block corrupted (file # 5, block # 20) ORA-01110: data file 5: '/home/app/oraten/oradata/oraten/tbs101.dbf'

而对物理损坏的修复也非常简单( 上面修改的并不是第7条记录):

BBED> sum apply
Check value for File 5, Block 20:
current = 0xb5e0, required = 0xb5e0
SQL> alter system flush buffer_cache;

System altered.

SQL> select object_name,dbms_rowid.rowid_block_number(rowid) from t1 where object_name like '%abcde%';

OBJECT_NAME		       DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------ ------------------------------------
I_abcde_ROLE_DATA$_2						 20

对于逻辑损坏的模拟,确实比较麻烦,因为只有oracle才知道数据块的内部逻辑结构。今天我们尝试模拟一种逻辑错误。我们指定oracle的数据是以row为单位存储在数据块中的,而每个row的第一个byte具有特殊含义,该字节的每一个位都表示不同的含义,如下图

\html\wpsEFAC.tmp.png" width="554" />

如果我们通过bbed手工修改该byte的存储内容,那么oracle就有可能不能很好的识别该条记录,从而引发逻辑错误。

BBED> set file 5
	FILE#          	5

BBED> set block 20
	BLOCK#         	20

BBED> map /v
 File: /home/app/oraten/oradata/oraten/tbs101.dbf (5)
 Block: 20                                    Dba:0x01400014
------------------------------------------------------------
 KTB Data Block (Table/Cluster)

 struct kcbh, 20 bytes                      @0       
    ub1 type_kcbh                           @0       
    ub1 frmt_kcbh                           @1       
    ub1 spare1_kcbh                         @2       
    ub1 spare2_kcbh                         @3       
    ub4 rdba_kcbh                           @4       
    ub4 bas_kcbh                            @8       
    ub2 wrp_kcbh                            @12      
    ub1 seq_kcbh                            @14      
    ub1 flg_kcbh                            @15      
    ub2 chkval_kcbh                         @16      
    ub2 spare3_kcbh                         @18      

 struct kt
首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇数据同步之各站点同步表触发器创建 下一篇校验当前实例下摆的所有过程值

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: