Exportación de datos mediante Oracle Data Pump

Oracle Data Pump ofrece un desplazamiento masivo muy rápido de datos y metadatos entre Autonomous AI Database y otras bases de datos de Oracle.

Oracle recomienda utilizar la versión más reciente de la aplicación Oracle Data Pump para exportar datos de Autonomous AI Database a otras bases de datos a Oracle, ya que contiene mejoras y correcciones para una mejor experiencia. Descargue la versión más reciente de Oracle Instant Client y el paquete de herramientas, que incluye Oracle Data Pump, para su plataforma desde Oracle Instant Client Downloads. Consulte las instrucciones de instalación en la página de descarga de instalación de la plataforma para conocer los pasos de instalación necesarios después de descargar Oracle Instant Client y el paquete de herramientas.

Para mover datos de una base de datos de IA autónoma a otras bases de datos de Oracle mediante Oracle Data Pump, utilice una de las siguientes opciones:
  • Opción 1: Traslado de datos con la exportación de Data Pump a un directorio de base de datos de IA autónoma

    Utilice Oracle Data Pump para exportar los datos a un directorio de la base de datos y, a continuación, mueva los datos del directorio al almacén de objetos en la nube. Este método puede resultar útil cuando desee mover datos de la base de datos de IA autónoma a varias base de datos de destino. En lugar de exportar los datos a varios almacenes de objetos en la nube, puede crear un juego de archivos de volcado una vez y utilizarlo para varias bases de datos de destino.

    Realice los siguientes pasos para mover datos de Autonomous AI Database exportándolos a un directorio de la base de datos:
    1. Exporte los datos a un directorio de Autonomous AI Database y mueva el juego de archivos del volcado del directorio al almacén de objetos de la nube. Consulte Exportación de datos utilizando un directorio en una base de datos de IA autónoma.
    2. Descargue los archivos de volcado del almacén de objetos en la nube, importe los datos en la base de datos de destino y limpie el almacén de objetos en la nube. Consulte Descarga de archivos de volcado, ejecución de Data Pump Import y limpieza del almacén de objetos.
  • Opción 2: Traslado de datos con exportación de Data Pump al almacén de objetos

    Con este método de exportación, utilizará Oracle Data Pump para exportar datos directamente al almacén de objetos. Este método de exportación está soportado con Oracle Cloud Infrastructure Object Storage y Oracle Cloud Infrastructure Object Storage Classic. Esto evita la sobrecarga que suponga crear un juego del archivo de volcado en un directorio de su base de datos de IA autónoma y, a continuación, mover el juego del archivo de volcado al almacén de objetos en la nube. Si tiene previsto mover datos a una única base de datos de destino, este método ahorra el esfuerzo y acelera el proceso de exportación.

    Realice los siguientes pasos para mover datos de la base de datos de IA autónoma exportándolos directamente al almacén de objetos:
    1. Exporte directamente los datos de Autonomous AI Database a un almacén de objetos en la nube. Consulte Exportación directa de datos de Autonomous AI Database al almacén de objetos.
    2. Descargue los archivos de volcado del almacén de objetos en la nube, importe los datos en la base de datos de destino y limpie el almacén de objetos en la nube. Consulte Descarga de archivos de volcado, ejecución de Data Pump Import y limpieza del almacén de objetos.

Exportación de datos utilizando un directorio de base de datos de IA autónoma

Para exportar datos mediante un directorio de Autonomous AI Database, primero debe crear un juego de archivos del volcado con los datos exportados en un directorio de su base de datos y, por último, cargar estos archivos desde su directorio de base de datos al almacén de objetos de la nube.

