Importación de datos con Oracle Data Pump en Autonomous Database

Oracle Data Pump ofrece un traslado masivo de datos y metadatos muy rápido entre las bases de datos Oracle y las instancias de Autonomous Database.

La importación de Data Pump permite importar datos de archivos de Data Pump en Oracle Cloud Infrastructure Object Storage, Microsoft Azure, AWS S3 y Oracle Cloud Infrastructure Object Storage Classic. Puede guardar los datos en el almacén de objetos en la nube y utilizar Oracle Data Pump para cargar datos en Autonomous Database.

Cuando una operación de carga o importación da como resultado el siguiente error relacionado con la zona horaria, debe actualizar el archivo de zona horaria a la última versión disponible para la base de datos:

ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version n+1 
into a target database with TSTZ version n.

Consulte Gestión de actualizaciones de archivos de zona horaria en Autonomous Database para obtener más información sobre este error relacionado con la zona horaria.

Exportación de su instancia de Oracle Database existente para importarla a Autonomous Database

Utilice la exportación de Oracle Data Pump para exportar la instancia existente de Oracle Database para migrar a Autonomous Database mediante la importación de Oracle Data Pump.

Oracle recomienda utilizar el modo de esquema de Oracle Data Pump para migrar la base de datos a Autonomous Database. Puede mostrar los esquemas que desea exportar mediante el parámetro schemas.

Para una migración más rápida, exporte los esquemas a varios archivos de Data Pump y utilice el paralelismo. Puede especificar el formato del nombre de archivo de volcado que desea utilizar con el parámetro dumpfile. Defina el parámetro paralelo en el número mínimo de CPU que tiene en la base de datos.

Oracle recomienda utilizar los siguientes parámetros de pump de datos para una migración a Autonomous Database más rápida y sencilla:

exclude=cluster,indextype,db_link
parallel=n
schemas=schema_name
dumpfile=export%u.dmp

Los parámetros exclude garantizan que estos tipos de objetos no se exportan.

Con encryption_pwd_prompt=yes, la exportación de Oracle Data Pump solicita una contraseña de cifrado para cifrar los archivos de volcado.

En el siguiente ejemplo, se exporta el esquema de SH de una instancia de Oracle Database de origen para su migración a una base de datos con 16 CPU:

expdp sh/sh@orcl \
exclude=cluster,indextype,db_link \
parallel=16 \
schemas=sh \
dumpfile=export%u.dmp \
encryption_pwd_prompt=yes
Nota

Si durante la exportación con expdp utiliza el parámetro encryption_pwd_prompt=yes, utilice también encryption_pwd_prompt=yes con la importación e introducir la misma contraseña en el indicador impdp para descifrar los archivos de volcado (recuerde la contraseña que ha proporcionado durante la exportación). La longitud máxima de la contraseña de cifrado es de 128 bytes.

Puede utilizar otros parámetros de la exportación de Data Pump, como compression, según sus necesidades. Para obtener más información sobre Oracle Data Pump Export, consulte Oracle Database Utilities.

Importación de datos con Oracle Data Pump versión 18.3 o posterior

Oracle recomienda utilizar la versión de Oracle Data Pump más reciente para importar datos de archivos de Data Pump en Autonomous Database,, ya que contiene mejoras y correcciones para una mejor experiencia.

Descargue la versión más reciente de Oracle Instant Client, 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.

En Oracle Data Pump versión 18.3 y posteriores, el argumento credential autentica Data Pump para el servicio de Cloud Object Storage que utilice para los archivos de origen. El argumento archivo de volcado es una lista delimitada por comas de direcciones URL para los archivos de Data Pump.

In Oracle Data Pump, if your source files reside on Oracle Cloud Infrastructure Object Storage you can use Oracle Cloud Infrastructure native URIs or Swift URIs. Consulte DBMS_CLOUD URI Formats para obtener detalles sobre estos formatos de URI de archivo.

