WEB开发网
开发学院数据库Oracle 如何使用DBMS_REPAIR检测和修补数据坏块 阅读

如何使用DBMS_REPAIR检测和修补数据坏块

 2008-11-10 12:58:38 来源:WEB开发网   
核心提示: SQL> @checkObjectSQL> set serveroutput onSQL>SQL> declare2 rpr_count int;3 begin4 rpr_count := 0;5 dbms_repair.check_object (6 schema

  SQL> @checkObject
  SQL> set serveroutput on
  SQL>
  SQL> declare
  2 rpr_count int;
  3 begin
  4 rpr_count := 0;
  5 dbms_repair.check_object (
  6 schema_name => 'SYSTEM',
  7 object_name => 'T1',
  8 repair_table_name => 'REPAIR_TABLE',
  9 corrupt_count => rpr_count);
  10 dbms_output.put_line('repair count: ' || to_char(rpr_count));
  11 end;
  12 /
  repair count: 1
  PL/SQL procedure successfully completed.

repair_table的结构如下:

  SQL> desc repair_table
  Name Null? Type
  ----------------------------------------- -------- ----------------------------
  OBJECT_ID NOT NULL NUMBER
  TABLESPACE_ID NOT NULL NUMBER
  RELATIVE_FILE_ID NOT NULL NUMBER
  BLOCK_ID NOT NULL NUMBER
  CORRUPT_TYPE NOT NULL NUMBER
  SCHEMA_NAME NOT NULL VARCHAR2(30)
  OBJECT_NAME NOT NULL VARCHAR2(30)
  BASEOBJECT_NAME VARCHAR2(30)
  PARTITION_NAME VARCHAR2(30)
  CORRUPT_DESCRIPTION VARCHAR2(2000)
  REPAIR_DESCRIPTION VARCHAR2(200)
  MARKED_CORRUPT NOT NULL VARCHAR2(10)
  CHECK_TIMESTAMP NOT NULL DATE
  FIX_TIMESTAMP DATE
  REFORMAT_TIMESTAMP DATE

我们可以从repair_table中查询坏块的情况:

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:如何 使用 DBMS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接