Creación de credenciales y carga de archivos de volcado de pump de datos en una tabla existente

Para la carga de datos, también puede utilizar los archivos de volcado de Oracle Data Pump como archivos de origen.

Los archivos de origen para este tipo de carga se deben exportar del sistema de origen mediante el controlador de acceso ORACLE_DATAPUMP en tablas externas. Consulte Descarga y carga de datos con el controlador de acceso ORACLE_DATAPUMP para obtener información sobre la exportación mediante el controlador de acceso ORACLE_DATAPUMP.

Para cargar los datos, primero debe mover los archivos de volcado que se han exportado mediante el controlador de acceso ORACLE_DATAPUMP al almacén de objetos y, a continuación, utilizar DBMS_CLOUD.COPY_DATA para cargar los archivos de volcado en una tabla existente de la base de datos.

Los archivos de origen de este ejemplo son los archivos de volcado de Oracle Data Pump, exp01.dmp y exp02.dmp.

  1. Store las credenciales del almacén de objetos mediante el procedimiento DBMS_CLOUD.CREATE_CREDENTIAL. Por ejemplo:
    SET DEFINE OFF
    BEGIN
      DBMS_CLOUD.CREATE_CREDENTIAL(
        credential_name => 'DEF_CRED_NAME',
        username => 'adb_user@example.com',
        password => 'password'
      );
    END;
    /

    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.

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

    Nota

    Algunas herramientas como SQL*Plus y SQL Developer utilizan el carácter de ampersand (&) como carácter especial. Si tiene el carácter de ampersand en la contraseña, utilice el comando SET DEFINE OFF en esas herramientas, como se muestra en el ejemplo, para desactivar el carácter especial y obtener la credencial creada correctamente.
  2. Cargue datos en una tabla existente mediante el procedimiento DBMS_CLOUD.COPY_DATA. Por ejemplo:
    CREATE TABLE CHANNELS
       (channel_id CHAR(1),
        channel_desc VARCHAR2(20),
        channel_class VARCHAR2(20)
       );
    /
    
    BEGIN
     DBMS_CLOUD.COPY_DATA(
        table_name =>'CHANNELS',
        credential_name =>'DEF_CRED_NAME',
        file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp01.dmp,
                         https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp02.dmp',
        format => json_object('type' value 'datapump')
     );
    END;
    /
    

    Los parámetros son:

    • table_name: es el nombre de la tabla de destino.

    • credential_name: es el nombre de la credencial creada en el paso anterior. El parámetro credential_name debe cumplir las convenciones de nomenclatura de objetos de Oracle, que no permiten espacios ni guiones.

    • file_uri_list: es una lista delimitada por comas de los archivos de volcado de Data Pump que desea cargar.

    • format: define las opciones que puede especificar para describir el formato del archivo de origen. Al especificar type como 'datapump', el único parámetro de formato válido es 'rejectlimit'.

    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 información detallada sobre los parámetros, consulte Procedimiento COPY_DATA y COPY_DATA Procedimiento para archivos Avro, ORC o Parquet.