Obrigado pelo reply Igor. Eu não estou usando o RMAN nesse servidor - eu só usava IMPORT/EXPORT pois ele funcionou por 5 anos sem dar nenhum pau ... Era muito estável. Dava umas travadas de vez de 2 em 2 dias mas quando voltava, ele se auto recuperava....
O problema era que eu não conseguia nem fazer um EXPORT. Qual foi a solução ? 1) Copiei todos os registro visíveis do SEQ$ para uma outra tabela (utilizando SELECT * FROM SEQ$ WHERE ROWNUM < 95) 2) Dei um RENAME na tabela SEQ$ 3) Recriei ela. 4) Trouxe os dados de volta e tentei dar um drop em uma das sequences. Não funcionou: deu ORA-600 5) Fiz um OUTER JOIN com o OBJ$ para ver quais as sequences que tinham se perdido. Inseri os registros na SEQ$ 6) Também não funcionou - deu ORA-600 Mas, pelo menos, quando eu recriei a SEQ$, eu consegui fazer o EXPORT das bases de dados. Exportei os dados para outro servidor e vou reformatar a máquina com um Oracle XE. Nessa brincadeira fiquei até as 2 da manhã para deixar o banco pronto para os usuários... Saudações a todos e bom fim de semana! > Voce utiliza RMAM como backup?se sim com o RMAM você pode voltar backup a > nível de block. > > Em 17/05/07, Josir Gomes <[EMAIL PROTECTED] > <mailto:josir%40jsk.com.br>> escreveu: > > > > 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] > > > > > > > > -- > [ ]'s > Igor Laguardia > [As partes desta mensagem que não continham texto foram removidas]