Importación con Oracle Data Pump y definición del parámetro credential

  1. Store la credencial de Cloud Object Storage mediante DBMS_CLOUD.CREATE_CREDENTIAL.

    Por ejemplo, para crear credenciales de token de autenticación de Oracle Cloud Infrastructure:

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

    Para obtener más información sobre la autenticación de token de autenticación de Oracle Cloud Infrastructure, consulte el procedimiento CREATE_CREDENTIAL.

    Por ejemplo, para crear credenciales basadas en claves de firma de Oracle Cloud Infrastructure:

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
           tenancy_ocid    => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
           private_key     => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
           fingerprint     => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
    END;
    /

    Para obtener más información sobre las credenciales basadas en claves de firma de Oracle Cloud Infrastructure, consulte el procedimiento CREATE_CREDENTIAL.

    Tipos de credencial soportados:

    • La importación de pump de datos soporta credenciales basadas en token de autenticación de Oracle Cloud Infrastructure y credenciales basadas en claves de firma de Oracle Cloud Infrastructure.

      Para obtener más información sobre los tipos de credenciales para Oracle Cloud Infrastructure Cloud Object Storage, consulte el procedimiento CREATE_CREDENTIAL.

    • Data Pump soporta el uso de una URL autenticada previamente de Oracle Cloud Infrastructure Object Storage para el parámetro dumpfile. Al utilizar una URL autenticada previamente, siempre que se necesite el parámetro credential y impdp ignore el parámetro credential. Al utilizar una URL autenticada previamente para dumpfile, puede utilizar un valor NULL para credential en el siguiente paso. Consulte Uso de solicitudes preautenticadas para obtener más información.
    • El pump de datos soporta el uso de una credencial de entidad de recurso con impdp. Consulte Importación de datos mediante Oracle Data Pump con credencial de entidad de recurso de OCI para obtener más información.

  2. Ejecute la importación de pump de datos con el parámetro dumpfile definido en la lista de URL de archivo de Cloud Object Storage y el parámetro credential definido en el nombre de la credencial creada en el paso anterior. Por ejemplo:
    impdp admin/password@db2022adb_high \       
         directory=data_pump_dir \       
         credential=def_cred_name \       
         dumpfile= https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/export%u.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         exclude=cluster,indextype,db_link
    Nota

    Si durante la exportación con expdp ha utilizado el parámetro encryption_pwd_prompt=yes, utilice encryption_pwd_prompt=yes e introduzca la misma contraseña en el indicador impdp que haya especificado durante la exportación.

    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.

    El parámetro credential no puede ser una entidad de servicio de Azure, un nombre de recurso de Amazon (ARN) o una cuenta de servicio de Google. Consulte Configuración de políticas y roles para acceder a recursos para obtener más información sobre la autenticación basada en entidad de recurso.

    Al utilizar una URL autenticada previamente para dumpfile, puede utilizar un valor NULL para credential.

    Para obtener el mejor rendimiento de importación, utilice el servicio de base de datos HIGH para la conexión de importación y establezca el parámetro parallel en un cuarto del número de ECPU (.25 x recuento de ECPU). Si utiliza el modelo de recursos informáticos de OCPU, defina el parámetro paralelo en el número de OCPU (1 x recuento de OCPU).

    Para obtener información sobre el nombre del servicio de base de datos que se conectará para ejecutar la importación de Data Pump, consulte Gestión de la moneda y las prioridades en Autonomous Database.

    Para obtener el formato de URL de archivo de volcado para diferentes servicios de Cloud Object Storage, consulte DBMS_CLOUD URI Formats.

    En este ejemplo, se excluye lo siguiente durante la importación de Data Pump:

    • Clusters

    • Tipos de Índice

    • Enlaces de Base de Datos

    Para realizar una importación completa o importar objetos que sean propiedad de otros usuarios, necesita el rol DATAPUMP_CLOUD_IMP.

    También puede utilizar la importación de Data Pump para importar recopilaciones de SODA en Autonomous Database. Consulte Importación de datos de recopilación de SODA con Oracle Data Pump versión 19.6 o posterior para obtener más información.

    Para obtener información sobre los objetos no permitidos en Autonomous Database, consulte SQL Commands.

    Consulte Compresión de tablas e importación de Oracle Data Pump para obtener más información sobre la compresión de tablas con la importación de Oracle Data Pump en Autonomous Database.

    Para obtener información detallada sobre los parámetros de Oracle Data Pump Import, consulte Oracle Database Utilities.

