[Oracle]DBMS_REPAIR包修复损坏数据块(2)

文章作者 100test 发表时间 2007:03:14 13:53:52
来源 100Test.Com百考试题网


数据库已经打开。

SQL> CONN YANGTK/YANGTK@TEST

已连接。

SQL> SELECT * FROM TEST WHERE ID = 123.

SELECT * FROM TEST WHERE ID = 123

*

ERROR 位于第 1 行:

ORA-01578: ORACLE 数据块损坏(文件号7,块号6)

ORA-01110: 数据文件 7: E:\ORACLE\ORADATA\TEST\TEST.DBF

已经模拟成功了坏块,开始进入正题部分,使用DBMS_REPAIR表来处理坏块。

第三步:使用DBMS_REPAIR包处理坏块。

1.建立REPAIR_TABLE和ORPHAN_KEY_TABLE表

SQL> BEGIN

2 DBMS_REPAIR.ADMIN_TABLES (

3 TABLE_NAME => REPAIR_TABLE,

4 TABLE_TYPE => dbms_repair.repair_table,

5 ACTION => dbms_repair.create_action,

6 TABLESPACE => YANGTK).

7 END.

8 /

PL/SQL 过程已成功完成。

SQL> BEGIN

2 DBMS_REPAIR.ADMIN_TABLES (

3 TABLE_NAME => ORPHAN_KEY_TABLE,

4 TABLE_TYPE => dbms_repair.orphan_table,

5 ACTION => dbms_repair.create_action,

6 TABLESPACE => YANGTK).

7 END.

8 /

PL/SQL 过程已成功完成。

REPAIR_TABLE用来记录错误检查结果,ORPHAN_KEY_TABLE用来记录表坏块中记录在索引中的对应键值。

这两个表的删除可以通过下列存储过程完成

BEGIN

DBMS_REPAIR.ADMIN_TABLES (

TABLE_NAME => REPAIR_TABLE,

TABLE_TYPE => dbms_repair.repair_table,

ACTION => dbms_repair.0drop_action).

END.

/

BEGIN


相关文章


[Oracle]DBMS_REPAIR包修复损坏数据块(4)
使用新的list分割方法提高灵活性
Oracle9i新特性研究系列之七
[Oracle]DBMS_REPAIR包修复损坏数据块(1)
[Oracle]DBMS_REPAIR包修复损坏数据块(2)
监控和跟踪索引使用情况
在9i里对基于函数的索引进行仅索引扫描
Oracle10g中新的SQLoptimizerhints
Oracle回滚段表空间文件丢损的处理
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