Uso de Data Pump para crear un juego de archivos de volcado en la base de datos de IA autónoma

  1. Cree un directorio en el que almacenar los archivos de volcado que contienen los datos exportados. Por ejemplo:
    CREATE DIRECTORY data_export_dir as 'data_export';
  2. Ejecute Data Pump Export con el parámetro dumpfile definido, el parámetro filesize definido en menos de 50G y el parámetro directory definido. Por ejemplo, a continuación se muestra cómo exportar un esquema denominado SALES en una base de datos de IA autónoma denominada ATPC1 con 64 ECPU:
    expdp sales/password@ATPC1_high 
    directory=data_export_dir 
    dumpfile=exp%L.dmp 
    parallel=16
    encryption_pwd_prompt=yes
    filesize=1G
    logfile=export.log
    Notas sobre los parámetros de pump de datos:
    • En el caso de las ECPU, parallel se debe definir en 0,25 veces el recuento de ECPU. Por lo tanto, en el ejemplo anterior con 64 ECPU, parallel se define en 0,25 x 64, es decir, 16 con expdp.

    • En el caso de las OCPU, parallel se debe definir en el mismo valor que el recuento de OCPU. En el ejemplo anterior con 16 OCPU, parallel se definirá en 16, con expdp.

    • Si durante la exportación con expdp utiliza el parámetro encryption_pwd_prompt=yes, debe utilizar encryption_pwd_prompt=yes con la importación e introducción de la misma contraseña en el indicador impdp para descifrar los archivos de volcado (recuerde la contraseña proporcionada con la exportación). La longitud máxima de la contraseña de cifrado es de 128 bytes.

    • El parámetro dumpfile soporta los comodines %L y %l, además de los comodines %U y %u heredados. Por ejemplo, dumpfile=export%L.dmp.

      Utilice el comodín %L o %l para las exportaciones de Oracle Database versión 12.2 y posteriores. Este comodín amplía el nombre del archivo de volcado en un entero que aumenta el ancho de variable de 3 dígitos a 10 dígitos, comenzando en 100 y terminando en 2147483646.

    Para obtener el mejor rendimiento a la exportación, utilice el servicio de base de datos HIGH para el servicio de exportación y defina el parámetro PARALLEL en el número de CPU de la base de datos. Para obtener información sobre el nombre de servicio de base de datos con el que conectarse para ejecutar la exportación de pump de datos, consulte Nombres de servicio de base de datos predefinidos para base de datos de IA autónoma.

    Una vez finalizada la exportación, puede ver los archivos de volcado generados ejecutando una consulta como la siguiente:
    SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_EXPORT_DIR');
    Por ejemplo, la salida de esta consulta muestra los archivos de volcado generados y el archivo log de exportación:
    
    OBJECT_NAME                 BYTES  CHECKSUM                   CREATED          LAST_MODIFIED  
    ---------------------- ---------- ----–---- –------------------------–----- --------------------
    exp01.dmp                   12288               12-NOV-19 06.10.47.0 PM GMT       12-NOV-19...
    exp02.dmp                    8192               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp03.dmp                 1171456               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    exp04.dmp                  348160               12-NOV-19 06.10.48.0 PM GMT       12-NOV-19...
    export.log                   1663               12-NOV-19 06.10.50.0 PM GMT       12-NOV-19...
    

Notas:

  • Para realizar una exportación completa o exportar objetos propiedad de otros usuarios, necesita el rol DATAPUMP_CLOUD_EXP.

  • La API que utiliza para mover los archivos de volcado a Object Storage soporta tamaños de archivo de hasta 50 GB, por lo que no debe especificar tamaños superiores a los del argumento filesize.

  • Para obtener más información, consulte Exportación de Oracle Data Pump en Utilidades de Oracle Database 19c u Utilidades de Oracle Database 26ai.

Traslado del juego de archivos de volcado de Autonomous AI Database al almacén de objetos de la nube

  1. Conéctese a su base de datos de IA autónoma.

  2. Almacene la credencial de Cloud Object Storage mediante el procedimiento DBMS_CREDENTIAL.CREATE_CREDENTIAL. Por ejemplo:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@oracle.com',
        password => 'password'
      );
    END;
    /
    Los valores que proporcione para username y password dependen del servicio de Cloud Object Storage que utilice:
    • Oracle Cloud Infrastructure Object Storage: username es el nombre de usuario de Oracle Cloud Infrastructure y password es el token de autenticación de Oracle Cloud Infrastructure. Consulte Trabajar con token de autenticación.

    • Oracle Cloud Infrastructure Object Storage Classic: username es el nombre de usuario de Oracle Cloud Infrastructure Classic y password es la contraseña de Oracle Cloud Infrastructure Classic.

      Esta operación almacena 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 para todas las cargas de datos.

  3. Mueva los archivos de volcado de la base de datos de IA autónoma al almacén de objetos de la nube llamando a DBMS_CLOUD.PUT_OBJECT.

    Por ejemplo:
    BEGIN
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp01.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp01.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp02.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp02.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp03.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp03.dmp');
       DBMS_CLOUD.PUT_OBJECT(credential_name => 'DEF_CRED_NAME',
         object_uri => 'https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/idthydc0kinr/mybucket/exp04.dmp',
         directory_name => 'DATA_EXPORT_DIR',
         file_name => 'exp04.dmp');
    END;
    /

    Consulte Procedimiento PUT_OBJECT para obtener información sobre PUT_OBJECT.

