Importación de datos de recopilación de SODA con Oracle Data Pump versión 19.6 o posterior

Muestra los pasos para importar recopilaciones de SODA en Autonomous Database con Oracle Data Pump.

Puede exportar e importar recopilaciones de SODA mediante las utilidades de Oracle Data Pump a partir de la versión 19.6. Oracle recomienda utilizar la versión de Oracle Data Pump más reciente para importar archivos de Data Pump en la base de datos.

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, si los archivos de origen residen en Oracle Cloud Infrastructure Object Storage, puede utilizar los URI nativos de Oracle Cloud Infrastructure, los URI de Swift o los URI predefinidos. Consulte DBMS_CLOUD Package File URI Formats para obtener detalles sobre estos formatos de URI de archivo.

Si utiliza un URI autenticado previamente de Oracle Cloud Infrastructure, aún debe proporcionar un parámetro credential. Sin embargo, las credenciales de una URL autenticada previamente se ignoran (y las credenciales proporcionadas no tienen que ser válidas). Consulte DBMS_CLOUD Package File URI Formats para obtener información sobre los URI autenticados previamente de Oracle Cloud Infrastructure.

En este ejemplo se muestra cómo crear los metadatos de la recopilación de SODA e importar una recopilación de SODA con Data Pump.

  1. En la base de datos de origen, exporte la recopilación de SODA mediante el comando expdp de Oracle Data Pump.
  2. Cargue el juego de archivos de volcado del paso 1 en Cloud Object Storage.
  3. Create a SODA collection with the required SODA collection metadata on your Autonomous Database.

    Por ejemplo, si va a exportar una recopilación denominada MyCollectionName desde la base de datos de origen con los siguientes metadatos:

    • La columna de contenido es de un tipo BLOB.

    • La columna de versión utiliza el método SHA256.

    A continuación, en la instancia de Autonomous Database donde importe la recopilación, cree una nueva recopilación:

    • Por defecto, en Autonomous Database para una nueva recopilación, la columna de contenido se define en BLOB con jsonFormat especificado como OSON.

    • Por defecto, en Autonomous Database para una nueva recopilación, versionColumn.method se define en UUID.

    Consulte Metadatos de la recopilación por defecto de SODA en Autonomous Database para obtener más información.

    Por ejemplo:

    
    DECLARE
       collection_create SODA_COLLECTION_T;
    BEGIN
       collection_create := DBMS_SODA.CREATE_COLLECTION('MyCollectionName');
    END;
    /
    COMMIT;

    Puede utilizar la función PL/SQL DBMS_SODA.LIST_COLLECTION_NAMES para detectar recopilaciones existentes. Consulte Función LIST_COLLECTION_NAMES para obtener más información.

    Puede ver los metadatos de las recopilaciones de SODA consultando la vista USER_SODA_COLLECTIONS. Consulte USER_SODA_COLLECTIONS para obtener más información.

  4. 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 las credenciales basadas en claves de firma de Oracle Cloud Infrastructure, 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.
  5. 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 el nombre de la credencial creada en el paso anterior.
    Nota

    Importe los datos de recopilación mediante la opción CONTENT=DATA_ONLY.

    Especifique la recopilación que desea importar con el parámetro INCLUDE. Esto resulta útil si un juego de archivos de datos contiene todo el esquema y la recopilación de SODA que necesita importar se incluye como parte del juego de archivos de volcado.

    Utilice REMAP_DATA para cambiar cualquiera de las columnas durante la importación. En este ejemplo se muestra el uso de REMAP_DATA para cambiar el método de columna de versión de SHA256 a UUID.

    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 \
         
         encryption_pwd_prompt=yes \
         SCHEMA=my_schema \
         INCLUDE=TABLE:\"= \'MyCollectionName\'\"  \
         CONTENT=DATA_ONLY \
         REMAP_DATA=my_schema.'\"MyCollectionName\"'.VERSION:SYS.DBMS_SODA.TO_UUID 
          
    
    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.

    En Oracle Data Pump versión 19.6 y posteriores, el argumento credential autentica Oracle Data Pump para el servicio de Cloud Object Storage que utilice para los archivos de origen. 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 Acceso a recursos en la nube mediante la configuración de políticas y roles para obtener más información sobre la autenticación basada en entidad de recurso.

    El argumento archivo de volcado es una lista delimitada por comas de direcciones URL para los archivos de Data Pump.

    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 Package File URI Formats.

    Nota

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

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

    En este ejemplo de importación, la especificación del parámetro REMAP_DATA utiliza la función DBMS_SODA.TO_UUID para generar valores de UUID. Por defecto, para las bases de datos locales, la columna de versión de una recopilación de SODA se calcula mediante el hash SHA-256 del contenido del documento. En Autonomous Database, la columna de versión utiliza valores generados por UUID, que son independientes del contenido del documento.

    En este ejemplo, el parámetro REMAP_DATA utiliza la función DBMS_SODA.TO_UUID para sustituir el tipo de versión de la recopilación de origen por el control de versiones de UUID. Si en el conjunto de archivos de volcado de exportación que está importando, versionColumn.method ya está definido en UUID, no es necesario REMAP_DATA para este campo.

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

Los archivos log para las operaciones de importación de Data Pump se almacenan en el directorio que especifique con el parámetro DIRECTORY de la importación de Data Pump. Consulte Acceso al archivo log para la importación de Data Pump para obtener más información.