oracle中以测试为目的人为制造物理坏块的方法
SQL> create table maclean_corrupt tablespace users as select * from dba_tables;
表已创建。
SQL> select dbms_rowid.rowid_block_number( rowid),dbms_rowid.rowid_ relative_fno(rowid) from maclean_corrupt where rownum<10;
DBMS_ROWID.ROWID_BLOCK_NUMBER( ROWID) DBMS_ROWID.ROWID_RELATIVE_FNO( ROWID)
—————————— —— —————————— ——
382307 6
382307 6
382307 6
382307 6
382307 6
382307 6
382307 6
382307 6
382307 6
已选择 9 行。
SQL> alter system checkpoint;
系统已更改。
C:\Users\xiangbli>rman target /
恢复管理器: Release 12.1.0.1.0 – Production on 星期日 9月 22 09:23:50 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: MACLEAN (DBID=1694338843)
RMAN> recover datafile 6 block 382307 clear;
启动 recover 于 22-9月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=254 设备类型=DISK
完成 recover 于 22-9月 -13
SQL> alter system flush buffer_cache;
系统已更改。
SQL> select count(*) from maclean_corrupt;
select count(*) from maclean_corrupt
*
第 1 行出现错误:
ORA-01578: ORACLE 数据块损坏 (文件号 6, 块号 382307)
ORA-01110: 数据文件 6: ‘C:\APP\XIANGBLI\ORADATA\ MACLEAN\USERS01.DBF’
Comment