Como exportar o esquema da base de dados no Oracle para um ficheiro de dump [fechado]

Tenho um esquema da base de dados sobre a Oracle. servidor instalado em uma máquina Linux. Preciso de exportar a informação relacionada com o esquema num ficheiro de despejo.

Como fazer isto ?

Author: Tunaki, 2014-05-14

1 answers

Depende de que versão do Oráculo? Versões mais antigas requerem exp (exportação), versões mais recentes usam expdp (bomba de dados); exp foi desactualizado, mas ainda funciona a maior parte do tempo.

Antes de iniciar, note que a bomba de dados exporta para o "diretório" Oracle do lado do servidor, que é uma localização simbólica Oracle mapeada na base de dados para uma localização física. Poderá existir uma pasta por omissão( DATA_PUMP_DIR), verifique se questiona os DBA_DIRECTORIES:

  SQL> select * from dba_directories;

... e se não, criar 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

Assumindo que pode ligar-se como utilizador do sistema ou como outro DBA, poderá exportar qualquer esquema como este para a pasta por omissão:

 $ expdp system/manager schemas=user1 dumpfile=user1.dpdmp

Ou especificar uma pasta específica, adicionar directory=<directory name>:

 C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR

Com o utilitário de exportação mais antigo, poderá exportar para o seu directório de trabalho, e mesmo numa máquina cliente que esteja afastada do servidor, usando:

 $ exp system/manager owner=user1 file=user1.dmp

Certifique-se que a exportação é feita na codificação correcta. Se você não configurou seu ambiente, o cliente Oracle a codificação pode não corresponder à codificação DB, e a Oracle fará a conversão da codificação, o que pode não ser o que deseja. Você verá um aviso, se assim for, então você vai querer repetir a exportação depois de definir a variável de ambiente NLS_LANG para que a codificação do cliente corresponda à codificação da base de dados. Isto fará com que a Oracle não Converse com a charset.

Exemplo para o UTF8 Americano (UNIX):

 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

O Windows usa o SET, por exemplo, usando o UTF8 Japonês:

 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8
Mais informações sobre a bomba de dados aqui: http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624
 25
Author: codenheim, 2015-07-06 15:55:15