Creación de credenciales y copia de datos en una tabla existente

Para la carga de datos desde archivos en la nube, primero debe almacenar sus credenciales de almacenamiento de objetos en Autonomous Database y, a continuación, utilizar el procedimiento DBMS_CLOUD.COPY_DATA para cargar datos.

El archivo de origen de este ejemplo, channels.txt, tiene los siguientes datos:

S,Direct Sales,Direct
T,Tele Sales,Direct
C,Catalog,Indirect
I,Internet,Indirect
P,Partners,Others
  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.

    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.

    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/channels.txt',
        format => json_object('delimiter' value ',')
     );
    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 origen que desea cargar.

    • format: define las opciones que puede especificar para describir el formato del archivo de origen, incluido si el archivo es de tipo texto, ORC, Parquet o Avro.

      Si los datos de los archivos de origen están cifrados, descifre los datos especificando el parámetro format con la opción encryption. Consulte Descifrado de datos durante la importación desde Object Storage para obtener más información sobre el descifrado de datos.

    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.

    Nota

    Autonomous Database soporta una serie de formatos de archivo de origen, incluidos los formatos de datos comprimidos. Consulte DBMS_CLOUD Package Format Options y la opción de formato DBMS_CLOUD compression para ver los tipos de compresión soportados.

    Para obtener información detallada sobre los parámetros, consulte Procedimiento COPY_DATA y COPY_DATA Procedimiento para archivos Avro, ORC o Parquet.