\n

\n\n\n\n

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\n

Etapa 1: Configurando a Exportação

\n\n\n\n

Antes 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\n
DECLARE\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/\n
\n\n\n\n

\n\n\n\n

Etapa 2: Acompanhando o Progresso da Exportação

\n\n\n\n

Para verificar o progresso da exportação, execute o seguinte comando no banco de dados de origem:

\n\n\n\n

SELECT text
FROM TABLE(rdsadmin.rds_file_util.Read_text_file (
p_directory => 'DATA_PUMP_DIR',
p_filename => 'datapump_source_DATA_F.log'
));

\n\n\n\n

\n\n\n\n

Etapa 3: Verificando o Arquivo Gerado

\n\n\n\n

Para verificar o arquivo gerado no diretório, utilize o seguinte comando no banco de dados de origem:

\n\n\n\n

SET 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;

\n\n\n\n

\n\n\n\n

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\n

Criado por : Carlos Furushima

\n\n\n\n

\n\n\n\n

\n\n\n\n

\n\n\n\n

\n

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *