Uso de Pump de Datos de PL/SQL con DBMS_DATAPUMP
Utilice el paquete PL/SQL DBMS_DATAPUMP para exportar e importar archivos de volcado de pump de datos directamente desde y hacia Object Storage.
El paquete PL/SQL DBMS_DATAPUMP proporciona una interfaz para las operaciones de exportación e importación de Oracle Data Pump directamente desde la base de datos. DBMS_DATAPUMP es adecuado para exportaciones e importaciones completas y a nivel de esquema. Para exportar o cargar datos de nivel de consulta o de objeto, considere utilizar DBMS_CLOUD.EXPORT_DATA o DBMS_CLOUD.COPY_DATA. Para la importación o exportación a nivel de base de datos completa mediante las utilidades de línea de comandos, utilice las herramientas de pump de datos expdp y impdp.
En este tema se describe cómo utilizar el paquete PL/SQL DBMS_DATAPUMP para exportar e importar archivos de volcado de pump de datos directamente desde y hacia un almacén de objetos. Para escribir o leer un archivo de almacén de objetos, especifique un URI de almacén de objetos en ADD_FILE y proporcione un nombre de credencial.
Requisitos
Cree las credenciales de Object Storage, las ACL de red y los objetos de credenciales o directorios necesarios antes de seguir estos ejemplos.
Ejemplo: exportación a Object Storage
En este ejemplo se crea un trabajo de exportación, se escribe el archivo de volcado en Object Storage y se utiliza el nombre de credencial en lugar de un objeto de directorio local.
DECLARE
hdl NUMBER;
dump_file VARCHAR2(1024) := 'https://objectstorage.example.com/n/namespace/b/bucket/o/hr_exp_%U.dmp';
cred_name VARCHAR2(128) := 'OBJSTORE_CRED';
BEGIN
hdl := DBMS_DATAPUMP.OPEN(
operation => 'EXPORT',
job_mode => 'SCHEMA',
job_name => 'HR_EXP_OBJSTORE');
DBMS_DATAPUMP.ADD_FILE(
handle => hdl,
filename => dump_file,
directory => cred_name,
filesize => NULL,
filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_URIDUMP_FILE,
reusefile => 1);
DBMS_DATAPUMP.METADATA_FILTER(hdl, 'SCHEMA_EXPR', 'IN (''HR'')');
DBMS_DATAPUMP.START_JOB(hdl);
DBMS_DATAPUMP.DETACH(hdl);
END;
/Ejemplo: importación desde Object Storage
En este ejemplo, se importa el archivo de volcado de Object Storage y se vuelve a asignar el esquema durante la importación.
DECLARE
hdl NUMBER;
dump_file VARCHAR2(1024) := 'https://objectstorage.example.com/n/namespace/b/bucket/o/hr_exp_%U.dmp';
cred_name VARCHAR2(128) := 'OBJSTORE_CRED';
BEGIN
hdl := DBMS_DATAPUMP.OPEN(
operation => 'IMPORT',
job_mode => 'SCHEMA',
job_name => 'HR_IMP_OBJSTORE');
DBMS_DATAPUMP.ADD_FILE(
handle => hdl,
filename => dump_file,
directory => cred_name,
filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_URIDUMP_FILE);
DBMS_DATAPUMP.METADATA_REMAP(hdl, 'REMAP_SCHEMA', 'HR', 'HR2');
DBMS_DATAPUMP.START_JOB(hdl);
DBMS_DATAPUMP.DETACH(hdl);
END;
/