Exportación directa de datos de Autonomous AI Database al almacén de objetos

Muestra cómo utilizar Oracle Data Pump para exportar datos directamente de base de datos de IA autónoma al almacén de objetos de la nube.

  1. Conexión a su base de datos de IA autónoma.
  2. Almacene la credencial de Cloud Object Storage mediante el procedimiento DBMS_CREDENTIAL.CREATE_CREDENTIAL. Por ejemplo:
    BEGIN
      DBMS_CREDENTIAL.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
               username => 'adb_user@oracle.com',
        password => 'password'
        );
    END;
    /
    Los valores que proporcione para username y password dependen del servicio de Cloud Object Storage que utilice:
    • Oracle Cloud Infrastructure Object Storage: username es el nombre de usuario de Oracle Cloud Infrastructure y password es el token de autenticación de Oracle Cloud Infrastructure. Consulte Trabajar con token de autenticación.
    • Oracle Cloud Infrastructure Object Storage Classic: username es el nombre de usuario de Oracle Cloud Infrastructure Classic y password es la contraseña de Oracle Cloud Infrastructure Classic.

    Esta operación almacena 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 para todas las cargas de datos.

  3. Como usuario ADMIN, defina la credencial que ha definido en el paso anterior como la credencial por defecto para la base de datos de IA autónoma.
    Por ejemplo:
    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'DEF_CRED_NAME';
  4. Ejecute la exportación de Data Pump con el parámetro dumpfile definido en la URL de un cubo existente en Cloud Object Storage (que termina con un nombre de archivo o un nombre de archivo con una variable de sustitución, como exp%U.dmp).
    • Oracle Data Pump versión 19.9 o posterior:
      defina el parámetro credential en el nombre de la credencial que ha creado en el paso 2. Por ejemplo:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      credential=DEF_CRED_NAME \
      dumpfile=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index
      En este ejemplo, dumpfile es un URI de Swift de Oracle Cloud Infrastructure que especifica todos los archivos cuyo nombre coincide con export<number>.dmp en el cubo mybucket de la región us-ashburn-1. (adbdpreview1 es el espacio de nombres de almacenamiento de objetos en el que reside el cubo).
    • Versiones de Oracle Data Pump anteriores a la 19.9:
      inicie el valor del parámetro dumpfile con la palabra clave default_credential y dos puntos. Por ejemplo:
      expdp admin/password@ADBD_high \
      SCHEMAS=SOE3 \
      filesize=5GB \
      dumpfile=DEF_CRED_NAME:https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/adbdpreview1/mybucket/export%L.dmp \ 
      parallel=16 \
      encryption_pwd_prompt=yes \
      logfile=export.log \
      directory=data_pump_dir \
      EXCLUDE=statistics,index 
      En este ejemplo, se requiere la palabra clave default_credential en el parámetro dumpfile.
    Notas sobre los parámetros de Oracle Data Pump:
    • Por defecto, la Exportación de Oracle Data Pump solo comprime los metadatos antes que escribir en el conjunto de archivos de volcado. Puede definir el parámetro compression en ALL para comprimir metadatos y datos antes de escribir en el juego de archivos de volcado. Consulte COMPRESSION en Oracle Database 19c Utilities u Oracle Database 26ai Utilities para obtener más información.

    • El parámetro dumpfile soporta los comodines %L y %l, además de los comodines %U y %u heredados. Por ejemplo, dumpfile=export%L.dmp.

      Utilice el comodín %L o %l para las exportaciones de Oracle Database versión 12.2 y posteriores. Este comodín amplía el nombre del archivo de volcado en un entero que aumenta el ancho de variable de 3 dígitos a 10 dígitos, comenzando en 100 y terminando en 2147483646.

      Para obtener más información, consulte Parámetros disponibles en el modo de línea de comandos de exportación de pump de datos en Utilidades 19c de Oracle Database o Utilidades Oracle Database 26ai.

    • Para obtener el mejor rendimiento a la exportación, utilice el servicio de base de datos high para su conexión a exportación y defina el parámetro parallel en 0,25 veces el número de ECPU o igual que el número de OCPU de su base de datos de IA autónoma. Para obtener información sobre el nombre de servicio de base de datos con el que conectarse para ejecutar la exportación de pump de datos, consulte Nombres de servicio de base de datos predefinidos para base de datos de IA autónoma.

    • Para obtener el formato de URL de archivo de volcado para diferentes servicios de Cloud Object Storage, consulte Formatos de URI de almacenamiento de objetos en la nube.

    Para obtener información sobre los objetos que no se permiten en Autonomous AI Database, consulte Limitaciones sobre el uso de comandos SQL.

  5. Valide los resultados.
    Oracle Data Pump divide cada parte del archivo de volcado en fragmentos más pequeños para cargas más rápidas. La consola de Oracle Cloud Infrastructure Object Storage muestra varios archivos para cada parte del archivo de volcado que exporte. El tamaño de los archivos de volcado reales se mostrará como cero (0) y sus fragmentos de archivo relacionados como 10 MB o menos. Por ejemplo:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa

    Note:

    Al descargar el archivo de volcado de cero bytes desde la consola de Oracle Cloud Infrastructure o mediante la CLI de Oracle Cloud Infrastructure, no obtendrá todos los archivos de volcado. Para descargar todos los archivos de volcado del almacén de objetos, utilice una herramienta que soporte Swift, como curl, y proporcione su conexión de usuario y token de autenticación Swift. Por ejemplo:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/export01.dmp

