Olá ClaudioFreis,
bem-vindo ao forum GLUFKE !
Sobre o problema que você relata, a versão de banco de dados de origem e destino pertenceriam exatamente ao mesmo release? Por exemplo, são ambos releases 11.0.2? Se houver diferença de versões entre origem e destino, você deve utilizar o programa de EXP/IMP mais antigo.
Por exemplo, se a sua base de origem é 10G e a de destino 11G, você precisa fazer seu export/import com os programas EXP/IMP do release 10G.
Um outro ponto: ao invés de fazer um export/import FULL da base de dados, você pode limitar o seu DUMP ao schema que deseja fazer este export/import.
Para EXPORT, você pode usar esta sintaxe (EXEMPLO):
Selecionar tudo
exp system/manager@XPTO FILE=EXP_ORIGEM.DMP OWNER=<nome_schema_a_exportar> DIRECT=Y ROWS=Y GRANTS=Y STATISTICS=NONE COMPRESS=Y BUFFER=10000000 LOG=EXP_ORIGEM.LOG
Para IMPORT, você pode usar esta sintaxe (EXEMPLO):
Selecionar tudo
imp system/manager@XPTO FILE=EXP_ORIGEM.DMP FROMUSER=<nome_schema_exportado> TOUSER=<nome_do_schema_destino> IGNORE=Y ROWS=Y GRANTS=Y BUFFER=10000000 LOG=IMP_ORIGEM.LOG
Certifique-se de que o schema a receber este DUMP pelo import não tenha objetos de outra tentativa anterior de IMPORT.
Um outro ponto: se a versão do seu banco de dados é 11G, tome cuidado com as tabelas que nunca foram populadas com dados. No release 11G, o ORACLE não aloca espaço na tablespace para uma tabela recem-criada. Somente quando a mesma for populada uma primeira vez com registros, então o ORACLE alocará espaços (SEGMENTS) na tablespace em questao. Como o ORACLE utiliza as informações de segmentos para relacionar as tabelas que precisa exportar, então seu DUMP pode ficar imcompleto.
Para este caso que mencionei acima, sugiro que faça um comando de
para todas as tabelas "virgens de dados" em seu banco de dados de ORIGEM antes de executar o EXPORT. Isso garantirá que todas as tabelas do schema sejam relacionadas no seu EXPORT.
Abraços e boa srote,
Sergio Coutinho