dbms_repair(修復)

dbms_repair包:
檢查,修復在表和索引上損壞的數據塊;

–1,admin_tables

/*
該過程提供了管理 修復表 和 孤表 的功能
table_name –{加前綴ORPHAN,REPAIR }
table_type –{dbms_repair.ORPHAN_TABLE ,dbms_repair.REPAIR_TABLE}
action – {dbms_repair.CREATE_ACTION;
dbms_repair.PURGE_ACTION;
dbms_repair.DROP_ACTION;}
tablespace –表所在的空間
*/

dbms_repair.admin_tables(
table_name => ,
table_type => ,
action => ,
tablespace =>
);

–建立了REPAIR_TABLE表(修復表)
begin
dbms_repair.admin_tables(
‘REPAIR_TABLE’,
dbms_repair.REPAIR_TABLE,
dbms_repair.CREATE_ACTION,
‘SYSTEM’);
end;

select * from REPAIR_TABLE;

–2,check_object

/*
該過程檢查特定的對象,並將損壞信息寫到修復表中去;
*/

dbms_repair.check_object(
schema_name => ,
object_name => ,
partition_name => ,
object_type => ,
repair_table_name =>
);

–3,dump_orphan_keys

/*
該過程用於報告指南損壞數據塊的 索引入口,
並會將相應的索引入口消息寫到孤表中去;
key_count –返回索引入口的個數
*/

dbms_repair.dump_orphan_keys(

  schema_name => ,
  object_name => ,
  partition_name => ,
  object_type => ,
  orphan_table_name =>,
  key_count =>  out

);

–4,fix_corrupt_blocks

/*
該過程用於修復數據塊;這些數據塊是在 check_object之後生成的;
fix_count –修復數據塊的個數
*/

dbms_repair.fix_corrupt_blocks(
schema_name => ,
object_name => ,
partition_name => ,
object_type => ,
repair_table_name => ,
fix_count => out
);

–5,rebuild_freelists

/*
用於重建指定對象的空閒空間
*/

dbms_repair.rebuild_freelists(
schema_name => ,
object_name => ,
partition_name => ,
object_type =>
);

–6,skip_corrupt_blocks

/*
用於指定在掃描對象時跳過損壞塊
flag –{
dbms_repair.SKIP_FLAG;
dbms_repair.NOSKIP_FLAG;
}
*/

dbms_repair.skip_corrupt_blocks(
schema_name => ,
object_name => ,
object_type => ,
flags =>
);

–7,segment_fix_status

/*
修復 位圖入口的損壞;
*/

dbms_repair.segment_fix_status(
,segment_owner => ,
segment_name => ,
segment_type => ,
file_number => ,
block_number => ,
partition_name => –指定分區名

);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章