Como obter uma exportação consistente com o Oracle Data Pump?

Como obter uma exportação consistente com o Oracle Data Pump?

Estou tentando obter uma exportação consistente (com bomba de dados) de um esquema que emula o arquivo CONSISTENT=Y. Atualmente estou executando o data pumb desta forma:

'/ AS SYSDBA' schemas=arrels dumpfile=arrels.dmp nologfile=y flashback_time='2009-06-03 12:00:02' 

Mas ao importar mostra erros de inconsistência:

ORA-02298: cannot enable name - parent keys not found

Se a exportação da bomba de dados estiver funcionando flashback_timee, claro, as restrições forem validadas no momento da exportação:

  • Porque isso está acontecendo?
  • Alguma sugestão para resolver isso?

Responder1

Encontrei uma resposta para o problema. Coloquei exatamente o timestamp atual:

flashback_time='2009-06-03 12:05:02'

Se eu colocar um carimbo de data/hora mais cedo (por exemplo, 5 minutos antes), funciona perfeitamente...

Responder2

Você tem certeza de que o esquema que está exportando ('arrels') não possui restrições referenciais que se referem a objetos em outros esquemas? Se uma ou mais referências de chave estrangeira no esquema arrels se referirem a tabelas em outros esquemas, você também terá que exportá-las/importá-las.

EDIT: A documentação parece indicar que você precisa especificar o tempo de flashback entre aspas duplas, por exemplo:

'...flashback_time='"03/06/2009 12:00:02"'

Outro exemplo que encontrei foi usar a função TO_TIMESTAMP:

exp sistema/gerente arquivo=exp.dmp flashback_time=\"TO_TIMESTAMP('19-06-2004 13:24:26', 'DD-MM-YYYY HH24:MI:SS')\"

Além disso, você deve ter o gerenciamento automático de desfazer habilitado para usar isso.

informação relacionada