You are on page 1of 3

Exportao de Dados no Oracle

Quando precisamos transferir os dados de um servidor Oracle para outro, ou para realizarmos cpias de segurana, uma das alternativas utilizar a ferramenta exp, que est presente em todas as verses do Oracle. Esta ferramenta normalmente executada em linha de comando, possui diversos parmetros para definir o que deve ser exportado. O objetivo deste artigo explicar alguns destes parmetros. No final sero abordadas algumas informaes 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 utilitrio exp ir gerar um arquivo (dump) binrio com os objetos e as estruturas dos mesmos. Este arquivo pode ser enviado para outro servidor, com sistema operacional distinto que mesmo assim ser possvel realizar a importao dos dados. Somente necessrio cuidar para que a verso do programa importador (imp) no seja anterior a verso que foi empregada para gerar o arquivo. possvel usar este utilitrio de forma interativa, neste artigo sero mostrados os parmetros mais comuns quando executado em linha de comando. String de conexo com o banco de dados Para conectar com o Oracle precisamos informar o usurio, a senha e a instncia do Oracle. Formato: usurio/senha@instncia, caso seja executado o comando diretamente no servidor, onde exista somente uma instncia do Oracle, no precisaremos informar a instncia. Arquivo de destino O arquivo que iremos gerar deve ser informado no parmetro file. Normalmente a extenso utilizada dmp. Formato: file=caminho\arquivo.dmp Log da exportao Caso seja interessante gerar um log com informaes sobre a exportao dos objetos. Formato: log=caminho\arquivo.log Exportao do banco de dados inteiro Quando for necessrio exportar todo o banco de dados utilize o parmetro FULL. Formato: full=y Exportao de Grants (direitos) Normalmente o exp grava os grants relacionados a cada objeto, porm se estiver exportando somente alguns objetos e/ou usurios, muitas vezes os direitos atribudos em um ambiente no tenham sentido no servidor de destino dos objetos. Formato: grants=n Exportao de ndices Caso no seja necessrio enviar os ndices para o Oracle de destino. Formato: indexes=n Seleo de Tabelas

Para selecionar somente algumas tabelas para exportar, informe o parmetro Table. Formato: tables=(Tabela1,Tabela2,...,TabelaN) Exportao de Triggers Caso no seja necessrio enviar as triggers para o Oracle de destino. Formato: triggers=n

2. Importando com o Imp Algumas consideraes so importantes no momento de importar os dados em verses diferentes do Oracle: Usar um programa imp com a mesma verso do exp usado para exportar os dados. Quando o banco de destino possuir uma verso menor do que a origem, exportar os dados com o exp da verso do destino. Se o usurio que exportou os dados tiver direitos de DBA, ser necessrio importar os dados com um usurio que tambm tenha direitos de DBA. Considere a tabela de caracteres configurada na Origem e no Destino, dependendo da combinao a acentuao e caracteres especiais podem ser perdidos. String de conexo com o banco de dados Da mesma forma como no exp precisamos informar a string de conexo com o banco de dados de destino. Formato: usurio/senha@instncia Arquivo de origem O arquivo de onde sero lidas as informaes deve ser especificado no parmetro file. Formato: file=caminho\arquivo.dmp Log da importao Para registrar as ocorrncias da importao das informaes utilize o parmetro log. Formato: log=caminho\arquivo.log Troca de usurio Caso o usurio de destino dos objetos seja diferente do usurio de origem, precisaremos indicar isto para o importador atravs de dois parmetros: fromuser e touser. Formato: fromuser=usuarioorigem touser=usuariodestino Importao do arquivo inteiro Para importarmos todos os objetos exatamente como foi exportado, basta informar o parmetro full. Formato: full=y Ignorar erros Para desprezar os erros de criao dos objetos informe o parmetro Ignore. Caso este parmetro no seja informado e alguma tabela que estiver sendo importada, j existir, ser gerado um erro e os dados desta tabela no sero includos. Formato: ignore=y Importar os dados das tabelas

Caso seja necessrio somente importar a estrutura dos objetos informe o parmetro rows, assim os dados das tabelas no sero inseridos. Formato: rows=n Visualizao do contedo do arquivo Para consultar o contedo do arquivo de importao. Formato: show=y Seleo de Tabelas Para selecionar somente algumas tabelas para importar, utilize o parmetro Table. Formato: tables=(Tabela1,Tabela2,...,TabelaN) 3. Exemplos de Exportao e Importao Para estes exemplos ser considerado o seguinte ambiente: Usurio do banco de dados: Exemplo Senha do banco de dados: Senha123 Instncia do Oracle: ORCL Arquivo a ser gerado/importado: C:\tmp\DadosExemplo.dmp Exportar todos os objetos do usurio Exemplo: exp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp Exportar somente as tabelas Empresas e Clientes do usurio Exemplo: exp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp tables=(Empresa s,Clientes)

Importar todos os objetos do usurio Exemplo: imp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp full=y Importar somente as tabelas Empresas e Clientes do usurio Exemplo: imp Exemplo/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp fromuser=Exem plo tables=(Empresas,Clientes) Importar todos os objetos do usurio Exemplo e gravar no usurio Producao: imp Producao/Senha123@ORCL file=c:\tmp\DadosExemplo.dmp fromuser=Exem plotouser=Producao

Concluso Os utilitrios exp e imp so usados com bastante freqncia em ambientes com Oracle, neste artigo foram apresentadas somente as opes mais triviais. Caso utilize como soluo para backup, mantenha as opes tradicionais do Oracle e use somente como um complemento a estes utilitrios.

You might also like