Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como exportar o esquema de banco de dados no Oracle para um arquivo de despejo


Depende de qual versão do Oracle? Versões mais antigas requerem exp (exportação), versões mais recentes usam expdp (bomba de dados); exp foi preterido, mas ainda funciona na maioria das vezes.

Antes de começar, observe que o Data Pump exporta para o "diretório" Oracle do lado do servidor, que é um local simbólico do Oracle mapeado no banco de dados para um local físico. Pode haver um diretório padrão (DATA_PUMP_DIR), verifique consultando DBA_DIRECTORIES:
  SQL> select * from dba_directories;

... e se não, crie um
  SQL> create directory DATA_PUMP_DIR as '/oracle/dumps';
  SQL> grant all on directory DATA_PUMP_DIR to myuser;    -- DBAs dont need this grant

Supondo que você possa se conectar como o usuário SYSTEM ou outro DBA, você pode exportar qualquer esquema assim, para o diretório padrão:
 $ expdp system/manager schemas=user1 dumpfile=user1.dpdmp

Ou especificando um diretório específico, adicione directory=<directory name> :
 C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR

Com o utilitário de exportação mais antigo, você pode exportar para seu diretório de trabalho e até mesmo em uma máquina cliente remota do servidor, usando:
 $ exp system/manager owner=user1 file=user1.dmp

Certifique-se de que a exportação seja feita no charset correto. Se você não configurou seu ambiente, o conjunto de caracteres do cliente Oracle pode não corresponder ao conjunto de caracteres do banco de dados e o Oracle fará a conversão do conjunto de caracteres, o que pode não ser o que você deseja. Você verá um aviso, em caso afirmativo, então você desejará repetir a exportação após definir a variável de ambiente NLS_LANG para que o charset do cliente corresponda ao charset do banco de dados. Isso fará com que o Oracle ignore a conversão do conjunto de caracteres.

Exemplo para UTF8 americano (UNIX):
 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

O Windows usa SET, exemplo usando UTF8 japonês:
 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8

Mais informações sobre o Data Pump aqui:http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624