Exportación de datos mediante Oracle Data Pump

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

Oracle recomienda utilizar la última versión de la aplicación Oracle Data Pump para exportar datos de Autonomous AI Database a otras bases de datos de la aplicación 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:

Exportación de datos utilizando un directorio en una 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 tu base de datos y, a continuación, cargar estos archivos desde tu 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 una 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 50 G 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 para 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.

    • If during the export with expdp you use the encryption_pwd_prompt=yes parameter, then you must use encryption_pwd_prompt=yes with your import and input the same password at the impdp prompt to decrypt the dump files (remember the password you supply with export). 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 a un entero que aumenta el ancho 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 su conexión a exportación y defina el parámetro PARALLEL en el número de CPU que tiene 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 bases de datos de IA autónomas.

    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...
    

Nota:

Mover el juego de archivos de volcado de la base de datos de IA autónoma al almacén de objetos en 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 en el que se encuentra Oracle Cloud Infrastructure y password es el token en el que se encuentra Oracle Cloud Infrastructure. Consulte Trabajar con token de autenticación.

    • Oracle Cloud Infrastructure Object Storage Classic: username es el nombre 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 en las nubes 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 la base de datos de IA autónoma al almacén de objetos

Muestra cómo utilizar Oracle Data Pump para exportar datos directamente de la base de datos de IA autónoma 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 en el que se encuentra Oracle Cloud Infrastructure y password es el token en el que se encuentra Oracle Cloud Infrastructure. Consulte Trabajar con token de autenticación.

    • Oracle Cloud Infrastructure Object Storage Classic: username es el nombre que tiene 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. Ejecutar la exportación de Data Pump con el parámetro dumpfile definido para la URL de un cubo existente en Cloud Object Storage (que termina con un nombre del archivo o un nombre del 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 bucket mybucket de la región us-ashburn-1. (adbdpreview1 es el espacio de nombres de almacenamiento de objetos en el que reside el bucket).

    • Versiones anteriores a la versión 19.9 de Oracle Data Pump:

      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 para 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 a un entero que aumenta el ancho 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 de Oracle Database 19c u Utilidades de Oracle Database 26ai.

    • Para obtener el mejor desempeño de exportación, utilice el servicio de base de datos high para el enlace de exportación y defina el parámetro parallel en 0,25 veces el número de ECPU o el mismo que el número de OCPU de la 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 bases de datos de IA autónomas.

    • 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 la base de datos de IA autónoma, 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
    

    Nota:

    La descarga del archivo de volcado de cero bytes desde la consola o mediante la CLI no le proporcionará los archivos de volcado completos. 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.

    Nota: 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.

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

    Nota: 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 bucket que contiene los datos o elimine los archivos de volcado del bucket 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.