Oracle数据块的损坏可以分为物理损坏和逻辑损坏,参照
http://blog.csdn.net/yidian815/article/details/39990803
物理损坏和逻辑损坏发生的场景不同,因此处理的方式方法也就不同。在很多情况下,相同的损坏块处理方法对于物理损坏和逻辑损坏会产生不同的结果。对于物理损坏的模拟是比较容易的,而对逻辑损坏的模拟却不常见。
物理损坏:
要模拟物理损坏,我们只需直接手工编辑物理块既可(通过UTRAEDIT\BBED等),如
SQL> select object_name,dbms_rowid.rowid_block_number(rowid) from t1 where rownum < 9;
OBJECT_NAME DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------ ------------------------------------
ICOL$ 20
I_USER1 20
CON$ 20
UNDO$ 20
C_COBJ# 20
I_OBJ# 20
PROXY_ROLE_DATA$ 20
I_IND1 20
8 rows selected.
BBED> set file 5
FILE# 5
BBED> set block 20
BLOCK# 20
BBED> finr /c PROXY
BBED-00200: invalid keyword (finr)
BBED> find /c PROXY
File: /home/app/oraten/oradata/oraten/tbs101.dbf (5)
Block: 20 Offsets: 4223 to 4734 Dba:0x01400014
------------------------------------------------------------------------
50524f58 595f524f 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>
BBED> dump /v
File: /home/app/oraten/oradata/oraten/tbs101.dbf (5)
Block: 20 Offsets: 4223 to 4734 Dba:0x01400014
-------------------------------------------------------
50524f58 595f524f 4c455f44 41544124 l PROXY_ROLE_DATA$
5f32ff02 c11c02c1 1c05494e 44455807 l _2........INDEX.
786e0414 09191d07 786e0414 09191d13 l xn......xn......
32303130 2d30342d 32303a30 383a3234 l 2010-04-20:08:24
3a323805 56414c49 44014e01 4e014e2c l :28.VALID.N.N.N,
000c0749 5f555345 5223ff02 c10c02c1 l ...I_USER#......
0c05494e 44455807 786e0414 09191d07 l ..INDEX.xn......
786e0414 09191d13 32303130 2d30342d l xn......2010-04-
32303a30 383a3234 3a323805 56414c49 l 20:08:24:28.VALI
44014e01 4e014e2c 000c0649 5f434f4c l D.N.N.N,...I_COL
31ff02c1 2e02c12e 05494e44 45580778 l 1........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,.
0c07495f 43434f4c 32ff02c1 3802c138 l ..I_CCOL2...8..8
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
33ff02c1 3502c135 05494e44 45580778 l 3...5..5.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.