Falha na exportação do Oracle: EXP-00006: erro interno de inconsistência

1

Minha chamada para a exp da Oracle está falhando:

EXP-00006: internal inconsistency error
EXP-00000: Export terminated unsuccessfully

O comando que eu executo é

C:\oracle\product.1.0\db_1\BIN\exp user/pass@instance file=dump.dmp log=log.log compress=y owner=user

A tabela que está falhando contém

  • 1 número não nulo (38) colunas (chave primária)
  • 18 varchar2 (100) colunas

A chave primária também é uma chave estrangeira para outra tabela.

Todos os resultados da pesquisa dizem que devo entrar em contato com o Oracle, mas não há outra correção para esse problema? Talvez uma reconstrução de uma mesa?

    
por Michiel Overeem 02.09.2009 / 08:56

3 respostas

2

Se você tiver o Suporte da Oracle, informe-os. Pode ser um problema interno com a própria exportação e eles solicitarão informações adicionais, informarão o que tentar e assim por diante, até que você resolva o problema. Você provavelmente também receberá um patch / correção se houver.

Eu sugiro fazer a exportação com o datapump, pois a exportação é obsoleta. Você precisa definir um diretório para o qual o oracle deve colocar os dados exportados, depois iniciar o datapump. É fácil, mais rápido e mais confiável e flexível do que importar / exportar.

Exemplo:

SQL> CREATE OR REPLACE DIRECTORY expdump AS '/export/home/oracle/expdump';

SQL> GRANT READ, WRITE ON DIRECTORY expdump TO user_who_will_export;

Em seguida, execute:

$ expdp user/pass schemas=schema1,schema2 directory=expdump dumpfile=myexport.dmp logfile=myexport.log

Adição: Parece que você tem problemas com a consistência do banco de dados. Execute a validação lógica e física com o RMAN para detectar outros problemas:

RMAN> connect target /

RMAN> run {
# set disk to be default device type
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
# number of concurrent sessions to spawn (if you can affor parallelism)
CONFIGURE DEVICE TYPE DISK PARALLELISM 10 BACKUP TYPE TO BACKUPSET;
# check datafiles for corruption 10 datafiles in each session (if you can afford paralellism)
BACKUP VALIDATE CHECK LOGICAL DATABASE FILESPERSET=10;
}

O código é genérico, este trecho emprestado de link

    
por 02.09.2009 / 16:03
2

executar: analisar tabela validar estrutura em cascata;

Veja se ele retorna um erro de que algo está errado. Se o seu é um índice que está corrompido, solte e recriar, se o seu algo mais tentar reparar a tabela, se você pode / sabe como. Obtenha suporte da oracle para ajudar se você precisar.

    
por 29.09.2009 / 17:45
1

Eu consertei esse problema determinando qual tabela é a causa do problema. Eu então copiei essa tabela para uma nova:

create table X as Select * from Y

depois disso, larguei a tabela antiga e renomei a nova tabela. Eu criei as restrições e tudo estava bem.

    
por 02.09.2009 / 16:45

Tags