Pré-requisitos
- Oracle Database 11g+ (utilizado a versão 21c XE no Oracle Linux 7)
- Oracle SQL Developer
Criando diretório no linux
Criar pasta que irá armazenar os dumps no linux com o usuário oracle e atribuir permissão ao user oracle grupo oinstall:
Faça login no SQL Developer ou qualquer outro de sua preferência e criamos o diretório:
Atenção: Caso a pasta não seja criada em /home/oracle, NÃO recomendo a criação em qualquer diretório em /home pois irá dar erro de permissão com o usuário oracle - crie uma nova pasta em root (/expdb/backup).
Para criar um job de exportação basta seguir os passos abaixo:
Salve e agora basta executar o job para testar e aguardar. Você pode acompanhar o status e erros dentro de Data Pump > Jobs de Exportação:sudo su oracle
sudo mkdir /home/oracle/bkp_db
chown oracle:oinstall /home/oracle/bkp_db
sudo chmod +x /home/oracle/backup
Criar diretório no Oracle Database
Agora vamos criar o diretório no database e mapear para a pasta criada acima. Você poderá realizar a criação do JOB com o usuário SYS, porém estou criando com o usuário AAT_SCHEMA portanto é necessário que ele tenha permissão de DBA.
Para atribuir permissão de DBA ao usuário execute no SQL Developer/SQL PLus conectado como SYS as SYSDBA:
grant dba to aat_schema;
GRANT CREATE ANY DIRECTORY TO aat_schema;
GRANT READ,WRITE ON DIRECTORY BACKUP_AAT_SCHEMA TO AAT_SCHEMA;
grant execute on dbms_assert to aat_schema;
Faça login no SQL Developer ou qualquer outro de sua preferência e criamos o diretório:
CREATE OR REPLACE DIRECTORY BACKUP_AAT_SCHEMA AS '/home/oracle/bkp_db';
Pronto. Agora iremos criar o job de exportação.Atenção: Caso a pasta não seja criada em /home/oracle, NÃO recomendo a criação em qualquer diretório em /home pois irá dar erro de permissão com o usuário oracle - crie uma nova pasta em root (/expdb/backup).
Criar job de exportação utilizando o assistente de exportação do SQL Developer
Para exibir a aba DBA no SQL Developer, acesse o menu Exibir > DBA. Crie uma nova conexão com o usuário SYS ou com o que você tenha atribuido a permissão de DBA.Para criar um job de exportação basta seguir os passos abaixo:
Agora com o JOB criado, no SQL Developer aba de Conexões acesse Programador > Jobs, localize e com o botão direto no JOB clique na opção "Editar".
Ajuste o JOB para montar o nome do arquivo com o intervalo configurado, no meu caso configurei para 1 dia e ficara no padrão "EXPDAT-SCHEMA-DATA". Caso isso não seja feito o job irá dar erro na próxima execução pois já existe o dump gerado.DECLARE
h1 number;
dump_name varchar2(100);
s varchar2(1000):=NULL;
errorvarchar varchar2(100):= 'ERROR';
tryGetStatus number := 0;
success_with_info EXCEPTION;
PRAGMA EXCEPTION_INIT(success_with_info, -31627);
begin
dump_name := 'EXPDAT-AAT_SCHEMA-'||TO_CHAR(SYSDATE,'RRRRMMDD');
h1 := dbms_datapump.open (operation => 'EXPORT', job_mode => 'SCHEMA', job_name => dump_name, version => 'COMPATIBLE');
tryGetStatus := 1;
dbms_datapump.set_parallel(handle => h1, degree => 1);
dbms_datapump.add_file(handle => h1, filename => dump_name||'.LOG', directory => 'BACKUP_AAT_SCHEMA', filetype => 3);
dbms_datapump.set_parameter(handle => h1, name => 'KEEP_MASTER', value => 0);
dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', value => 'IN(''AAT_SCHEMA'')');
dbms_datapump.add_file(handle => h1, filename => dump_name||'.DMP', directory => 'BACKUP_AAT_SCHEMA', filesize => '500M', filetype => 1, reusefile => 1);
dbms_datapump.set_parameter(handle => h1, name => 'INCLUDE_METADATA', value => 1);
dbms_datapump.set_parameter(handle => h1, name => 'DATA_ACCESS_METHOD', value => 'AUTOMATIC');
dbms_datapump.set_parameter(handle => h1, name => 'ESTIMATE', value => 'BLOCKS');
dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0);
dbms_datapump.detach(handle => h1);
errorvarchar := 'NO_ERROR';
END;
Depois de finalizado basta verificar a criação dos arquivos:
Comentários
Postar um comentário