domingo, 1 de julho de 2012

Backup: Utilizando Data Pump (EXPDP E IMPDP)




O banco de dados Oracle fornece uma variedade de procedimentos e opções de backup que ajudam a proteger o banco. Não adianta ter ótimas ferramentas e não implementar de maneira adequada e que possa recuperá-los facilmente, com isso, devemos sempre efetuar testes de backup e restore regularmente.


Neste poste vou falar sobre o utilitário Data Pump (impdp e expdp) que realiza backup lógico de um banco de dados que envolve a leitura de um conjunto de registros do banco de dados e a gravação destes em um arquivo. Esses registros são lidos independente das suas localizações físicas.
Você pode exportar todo o banco de dados, tablespaces, usuários específicos (schemas), espaços de tabelas ou tabelas especificas. O arquivo gravado pelo Data Pump export conterá os comandos necessários para recriar completamente todos os objetos e dados escolhidos. Depois que os dados foram exportados por meio do Data Pump Export, eles poderão ser importados por meio do utilitário Data Pump Import. O Data Pump Import lê o arquivo dump criado pelo Data Pump Export e executa os comandos localizados ali. Por exemplo, esses comandos podem incluir um comando create table, create indice e vários inserts.
Vejamos alguns exemplos de como usar o Data Pump como backup.

Criando um diretório no Sistema Operacional Linux:
mkdir /u01/backup/
Logando no Oracle com sysdba:
sqlplus / as sysdba
Criando um objeto de pasta no Oracle:
CREATE OR REPLACE DIRECTORY funcionarios AS ‘/u01/backup/’;
Directory created.
Utilizando o utilitário EXPDP
Exportando todo o banco de dados:
expdp system DIRECTORY=funcionarios DUMPFILE=funcionario.dmp FULL=y LOGFILE=expfull.log
Exportando uma tablespace:
expdp system DIRECTORY=funcionarios DUMPFILE=funcionarios_TB.dmp TABLESPACES=USERS
Exportando um schema:
expdp system DIRECTORY=funcionarios DUMPFILE=funcionarios_schema.dmp SCHEMAS=hr
Exportando uma tabela:
expdp system tables=hr.employees directory=funcionarios dumpfile=funcionario_tabela.dmp logfile=FUNCIONARIO.log

Utilizando o utilitário IMPDP
Importando o banco de dados inteiro:
impdp system DIRECTORY=funcionarios DUMPFILE=funcionario.dmp FULL=y
Importando uma tablespace:
impdp system DIRECTORY=funcionarios DUMPFILE=funcionarios_TB.dmp TABLESPACES=USERS
Importando um schema, remapeando com um novo usuario (schema), chamado amanda:
impdp system DIRECTORY=funcionarios DUMPFILE=funcionarios_schema.dmp remap_schema=hr:amanda remap_tablespace=HR:USERS
Importando uma tabela
impdp system DIRECTORY=funcionarios DUMPFILE=funcionario_tabela.dmp TABLES=amanda.employees;

Alguns parâmetros:

EXPDP: comando para exportar
IMPDP: Comando para importar
SYSTEM: usuário que estou usando para exportar e importar.
TABLES: Informa qual vai ser a tabela importada e exportada.
TABLESPACES: Informa qual vai ser a tablespace que será exportada ou importada.
DIRECTORY: nome do objeto que criamos no oracle, ele aponta para o /u01/backup
DUMPFILE: informo qual será o nome do arquivo exportado.
FULL: informo que o backup é completo
LOGFILE: Nome do arquivo de log, fica localizado na pasta do directory.
TRANSPORT_FULL_CHECK: Especifica se os espaços de tabela sendo importados devem primeiro ser verificados como conjunto contido.
FULL: Opção de Y/N, utilizado para especificar que voce quer importar o arquivo por completo
REMAP_DATAFILE: Altera o nome do arquivo de dados de origem para o arquivo de dados alvo nos comandos create tablespace, create table, etc.
REMAP_SCHEMA: Altera o nome do schema de origem para o destino, separando por dois pontos (:).
REMAP_TABLESPACE: Altera o a tablespace de origem para o destino, separando por dois pontos.
REUSE_DATAFILES: Re-utiliza os datafiles, se já existirem.

Alguns GRANTs importantes, em caso de exportar ou importar com o usuário sem perfil de dba, conceda essas permissções
GRANT READ, WRITE ON DIRECTORY funcionarios TO amanda;
GRANT READ, WRITE ON DIRECTORY funcionarios TO hr;
GRANT IMP_FULL_DATABASE to amanda;
GRANT EXP_FULL_DATABASE to hr;

Nenhum comentário :

Postar um comentário

Related Posts Plugin for WordPress, Blogger...