Neste tutorial, vamos explorar como realizar uma exportação de dados utilizando o Datapump Export via a API DBMS_DATAPUMP no Oracle Database. Este método é altamente flexível e permite exportar dados de forma eficiente e controlada.
\n\n\n\nEtapa 1: Configurando a Exportação
\n\n\n\nAntes de iniciar a exportação, certifique-se de executar este código no banco de dados de origem, onde deseja realizar o export:
\n\n\n\nDECLARE\n Bkp NUMBER;\n s VARCHAR2(30000);\nBEGIN\n -- Abrindo um job de exportação no Data Pump\n Bkp := DBMS_DATAPUMP.OPEN(\n operation => 'EXPORT',\n job_mode => 'SCHEMA',\n job_name => NULL\n );\n\n -- Adicionando arquivo de exportação\n DBMS_DATAPUMP.ADD_FILE(\n handle => Bkp,\n filename => 'datapump_source_DATA_F.dmp',\n directory => 'DATA_PUMP_DIR',\n filetype => dbms_datapump.ku$_file_type_dump_file,\n reusefile => 1\n );\n\n -- Adicionando arquivo de log\n DBMS_DATAPUMP.ADD_FILE(\n handle => Bkp,\n filename => 'datapump_source_DATA_F.log',\n directory => 'DATA_PUMP_DIR',\n filetype => dbms_datapump.ku$_file_type_log_file\n );\n\n -- Selecionando owners para exportação\n SELECT LISTAGG('''' || owner || '''', ', ') WITHIN GROUP (ORDER BY owner) \n INTO s\n FROM (\n SELECT username AS owner\n FROM dba_users\n WHERE username NOT IN (\n 'ANONYMOUS', 'SYS', 'SYSTEM', 'SYSAUX',\n 'APPQOSSYS', 'AUDSYS', 'CTXSYS', 'DBSNMP',\n 'DIP', 'GSMADMIN_INTERNAL', 'GSMCATUSER', 'GSMUSER',\n 'ORACLE_OCM', 'SYSBACKUP', 'SYSDG', 'SYSKM',\n 'XDB', 'XS$NULL', 'RDSADMIN', 'SYSRAC',\n 'SYS$UMF', 'REMOTE_SCHEDULER_AGENT', 'GGSYS',\n 'DBSFWUSER'\n )\n );\n\n -- Aplicando filtro para exportação dos schemas selecionados\n DBMS_DATAPUMP.METADATA_FILTER(Bkp, 'SCHEMA_LIST', s);\n\n -- Iniciando o job de exportação\n DBMS_DATAPUMP.START_JOB(Bkp);\nEND;\n/\nEtapa 2: Acompanhando o Progresso da Exportação
\n\n\n\nPara verificar o progresso da exportação, execute o seguinte comando no banco de dados de origem:
\n\n\n\nSELECT text
FROM TABLE(rdsadmin.rds_file_util.Read_text_file (
p_directory => 'DATA_PUMP_DIR',
p_filename => 'datapump_source_DATA_F.log'
));
Etapa 3: Verificando o Arquivo Gerado
\n\n\n\nPara verificar o arquivo gerado no diretório, utilize o seguinte comando no banco de dados de origem:
\n\n\n\nSET LINES 200 PAGES 200
COL filename FORMAT A100
SELECT filename,
ROUND(filesize / 1024 / 1024 / 1024) AS SIZE_GB
FROM TABLE(rdsadmin.rds_file_util.Listdir('DATA_PUMP_DIR'))
WHERE filename LIKE 'datapump_source_DATA_F%'
ORDER BY mtime;
Para as próximas etapas sobre transferência para o ambiente de destino e criação de DBLINK e DIRECTORY, sugiro verificá-las diretamente na documentação oficial da Oracle , pois podem variar dependendo da configuração e políticas de segurança do ambiente.
\n\n\n\n\n\n\n\nCriado por : Carlos Furushima
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n