Pesquisa

segunda-feira, 13 de maio de 2013

Exportação de Dados no Oracle

Visite minha WEB: http://tecnetview.webnode.com/


Veja neste artigo a exportação de dados no Oracle.

Quando precisamos transferir os dados de um servidor Oracle para outro, ou para realizarmos cópias de segurança, uma das alternativas é utilizar a ferramenta “exp”, que está presente em todas as versões do Oracle.
Esta ferramenta normalmente executada em linha de comando, possui diversos parâmetros para definir o que deve ser exportado. O objetivo deste artigo é explicar alguns destes parâmetros.
No final serão abordadas algumas informações sobre a ferramenta “imp” que realiza o oposto do “exp”, ela importa os objetos para o banco de dados.

1.    Exportando dados no Oracle com o “Exp”

O utilitário “exp” irá gerar um arquivo (dump) binário com os objetos e as estruturas dos mesmos.
Este arquivo pode ser enviado para outro servidor, com sistema operacional distinto que mesmo assim será possível realizar a importação dos dados. Somente é necessário cuidar para que a versão do programa importador (imp) não seja anterior a versão que foi empregada para gerar o arquivo.
É possível usar este utilitário de forma interativa, neste artigo serão mostrados os parâmetros mais comuns quando executado em linha de comando.

·         String de conexão com o banco de dados
Para conectar com o Oracle precisamos informar o usuário, a senha e a instância do Oracle.
Formato: usuário/senha@instância, caso seja executado o comando diretamente no servidor, onde exista somente uma instância do Oracle, não precisaremos informar a instância.

·         Arquivo de destino
O arquivo que iremos gerar deve ser informado no parâmetro file. Normalmente a extensão utilizada é “dmp”.
Formato: file=caminho\arquivo.dmp

·         Log da exportação
Caso seja interessante gerar um log com informações sobre a exportação dos objetos.
Formato: log=caminho\arquivo.log

·         Exportação do banco de dados inteiro
Quando for necessário exportar todo o banco de dados utilize o parâmetro FULL.
Formato: full=y

·         Exportação de Grants (direitos)
Normalmente o exp grava os grants relacionados a cada objeto, porém se estiver exportando somente alguns objetos e/ou usuários, muitas vezes os direitos atribuídos em um ambiente não tenham sentido no servidor de destino dos objetos.
Formato: grants=n
·         Exportação de Índices
Caso não seja necessário enviar os índices para o Oracle de destino.
Formato: indexes=n

·         Seleção de Tabelas
Para selecionar somente algumas tabelas para exportar, informe o parâmetro Table.
Formato: tables=(Tabela1,Tabela2,...,TabelaN)

·         Exportação de Triggers
Caso não seja necessário enviar as triggers para o Oracle de destino.
Formato: triggers=n

2.    Importando com o “Imp”

Algumas considerações são importantes no momento de importar os dados em versões diferentes do Oracle:
·         Usar um programa imp com a mesma versão do exp usado para exportar os dados.
·         Quando o banco de destino possuir uma versão menor do que a origem, exportar os dados com o exp da versão do destino.
·         Se o usuário que exportou os dados tiver direitos de DBA, será necessário importar os dados com um usuário que também tenha direitos de DBA.
·         Considere a tabela de caracteres configurada na Origem e no Destino, dependendo da combinação a acentuação e caracteres especiais podem ser perdidos.

·         String de conexão com o banco de dados
Da mesma forma como no exp precisamos informar a string de conexão com o banco de dados de destino.
Formato: usuário/senha@instância

·         Arquivo de origem
O arquivo de onde serão lidas as informações deve ser especificado no parâmetro file. Formato: file=caminho\arquivo.dmp

·         Log da importação
Para registrar as ocorrências da importação das informações utilize o parâmetro log.
Formato: log=caminho\arquivo.log

·         Troca de usuário
Caso o usuário de destino dos objetos seja diferente do usuário de origem, precisaremos indicar isto para o importador através de dois parâmetros: fromuser e touser.
Formato: fromuser=usuarioorigem touser=usuariodestino

·         Importação do arquivo inteiro
Para importarmos todos os objetos exatamente como foi exportado, basta informar o parâmetro full.
Formato: full=y

·         Ignorar erros
Para desprezar os erros de criação dos objetos informe o parâmetro Ignore. Caso este parâmetro não seja informado e alguma tabela que estiver sendo importada, já existir, será gerado um erro e os dados desta tabela não serão incluídos.
Formato: ignore=y

·         Importar os dados das tabelas
Caso seja necessário somente importar a estrutura dos objetos informe o parâmetro rows, assim os dados das tabelas não serão inseridos.
Formato: rows=n

·         Visualização do conteúdo do arquivo
Para consultar o conteúdo do arquivo de importação.
Formato: show=y

·         Seleção de Tabelas
Para selecionar somente algumas tabelas para importar, utilize o parâmetro Table.
Formato: tables=(Tabela1,Tabela2,...,TabelaN)

3.    Exemplos de Exportação e Importação


Para estes exemplos será considerado o seguinte ambiente:

Usuário do banco de dados:                   Exemplo
Senha do banco de dados:            Senha123
Instância do Oracle:                    ORCL
Arquivo a ser gerado/importado:   C:\tmp\DadosExemplo.dmp

·         Exportar todos os objetos do usuário Exemplo:
exp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp

·         Exportar somente as tabelas Empresas e Clientes do usuário Exemplo:
exp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp tables=(Empresas,Clientes)


·         Importar todos os objetos do usuário Exemplo:
imp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp full=y

·         Importar somente as tabelas Empresas e Clientes do usuário Exemplo:
imp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp fromuser=Exemplo tables=(Empresas,Clientes)

·         Importar todos os objetos do usuário Exemplo e gravar no usuário Producao:
imp Producao/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp fromuser=Exemplo touser=Producao

Conclusão

Os utilitários “exp” e “imp” são usados com bastante freqüência em ambientes com Oracle, neste artigo foram apresentadas somente as opções mais triviais.
Caso utilize como solução para backup, mantenha as opções tradicionais do Oracle e use somente como um complemento a estes utilitários.

Nenhum comentário: