Movimiento de datos al almacén de objetos como archivos de Oracle Data Pump con EXPORT_DATA

Puede exportar datos a archivos de volcado de Oracle Data Pump especificando una consulta.

Con este método de exportación, utilice el procedimiento DBMS_CLOUD.EXPORT_DATA para especificar una consulta para seleccionar los datos a exportar, de la siguiente manera:

  1. Conéctese a la base de datos.
  2. Store las credenciales del almacén de objetos mediante el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL.

    Por ejemplo:

    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /
    

    La creación de una credencial para acceder al almacén de objetos de Oracle Cloud Infrastructure no es necesaria si activa las credenciales de la entidad de recurso. Consulte Uso de la principal de recurso para acceder a los recursos de Oracle Cloud Infrastructure para obtener más información.

    Con esta operación se almacenan las credenciales en la base de datos en un formato cifrado. Puede utilizar cualquier nombre para el nombre de credencial. Tenga en cuenta que este paso solo es necesario una vez, a menos que cambien las credenciales del almacén de objetos. Una vez almacenadas las credenciales, puede utilizar el mismo nombre de credencial.

    Consulte Procedimiento CREATE_CREDENTIAL para obtener información sobre los parámetros username y password para diferentes servicios de almacenamiento de objetos.

  3. Exportar datos de Autonomous Database a su almacén de objetos en la nube como archivos de volcado de Oracle Data Pump llamando a DBMS_CLOUD.EXPORT_DATA con el parámetro format type definido en el valor datapump. Por ejemplo:
    BEGIN
     DBMS_CLOUD.EXPORT_DATA(
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp',
        format => json_object('type' value 'datapump'),
        query => 'SELECT warehouse_id, quantity FROM inventories'
     );
    END;
    /
    

    Los parámetros son:

    • credential_name: es el nombre de la credencial creada en el paso anterior.

    • file_uri_list: es una lista delimitada por comas de los archivos de exportación. file_uri_list no soporta el uso de caracteres comodín y de sustitución.

    • format: especifica el parámetro type necesario con el valor datapump y, opcionalmente, define las opciones que puede especificar para la exportación con el controlador de acceso ORACLE_DATAPUMP.

    • query: especifica una sentencia SELECT para que solo se exporten los datos necesarios. La consulta determina el contenido de los archivos de volcado.

    En este ejemplo, namespace-string es el espacio de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, y bucketname es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.

    Nota

    El procedimiento DBMS_CLOUD.EXPORT_DATA crea los archivos de volcado que especifique en file_uri_list. El procedimiento no sobrescribe los archivos. Si existe un archivo de volcado en file_uri_list, DBMS_CLOUD.EXPORT_DATA notifica un error. DBMS_CLOUD.EXPORT_DATA no crea cubos.

    Para obtener información detallada sobre los parámetros, consulte Procedimiento EXPORT_DATA.

  4. Realice los pasos necesarios para utilizar la importación y limpieza de Oracle Data Pump. Consulte Descarga de archivos de volcado, ejecución de la importación de Data Pump y limpieza del almacén de objetos para obtener más detalles.

Notas sobre la exportación de datos con DBMS_CLOUD.EXPORT_DATA:

  • Los archivos de volcado que cree con DBMS_CLOUD.EXPORT_DATA no se pueden importar mediante impdp de Oracle Data Pump. Según la base de datos, puede utilizar estos archivos de la siguiente forma:

    • En una instancia de Autonomous Database, puede utilizar los archivos de volcado con los procedimientos DBMS_CLOUD que admiten el parámetro format type con el valor 'datapump'. Puede importar los archivos de volcado mediante DBMS_CLOUD.COPY_DATA o puede llamar a DBMS_CLOUD.CREATE_EXTERNAL_TABLE para crear una tabla externa.

    • En cualquier otra instancia de Oracle Database, como Oracle Database 19c local, puede importar los archivos de volcado creados con el procedimiento DBMS_CLOUD.EXPORT_DATA mediante el controlador de acceso ORACLE_DATAPUMP. Consulte Descarga y carga de datos con el controlador de acceso ORACLE_DATAPUMP para obtener más información.

  • El número de archivos de volcado que genera DBMS_CLOUD.EXPORT_DATA se determina cuando se ejecuta el procedimiento. El número de archivos de volcado que se generan depende del número de nombres de archivo que proporcione en el parámetro file_uri_list, así como del número de ECPU disponibles para la instancia, el nivel de servicio y el tamaño de los datos.

    Por ejemplo, si utiliza una instancia de Autonomous Database de 2 ECPU o el servicio low, se exporta un único archivo de volcado sin paralelismo, incluso si proporciona varios nombres de archivo. Si utiliza una instancia de Autonomous Database de CPU de 8 con el servicio medium o high, los trabajos se pueden ejecutar en paralelo y se exportan varios archivos de volcado si proporciona varios nombres de archivo.

  • El valor del parámetro query que proporcione puede ser una consulta avanzada, si es necesario, como una consulta que incluya uniones o subconsultas.