Exp/Imp Oracle 10g

Backup, Recover, Import, Export, Datapump, etc
Responder
jerry-sc
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 45
Registrado em: Ter, 01 Nov 2011 1:24 pm

Boa tarde Pessoal,

Eu tenho meu banco de produção, e fiz um exp full do banco. Agora quero importar esse .dmp para um banco de testes, que utilizamos para tal.

Acontece que quando dou o comando para importar (usando usuário system), ele reclama que os usuários e as tablespaces não existem, e pára a importação por ali mesmo.

Alguém pode me dar uma dica, se tenho que passar algum parâmetro no comando IMP para que sejam criadas as tablespaces/usuários em meu banco de testes automaticamente?

Obrigado.
Avatar do usuário
fbifabio
Moderador
Moderador
Mensagens: 199
Registrado em: Ter, 22 Fev 2011 1:51 pm
Localização: São Paulo - SP
Contato:
Fábio Prado
www.fabioprado.net

@jerry-sc

O import (full ou não) não cria os tablespaces, portanto , no seu caso, sugiro que você monte um script SQL dinâmico lendo a visão DBA_TABLESPACES e passando como parâmetro para a package DBMS_METADATA o nome de cada tablespace para extrair o comando DDL deles. Pegue o resultado final dos DDLs e aplique no banco de testes, depois tente novamente fazer o import, ok?

Ahhh, talvez seja necessário fazer algumas alterações no caminho dos datafiles, caso a estrutura de pastas dos 2 Bds não seja a mesma.

[]s
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Brother ,ilustrando o que o Brother Fábio Prado falou,segue o script para geração do DDL de todas as tablespaces ,assim como o caminho dos datafiles.

Selecionar tudo

[oracle@adriano root]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 17 08:42:00 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL>set heading off;
SQL>set echo off;
SQL>Set pages 999;
SQL>set long 90000;
SQL>select dbms_metadata.get_ddl('TABLESPACE',tb.tablespace_name) from dba_tablespaces tb;

SQL> select dbms_metadata.get_ddl('TABLESPACE',tb.tablespace_name) from dba_tabl                                                                                       espaces tb;

DBMS_METADATA.GET_DDL('TABLESPACE',TB.TABLESPACE_NAME)
--------------------------------------------------------------------------------

  CREATE TABLESPACE "SYSTEM" DATAFILE
  '/u01/app/oracle/oradata/adriano/syste


  CREATE TABLESPACE "SYSAUX" DATAFILE
  '/u01/app/oracle/oradata/adriano/sysau


  CREATE UNDO TABLESPACE "UNDOTBS1" DATAFILE
  '/u01/app/oracle/oradata/adrian

DBMS_METADATA.GET_DDL('TABLESPACE',TB.TABLESPACE_NAME)
--------------------------------------------------------------------------------


  CREATE TEMPORARY TABLESPACE "TEMP" TEMPFILE
  '/u01/app/oracle/oradata/adria


  CREATE TABLESPACE "USERS" DATAFILE
  '/u01/app/oracle/oradata/adriano/users0


É isso ai ,boa sorte !!!
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Corrigindo :apareceu um também no nada no meu comando,segue corrigido.

Selecionar tudo

select dbms_metadata.get_ddl('TABLESPACE',t.tablespace_name) from dba_tablespaces t;
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Selecionar tudo

[oracle@adriano root]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 17 08:42:00 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

SQL>set heading off;
SQL>set echo off;
SQL>Set pages 999;
SQL>set long 90000;
SQL>select dbms_metadata.get_ddl('TABLESPACE',t.tablespace_name) from dba_tablespaces t;

DBMS_METADATA.GET_DDL('TABLESPACE',t.TABLESPACE_NAME)
--------------------------------------------------------------------------------

  CREATE TABLESPACE "SYSTEM" DATAFILE
  '/u01/app/oracle/oradata/adriano/syste


  CREATE TABLESPACE "SYSAUX" DATAFILE
  '/u01/app/oracle/oradata/adriano/sysau


  CREATE UNDO TABLESPACE "UNDOTBS1" DATAFILE
  '/u01/app/oracle/oradata/adrian

DBMS_METADATA.GET_DDL('TABLESPACE',também.TABLESPACE_NAME)
--------------------------------------------------------------------------------


  CREATE TEMPORARY TABLESPACE "TEMP" TEMPFILE
  '/u01/app/oracle/oradata/adria


  CREATE TABLESPACE "USERS" DATAFILE
  '/u01/app/oracle/oradata/adriano/users0
Responder
  • Informação
  • Quem está online

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