Ajuda com Dump Exp/Imp

Backup, Recover, Import, Export, Datapump, etc
Responder
claudiofreis
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Seg, 22 Abr 2013 2:17 pm

Ola senhores estou tendo que aprender a fazer um Dump de Exp e Imp coisa que nunca tinha feito
faço a exportação mas quando faço a importação ele gera varios erros mas que provavelmente ocorre na exportação o usuario eu já criei e dei os grants para criar tabelas,sessions,sinonimos,procedures,views,sequences espero que possam me ajudar foi dado desta forma os comandos

Selecionar tudo

C:\>EXP MSAF/MSAF@BDESENV FILE=C:\app\dump\msaf.dmp full=y;
C:\> IMP TESTE2/SENHA@BDESENV FILE=C:\app\dump\msaf.dmp full=y;
e com isso ele gera varios erros no final do arquivo gerado :

Selecionar tudo

ORA-02304: literal do identificador de objeto invalido
IMP:00017:  a instrucao a seguir falhou com o erro 2304 ORACLE:
CREATE TYPE " IMF_MOVTO_REGIAO_CIDADE" TIMESTAMP '2013-01-14....

E NO FINAL DO IMP ELE GEROU

Selecionar tudo

IMP -0017: a instrucao a seguir falhou com varios erros iguais a este 2430 oracle:
"Alter table "estabelecimento" ENABLE CONSTRAINT "FK_SAF_1247"

EU PRECISO EXPORTAR TUDO QUE FOR DO USUARIO DE ORIGEM E IMPORTAR EM OUTRO USUARIO
ATT.
CLAUDIO
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

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

Selecionar tudo

ALTER TABLE <tabela> ALLOCATE EXTENT
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
Michel Pessoa
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 4
Registrado em: Seg, 18 Nov 2013 2:24 pm

Caso a versão do Oracle seja 10G ou superior aconselho a execução do Data Pump. Segue passa-a-passo abaixo:

EXPORTAÇÃO:

Precisamos criar um diretório na base de dados, por exemplo:

Selecionar tudo

CREATE OR REPLACE DIRECTORY BACKUP_muito AS 'C:\BACKUP';
'C:\BACKUP' é o caminho escolhido para este diretório. Neste local que será gerado o arquivo DMP

BACKUP_muito foi o nome dado para este diretório.

Para que o usuário possa acessar um diretório é necessário que o mesmo tenha permissão. A permissão é concedida desta forma:

Selecionar tudo

GRANT READ, WRITE ON DIRECTORY BACKUP_muito TO NAME_SCHEMA;

Selecionar tudo

NAME_SCHEMA
é o usuário que receberá a permissão.

Abra o Prompt de Comando para gerar o dump propriamente dito.

Selecionar tudo

EXPDP NAME_SCHEMA DIRECTORY=BACKUP_muito DUMPFILE=NOME_DO_ARQUIVO.DMP SCHEMAS=NAME_SCHEMA

Selecionar tudo

NAME_SCHEMA
é o usuário escolhido para logar.

Selecionar tudo

DUMPFILE=NOME_DO_ARQUIVO.DMP

é o arquivo que será gerado. Como sugestão, escolha uma nomenclatura que identifique o cliente/produto e a data do backup.

Selecionar tudo

SCHEMAS=NAME_SCHEMA

trata-se do schema que deseja realizar o backup.



IMPORTAÇÃO:

Comando para ser executado no Prompt de Comando:

Selecionar tudo

IMPDP NAME_SCHEMA DIRECTORY=BACKUP_muito DUMPFILE=NOME_DO_ARQUIVO.DMP REMAP_SCHEMA=USER_OLD:USER_NEW REMAP_TABLESPACE=TABLESPACE_OLD:TABLESPACE_NEW
Segue a mesma linha de raciocínio da exportação.

Selecionar tudo

REMAP_SCHEMA=USER_OLD:USER_NEW

Altera o nome do schema de origem para o destino, separando por dois pontos (:).

Selecionar tudo

REMAP_TABLESPACE=TABLESPACE_OLD:TABLESPACE_NEW
Altera a tablespace de origem para o destino, separando por dois pontos (:).
al3ks4nder
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Qui, 25 Ago 2016 4:39 pm

Desculpe reviver o tópico.. mas estou pesquisando e tentando resolver uma mensagem que esta dando no momento de tentar o expdp.

Selecionar tudo

Conectado a: Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
ORA-39002: operação inválida
ORA-39070: Não é possível abrir o arquivo de log.
ORA-39087: o nome do diretório ORACLE é inválido
Não sei o que pode ta acontecendo.. sou novo no assunto e ainda tenho dificuldades.. a opçao pra fazer o expdp foi que o dump normal estava gerando problemas nas sequences e dava erro de integridade ao salvar um novo registro..

Obrigado desde já
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes