Olá pessoal,
venho pedir auxílio novamente a lista para um novo problema no meu banco 
de dados:

ORA-01578: ORACLE data block corrupted (file # 1, block # 8714)
ORA-01110: data file 1: '/u01/app/oracle/oradata/msystems/system01.dbf'

Como tentei resolver: primeiro eu fui achar qual o data block:

SELECT SEGMENT_TYPE,OWNER||'.'||SEGMENT_NAME FROM DBA_EXTENTS
 WHERE 1 = FILE_ID AND 8714 BETWEEN BLOCK_ID AND BLOCK_ID+BLOCKS -1;

Foi na tabela de SEQUENCE SYS.SEQ$

SELECT data_object_id FROM dba_objects WHERE object_name = 'SEQ$' AND 
owner = 'SYS';

Tentei consertar a tabela - geralmente isso funciona mas dessa vez não 
funcionou...

begin
  dbms_repair.admin_tables(
     table_name => 'REPAIR_TABLE',
     table_type => dbms_repair.repair_table,
     action     => dbms_repair.create_action,
     tablespace => 'USER3'
   );
end;

declare
  contador pls_integer;
begin
  SYS.DBMS_REPAIR.CHECK_OBJECT( SCHEMA_NAME => 'SYS',OBJECT_NAME => 'SEQ$',
                                                              
REPAIR_TABLE_NAME => 'REPAIR_TABLE',    CORRUPT_COUNT => contador );
  dbms_output.put_line('Value of ='||TO_CHAR(contador));
end;

Tentei também sem sucesso

declare
  contador pls_integer;
begin
  DBMS_REPAIR.FIX_CORRUPT_BLOCKS( 'SYS','SEQ$', NULL,1, 'REPAIR_TABLE', 
NULL,contador);
  dbms_output.put_line('Value of ='||TO_CHAR(contador));
end;

Enfim, novamente estou com o banco parado!
Qualquer ajuda será de grande valia.

Josir Gomes





[As partes desta mensagem que não continham texto foram removidas]

Responder a