Notas para la importación con Oracle Data Pump:

Importación de datos con Oracle Data Pump con credencial de entidad de recurso de OCI

Oracle Data Pump soporta la importación de archivos de pump de datos en Autonomous Database mediante una entidad de recurso de Oracle Cloud Infrastructure como objeto de credencial.

Si utiliza Oracle Data Pump expdp para exportar directamente al almacén de objetos, debe utilizar la misma credencial que se ha utilizado para exportar al importar con impdp. En este caso, la importación de Oracle Data Pump no soporta credenciales de entidad de recurso de Oracle Cloud Infrastructure. Otros métodos de carga están soportados para utilizar impdp con credenciales de entidad de recurso. Por ejemplo, si carga archivos de Oracle Data Pump en el almacén de objetos mediante DBMS_CLOUD.PUT_OBJECT, puede importar los archivos mediante Oracle Data Pump impdp mediante credenciales de entidad de recurso. Del mismo modo, al utilizar la consola de Oracle Cloud Infrastructure para cargar archivos de pump de datos en el almacén de objetos, puede utilizar credenciales de entidad de recurso para importar en una instancia de Autonomous Database con Oracle Data Pump impdp.

In Oracle Data Pump, if your source files reside on Oracle Cloud Infrastructure Object Storage you can use Oracle Cloud Infrastructure native URIs or Swift URIs. Consulte DBMS_CLOUD URI Formats para obtener detalles sobre estos formatos de URI de archivo.

  1. Configure los grupos dinámicos y las políticas y active la entidad de recurso de Oracle Cloud Infrastructure para acceder a la ubicación del almacén de objetos en la que residen los archivos de pump de datos que desea importar.
  2. Ejecute la importación de Data Pump con el parámetro dumpfile definido en la lista de URL de archivo de Cloud Object Storage y el parámetro credential definido en OCI$RESOURCE_PRINCIPAL.

    Por ejemplo:

    impdp admin/password@db2022adb_high \       
         directory=data_pump_dir \ 
         credential= 'OCI$RESOURCE_PRINCIPAL' \ 
         dumpfile= https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/export%u.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         exclude=cluster,indextype,db_link
    Nota

    Si durante la exportación con expdp ha utilizado el parámetro encryption_pwd_prompt=yes, utilice encryption_pwd_prompt=yes e introduzca la misma contraseña en el indicador impdp que haya especificado durante la exportación.

    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.

    Para obtener el mejor rendimiento de importación, utilice el servicio de base de datos HIGH para la conexión de importación y establezca el parámetro parallel en un cuarto del número de ECPU (.25 x recuento de ECPU). Si utiliza el modelo de recursos informáticos de OCPU, defina el parámetro paralelo en el número de OCPU (1 x recuento de OCPU).

    Para obtener información sobre el nombre del servicio de base de datos que se conectará para ejecutar la importación de Data Pump, consulte Gestión de la moneda y las prioridades en Autonomous Database.

    Para obtener el formato de URL de archivo de volcado para diferentes servicios de Cloud Object Storage, consulte DBMS_CLOUD URI Formats.

    En este ejemplo, se excluye lo siguiente durante la importación de Data Pump:

    • Clusters

    • Tipos de Índice

    • Enlaces de Base de Datos

    Para realizar una importación completa o importar objetos que sean propiedad de otros usuarios, necesita el rol DATAPUMP_CLOUD_IMP.

    También puede utilizar la importación de Data Pump para importar recopilaciones de SODA en Autonomous Database. Consulte Importación de datos de recopilación de SODA con Oracle Data Pump versión 19.6 o posterior para obtener más información.

    Para obtener información sobre los objetos no permitidos en Autonomous Database, consulte SQL Commands.

    Para obtener información detallada sobre los parámetros de Oracle Data Pump Import, consulte Oracle Database Utilities.

Importación de datos con Oracle Data Pump (versiones 12.2.0.1 y anteriores)

Puede importar datos de archivos de pump de datos a Autonomous Database mediante las versiones 12.2.0.1 y anteriores de las versiones default_credential del cliente de Data Pump.

