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]

Responder a