oracle中以测试为目的人为制造物理坏块的方法

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

*

沪ICP备14014813号-2

沪公网安备 31010802001379号