Las versiones 12.2.0.1 y anteriores de Data Pump Import no tienen el parámetro credential. Si utiliza una versión anterior de Data Pump Import, debe definir una propiedad de credencial por defecto para Autonomous Database y utilizar la palabra clave default_credential en el parámetro dumpfile.

In Oracle Data Pump, if your source files reside on Oracle Cloud Infrastructure Object Storage you can use the Oracle Cloud Infrastructure native URIs, or Swift URIs. Consulte DBMS_CLOUD URI Formats para obtener detalles sobre estos formatos de URI de archivo.

Importación con versiones anteriores de Oracle Data Pump y configuración de default_credential

  1. Store la credencial de Cloud Object Storage mediante DBMS_CLOUD.CREATE_CREDENTIAL.

    Por ejemplo, para crear credenciales de token de autenticación de Oracle Cloud Infrastructure:

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

    Para obtener más información sobre la autenticación de token de autenticación de Oracle Cloud Infrastructure, consulte el procedimiento CREATE_CREDENTIAL.

    Por ejemplo, para crear credenciales basadas en claves de firma de Oracle Cloud Infrastructure:

    BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL (
           credential_name => 'DEF_CRED_NAME',
           user_ocid       => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
           tenancy_ocid    => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
           private_key     => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
           fingerprint     => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
    END;
    /

    Para obtener más información sobre las credenciales basadas en claves de firma de Oracle Cloud Infrastructure, consulte el procedimiento CREATE_CREDENTIAL.

    Tipos de credencial soportados:

    • La importación de pump de datos soporta credenciales basadas en token de autenticación de Oracle Cloud Infrastructure y credenciales basadas en claves de firma de Oracle Cloud Infrastructure.

      Para obtener más información sobre los tipos de credenciales para Oracle Cloud Infrastructure Cloud Object Storage, consulte el procedimiento CREATE_CREDENTIAL.

    • Data Pump soporta el uso de una URL autenticada previamente de Oracle Cloud Infrastructure Object Storage para dumpfile. Al utilizar una URL autenticada previamente, es necesario definir DEFAULT_CREDENTIAL y impdp ignora DEFAULT_CREDENTIAL. Al utilizar una URL autenticada previamente para dumpfile, puede utilizar un valor NULL para el DEFAULT_CREDENTIAL definido en el siguiente paso. Consulte Uso de solicitudes preautenticadas para obtener más información.

    • El pump de datos soporta el uso de una credencial de entidad de recurso con impdp.

  2. Definición de la credencial como credencial por defecto para Autonomous Database, como usuario ADMIN. Por ejemplo:
    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'ADMIN.DEF_CRED_NAME'

    DEFAULT_CREDENTIAL puede ser una entidad de recurso de OCI. Por ejemplo:

    ALTER DATABASE PROPERTY SET DEFAULT_CREDENTIAL = 'OCI$RESOURCE_PRINCIPAL'

    Consulte Configuración de políticas y roles para acceder a recursos para obtener más información sobre la autenticación basada en entidad de recurso.

    Nota

    El valor DEFAULT_CREDENTIAL no puede ser una entidad de servicio de Azure, un nombre de recurso de Amazon (ARN) o una cuenta de servicio de Google.

    El valor DEFAULT_CREDENTIAL se puede definir en NULL si utiliza una URL autenticada previamente.

  3. Ejecute la importación de Data Pump con el parámetro dumpfile definido en la lista de URL de archivo de Cloud Object Storage y defina la palabra clave default_credential. Por ejemplo:
    impdp admin/password@db2022adb_high \      
         directory=data_pump_dir \
         dumpfile=default_credential:https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/export%u.dmp \
         parallel=16 \
         encryption_pwd_prompt=yes \
         exclude=cluster,indextype,db_link
    
    Nota

    Si durante la exportación con expdp ha utilizado el parámetro encryption_pwd_prompt=yes, utilice encryption_pwd_prompt=yes e introduzca la misma contraseña en el indicador impdp que haya especificado durante la exportación.

    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.

    Para obtener el mejor rendimiento de importación, utilice el servicio de base de datos HIGH para la conexión de importación y establezca el parámetro parallel en un cuarto del número de ECPU (.25 x recuento de ECPU). Si utiliza el modelo de recursos informáticos de OCPU, defina el parámetro paralelo en el número de OCPU (1 x recuento de OCPU).

    Para obtener información sobre el nombre del servicio de base de datos que se conectará para ejecutar la importación de Data Pump, consulte Gestión de la simultaneidad y las prioridades en Autonomous Database.

    Para obtener el formato de URL de archivo de volcado para diferentes servicios de Cloud Object Storage, consulte DBMS_CLOUD URI Formats.

    En este ejemplo, se excluye lo siguiente durante la importación de Data Pump:

    • Clusters

    • Tipos de Índice

    • Enlaces de Base de Datos

Nota

Para realizar una importación completa o importar objetos que sean propiedad de otros usuarios, necesita el rol DATAPUMP_CLOUD_IMP.

También puede utilizar la importación de Data Pump para importar recopilaciones de SODA en Autonomous Database. Consulte Importación de datos de recopilación de SODA con Oracle Data Pump versión 19.6 o posterior para obtener más información.

Para obtener información sobre los objetos no permitidos en Autonomous Database, consulte SQL Commands.

Consulte Compresión de tablas e importación de Oracle Data Pump para obtener más información sobre la compresión de tablas con la importación de Oracle Data Pump en Autonomous Database.

Para obtener información detallada sobre los parámetros de Oracle Data Pump Import, consulte Oracle Database Utilities.

Notas para la importación con Oracle Data Pump:

Acceso a archivos log para la importación de Data Pump

Los archivos log para las operaciones de importación de pump de datos se almacenan en el directorio que especifique con el parámetro impdp directory del pump de datos.

Para acceder al archivo log, debe mover el archivo log a su almacenamiento de objetos en la nube mediante el procedimiento DBMS_CLOUD.PUT_OBJECT. Por ejemplo, el siguiente bloque PL/SQL mueve el archivo import.log al almacenamiento de objetos en la nube:

BEGIN
  DBMS_CLOUD.PUT_OBJECT(
    credential_name => 'DEF_CRED_NAME',
    object_uri => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/import.log',
    directory_name  => 'DATA_PUMP_DIR',
    file_name => 'import.log');
END;
/

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.

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.

Para obtener más información, consulte DBMS_CLOUD Subprogramas y API de REST.

Importación y Compresión de Tablas de Oracle Data Pump

Proporciona notas sobre el uso de la importación de Oracle Data Pump en Autonomous Database.

Por defecto, la utilidad de importación de Oracle Data Pump importa datos con el mismo tipo de compresión especificado para las tablas de la base de datos origen (la base de datos desde la que ha exportado los datos). Si desea dejar la compresión en Autonomous Database, especifique el siguiente parámetro al importar los datos:

TRANSFORM=TABLE_COMPRESSION_CLAUSE:NONE

El parámetro TRANSFORM con esta opción especifica que la importación de Oracle Data Pump debe ignorar el tipo de compresión de las tablas de origen. Con esta opción, Oracle Data Pump importa las tablas a Autonomous Database mediante el tipo de compresión por defecto, donde el tipo de compresión por defecto depende del tipo de carga de trabajo de Autonomous Database:

  • Almacén de datos: la compresión de tabla por defecto es la compresión de columnas híbridas.

    Oracle recomienda utilizar este valor por defecto si la aplicación utiliza principalmente operaciones de carga en bloque en las tablas, ya que las cargas comprimirán los datos. El rendimiento de las consultas en estas tablas se beneficiará de la compresión, ya que las consultas deben realizar menos E/S.

    Si tiene tablas temporales replicadas desde otros sistemas mediante Oracle GoldenGate u otras herramientas de replicación, o si la aplicación utiliza principalmente operaciones DML fila por fila en tablas, Oracle recomienda mantener las tablas descomprimidas o mediante la compresión avanzada de filas.

  • Procesamiento de transacciones: la compresión de tabla predeterminada no es ninguna compresión.

  • JSON Database: la compresión de tabla por defecto no es ninguna compresión.

  • APEX: la compresión de tabla predeterminada no es ninguna compresión.

Consulte TRANSFORM para obtener más información sobre el parámetro TRANSFORM de importación de Oracle Data Pump.

Consulte Acerca de la Compresión de Tablas para obtener más información.