Descarga de archivos de volcado, ejecución de Data Pump Import y limpieza del almacén de objetos

Si es necesario, descargue los archivos de volcado desde Cloud Object Store y utilice Oracle Data Pump Import para importar el juego de archivos de volcado en la base de datos de destino. A continuación, realice las tareas de limpieza necesarias.

  1. Descargue los archivos de volcado del almacén de objetos en la nube.

    Note:

    Este paso no es necesario si importa los datos a otra base de datos de IA autónoma.
    Si exporta directamente al almacén de objetos mediante Oracle Data Pump, como se muestra en Exportación directa de datos de la base de datos de IA autónoma al almacén de objetos, los archivos del volcado del almacén de objetos muestran el tamaño 0. Oracle Data Pump divide cada parte del archivo de volcado en fragmentos más pequeños para cargas más rápidas. La consola de Oracle Cloud Infrastructure Object Storage muestra varios archivos para cada parte del archivo de volcado que exporte. El tamaño de los archivos de volcado reales se mostrará como cero (0) y sus fragmentos de archivo relacionados como 10 MB o menos. Por ejemplo:
    exp01.dmp
    exp01.dmp_aaaaaa
    exp02.dmp
    exp02.dmp_aaaaaa
    Al descargar el archivo de volcado de cero bytes desde la consola de Oracle Cloud Infrastructure o mediante la CLI de Oracle Cloud Infrastructure, no obtendrá todos los archivos de volcado. Para descargar todos los archivos de volcado del almacén de objetos, utilice una herramienta que soporte Swift, como curl, y proporcione su conexión de usuario y token de autenticación Swift. Por ejemplo:
    curl -O -v -X GET -u 'user1@example.com:auth_token' \
       https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp

    El comando cURL no soporta comodines ni caracteres de sustitución en su URL. Debe utilizar varios comandos cURL para descargar el juego de archivos de volcado del almacén de objetos. También puede utilizar un script que soporte caracteres de sustitución para descargar todos los archivos de volcado del almacén de objetos en un solo comando. Consulte How To: Download all files from an export to object store job in Autonomous AI Database using cURL para obtener un ejemplo.

  2. Ejecute Data Pump Import para importar el juego de archivos de volcado en la base de datos de destino.

    Note:

    Si desea importar los datos a otra base de datos de IA autónoma, consulte Carga de datos mediante Oracle Data Pump.

    En el caso de archivos exportados directamente al almacén de objetos mediante Oracle Data Pump, como se muestra en Exportación directa de datos de Autonomous AI Database al almacén de objetos, si importa un archivo con los procedimientos DBMS_CLOUD que soportan el parámetro format type con el valor 'datapump', solo debe proporcionar el nombre de archivo primario. Los procedimientos que soportan el tipo de formato 'datapump' detectan y descargan automáticamente los fragmentos.

  3. Realice tareas de limpieza posteriores a la importación. Si ha terminado de importar los archivos de volcado en las bases de datos de destino, borre el cubo que contiene los datos o elimine los archivos de volcado del cubo del almacén de objetos en la nube, y elimine los archivos de volcado de la ubicación en la que ha descargado los archivos de volcado para ejecutar Data Pump Import.

Para obtener información detallada, consulte Parámetros disponibles en el modo de línea de comandos de importación de Oracle Data Pump en Utilidades de Oracle Database 19c u Utilidades de Oracle Database 26ai.