DBMS_CLOUD para objetos y archivos

En esta sección se tratan los subprogramas DBMS_CLOUD que se utilizan para trabajar con objetos y archivos.

Requisitos

Como desarrollador, puede utilizar procedimientos DBMS_CLOUD con bases de datos de IA autónomas desplegadas en Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.

Según la opción de despliegue, se deben cumplir los siguientes requisitos previos para utilizar los procedimientos DBMS_CLOUD con los proveedores de servicios Amazon S3, Azure Blob Storage y Google Cloud Storage.

Subprogramas DBMS_CLOUD para objetos y archivos

Subprogramas de la gestión de objetos y archivos dentro del paquete DBMS_CLOUD.

Subprograma Descripción
Procedimiento COPY_COLLECTION Este procedimiento carga datos en una recopilación de SODA existente desde Cloud Object Storage o desde archivos de un directorio.
Procedimiento COPY_DATA Este procedimiento carga datos en tablas de base de datos de IA autónoma existentes, ya sea desde Cloud Object Storage o desde archivos de un directorio.
Procedimiento COPY_DATA para archivos Avro, ORC o Parquet

Este procedimiento con el parámetro format definido en type con el valor orc,parquet o avro carga datos en tablas de base de datos de IA autónoma existentes desde archivos ORC, Parquet o Avro en la nube o desde archivos ORC, Parquet o Avro en un directorio.

De forma similar a los archivos de texto, los datos se copian del archivo de origen ORC, Parquet o Avro en la tabla interna preexistente.

Procedimiento COPY_OBJECT Este procedimiento copia archivos de un cubo de Cloud Object Storage a otro.
Procedimiento CREATE_EXTERNAL_TABLE Este procedimiento crea una tabla externa en archivos en la nube o en archivos en un directorio. Esto le permite ejecutar consultas en datos externos desde base de datos de IA autónoma.
Procedimiento CREATE_EXTERNAL_TABLE para archivos Avro, ORC o Parquet

Este procedimiento con el parámetro format type definido en el valor parquet,orc o avro crea una tabla externa con archivos de formato Parquet, ORC o Avro en la nube o en un directorio.

Esto le permite ejecutar consultas en datos externos desde base de datos de IA autónoma.

Procedimiento CREATE_EXTERNAL_TEXT_INDEX Este procedimiento crea un índice de texto en los archivos del almacén de objetos.
Procedimiento CREATE_HYBRID_PART_TABLE Este procedimiento crea una tabla particionada híbrida. Esto le permite ejecutar consultas sobre datos particionados híbridos desde Autonomous AI Database.
Procedimiento DELETE_ALL_OPERATIONS Este procedimiento borra todas la operaciones de carga en la tabla user_load_operations del esquema o todas la operaciones de carga en datos del tipo especificado, según se ha indicado con el parámetro type.
Procedimiento DELETE_FILE Este procedimiento elimina el archivo especificado del directorio especificado en la base de datos AI autónoma
Procedimiento DELETE_OBJECT Este procedimiento suprime el objeto especificado en el almacén de objetos.
Procedimiento DELETE_OPERATION Este procedimiento acepta un operation_id como entrada y suprime los logs asociados al operation_id especificado.
Procedimiento DROP_EXTERNAL_TEXT_INDEX Este procedimiento borra el índice de texto en los archivos del almacén de objetos.
Procedimiento EXPORT_DATA Este procedimiento exporta datos de la base de datos de IA autónoma a archivos en la nube según el resultado de una consulta. El formulario sobrecargado permite utilizar el parámetro operation_id. Según la opción type del parámetro format especificada, el procedimiento exporta filas al almacén de objetos en la nube como texto con opciones de CSV, JSON, Parquet o XML
Función y procedimiento GET_OBJECT Este procedimiento está sobrecargado. El formulario del procedimiento lee un objeto de Cloud Object Storage y lo copia en Autonomous AI Database. El formulario de función lee un objeto de Cloud Object Storage y devuelve un valor BLOB a Autonomous AI Database.
Función LIST_FILES Esta función muestra los archivos del directorio especificado. Los resultados incluyen los nombres de archivo y metadatos adicionales sobre los archivos, como el tamaño de archivo en bytes, el registro de hora de creación y el registro de hora de la última modificación.
Función LIST_OBJECTS Esta función muestra los objetos de la ubicación especificada en el almacén de objetos. Los resultados incluyen los nombres de objetos y metadatos adicionales sobre los objetos, como el tamaño, el total de control, el registro de hora de creación y el registro de hora de la última modificación.
Procedimiento MOVE_OBJECT Este procedimiento mueve un objeto de un cubo de Cloud Object Storage a otro.
Procedimiento PUT_OBJECT Este procedimiento está sobrecargado. En un formulario, el procedimiento copia un archivo de la base de datos de IA autónoma en Cloud Object Storage. En otro formulario, el procedimiento copia un BLOB de la base de datos de IA autónoma en el almacenamiento de objetos en la nube.
Procedimiento SYNC_EXTERNAL_PART_TABLE Este procedimiento simplifica la actualización de una tabla particionada externa desde archivos en la nube. Ejecute este procedimiento siempre que se agreguen nuevas particiones o cuando se eliminen particiones del origen del almacén de objetos para la tabla particionada externa.
Procedimiento VALIDATE_EXTERNAL_TABLE Este procedimiento valida los archivos del origen para una tabla externa, genera información del log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla de archivo incorrecto en la base de datos de IA autónoma.
Procedimiento VALIDATE_EXTERNAL_PART_TABLE Este procedimiento valida los archivos del origen para una tabla externa particionada, genera información del log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla de archivo incorrecto en la base de datos de Autonomous AI.
Procedimiento VALIDATE_HYBRID_PART_TABLE Este procedimiento valida los archivos del origen para la tabla particionada híbrida, genera información del log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla híbrida en una tabla de archivo incorrecto en la base de datos AI autónoma.

Procedimiento COPY_COLLECTION

Este procedimiento carga datos en una recopilación de SODA desde Cloud Object Storage o desde un directorio. Si la recopilación de SODA especificada no existe, el procedimiento la crea. El formulario sobrecargado permite utilizar el parámetro operation_id.

Sintaxis

DBMS_CLOUD.COPY_COLLECTION (
    collection_name   IN VARCHAR2,
    credential_name   IN VARCHAR2 DEFAULT NULL,
    file_uri_list     IN CLOB,
    format            IN CLOB     DEFAULT NULL
);
DBMS_CLOUD.COPY_COLLECTION (
    collection_name   IN VARCHAR2,
    credential_name   IN VARCHAR2 DEFAULT NULL,
    file_uri_list     IN CLOB,
    format            IN CLOB     DEFAULT NULL,
    operation_id      OUT NOCOPY NUMBER
);

Parámetros

parámetro Descripción
collection_name Nombre de la recopilación de SODA en la que se cargarán los datos. Si ya existe una recopilación con este nombre, se cargarán los datos especificados; de lo contrario, se creará una nueva recopilación.
credential_name

Nombre de la credencial para acceder a Cloud Object Storage.

Este parámetro no se utiliza al especificar un directorio con file_uri_list.

file_uri_list

Este parámetro especifica una lista delimitada por comas de URI de archivo de origen o uno o más directorios y archivos de origen.

URI de archivo de origen en la nube

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE.

Por ejemplo:

file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

El formato de los URI depende del servicio Cloud Object Storage que utilice. para obtener información, consulte Formatos de URI en la nube de almacenamiento de objetos.

Consulte Condición REGEXP_LIKE en Referencia de lenguaje SQL de Oracle Database 19c o Referencia de lenguaje SQL de Oracle Database 26ai para obtener más información sobre la condición REGEXP_LIKE.

Directorio

Puede especificar un directorio y uno o más nombres de archivo o utilizar una lista separada por comas de directorios y nombres de archivo. El formato para especificar un directorio es:'MY_DIR:filename.ext'. Por defecto, el nombre de directorio MY_DIR es un objeto de base de datos y no distingue entre mayúsculas y minúsculas. El Nombre del Archivo es sensible a mayúsculas/minúsculas.

Puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede utilizar el carácter "*" como comodín para varios caracteres; el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo:'MY_DIR:*" o 'MY_DIR:test?'

Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo:'MY_DIR1:*, MY_DIR2:test?'

Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo:'"my_dir1":*, "my_dir2":Test?'

Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo:'MY_DIR:''filename.ext'. Especifica que filename empieza por una comilla (').

format

Opciones que describen el formato de los archivos de origen. Estas opciones se especifican como una cadena JSON.

Los formatos soportados son: characterset, compression, ignoreblanklines, jsonpath, maxdocsize, recorddelimiter, rejectlimit, unpackarray, keyassignment y keypath.

Además de los formatos mencionados para datos JSON, la base de datos de IA autónoma también soporta otros formatos. Para ver la lista de argumentos de formato admitidos por Autonomous AI Database, consulte Parámetro de formato.

operation_id Utilice este parámetro para realizar un seguimiento del progreso y del estado final de la operación de carga como el identificador correspondiente en la vista USER_LOAD_OPERATIONS.

Ejemplo

BEGIN
    DBMS_CLOUD.CREATE_CREDENTIAL(
            credential_name => 'OBJ_STORE_CRED',
            username        => 'user_name@oracle.com',
            password        => 'password'
            );

    DBMS_CLOUD.COPY_COLLECTION(
            collection_name => 'myCollection',
            credential_name => 'OBJ_STORE_CRED',
            file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/adbexample/b/json/o/myCollection.json'
            );
END;
/

Procedimiento COPY_DATA

Este procedimiento carga datos en tablas de base de datos de IA autónoma existentes desde archivos en la nube o desde archivos de un directorio. El formulario sobrecargado permite utilizar el parámetro operation_id.

Sintaxis

DBMS_CLOUD.COPY_DATA (
    table_name        IN VARCHAR2,
    credential_name   IN VARCHAR2 DEFAULT NULL,
    file_uri_list     IN CLOB,
    schema_name       IN VARCHAR2,
    field_list        IN CLOB,
    format            IN CLOB);
DBMS_CLOUD.COPY_DATA (
    table_name        IN VARCHAR2,
    credential_name   IN VARCHAR2 DEFAULT NULL,
    file_uri_list     IN CLOB DEFAULT NULL,
    schema_name       IN VARCHAR2 DEFAULT NULL,
    field_list        IN CLOB DEFAULT NULL,
    format            IN CLOB DEFAULT NULL
    operation_id      OUT NOCOPY NUMBER);

Parámetros

parámetro Descripción
table_name Nombre de la tabla de destino en la base de datos. Es necesario crear la tabla de destino para poder ejecutar COPY_DATA.
credential_name

Nombre de la credencial para acceder a Cloud Object Storage.

Este parámetro no se utiliza al especificar un directorio con file_uri_list.

file_uri_list

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

URI de archivo de origen en la nube

Este parámetro especifica una lista delimitada por comas de URI de archivo de origen o uno o más directorios y archivos de origen.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE.

Por ejemplo:

file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos de URI en la nube de almacenamiento de objetos.

Consulte Condición REGEXP_LIKE en Referencia de lenguaje SQL de Oracle Database 19c o Referencia de lenguaje SQL de Oracle Database 26ai para obtener más información sobre la condición REGEXP_LIKE.

Directorio

Puede especificar un directorio y uno o más nombres de archivo o utilizar una lista separada por comas de directorios y nombres de archivo. El formato para especificar un directorio es:'MY_DIR:filename.ext'. Por defecto, el nombre de directorio MY_DIR es un objeto de base de datos y no distingue entre mayúsculas y minúsculas. El Nombre del Archivo es sensible a mayúsculas/minúsculas.

Puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede utilizar el carácter "*" como comodín para varios caracteres; el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo:'MY_DIR:*" o 'MY_DIR:test?'

Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo:'MY_DIR1:*, MY_DIR2:test?'

Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo:'"my_dir1":*, "my_dir2":Test?'

Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo:'MY_DIR:''filename.ext'. Especifica que filename empieza por una comilla (').

schema_name Nombre del esquema en el que reside la tabla de destino. El valor por defecto es NULL, lo que significa que la tabla de destino está en el mismo esquema que el usuario que ejecuta el procedimiento.
field_list

Identifica los campos en los archivos de origen y sus tipos de datos. El valor por defecto es NULL, lo que significa que los campos y sus tipos de datos están determinados por el parámetro column_list. La sintaxis de este argumento es la misma que la cláusula field_list de las tablas externas normales de Oracle. Para obtener más información, consulte field_list en Oracle Database 19c Utilities u Oracle Database 26ai Utilities.

Cuando el valor de la opción type del parámetro format es json, este parámetro se ignora.

Para ver un ejemplo de uso de field_list, consulte Procedimiento CREATE_EXTERNAL_TABLE.

format

Opciones que describen el formato de los archivos origen, log y archivos incorrectos. Para obtener una lista de las opciones y cómo especificar los valores, consulte Parámetro de formato.

Para conocer las opciones de formato de archivo Avro, ORC o Parquet, consulte DBMS_CLOUD Package Format Options for Avro, ORC, or Parquet.

operation_id Utilice este parámetro para realizar un seguimiento del progreso y del estado final de la operación de carga como el identificador correspondiente en la vista USER_LOAD_OPERATIONS.

Notas de uso

El delimitador de registro predeterminado es detected newline. Con detected newline, DBMS_CLOUD intenta encontrar automáticamente el carácter de nueva línea correcto que se va a utilizar como delimitador de registro. DBMS_CLOUD busca primero el carácter de nueva línea de Windows \r\n. Si encuentra el carácter en línea nueva de Windows, este se utiliza como delimitador de registro para todos los archivos del procedimiento. If a Windows newline character is not found, DBMS_CLOUD searches for the UNIX/Linux newline character \n, and if it finds one it uses \n as the record delimiter for all files in the procedure. Si los archivos de origen utilizan una combinación de diferentes delimitadores de registros, puede encontrar un error como "KUP-04020: found record longer than buffer size supported". En este caso, debe modificar los archivos de origen para utilizar el mismo delimitador de registro o solo especificar los archivos de origen que utilizan el mismo delimitador de registro.

Consulte Parámetro de formato para obtener información sobre la opción de formato recorddelmiter.

Ejemplos

BEGIN
    DBMS_CLOUD.CREATE_CREDENTIAL(
            credential_name => 'DEF_CRED_NAME',
            username        => 'user_name@oracle.com',
            password        => 'password'
            );
END;
/
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;
/
BEGIN
    DBMS_CLOUD.COPY_DATA(
            table_name      => 'ORDERS',
            schema_name     => 'TEST_SCHEMA',
            credential_name => 'DEF_CRED_NAME',
	     file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/adbexample/b/json/o/orde[r]s.tbl.1'
            format          =>  json_object('ignoreblanklines' value TRUE,
                                            'rejectlimit' value '0',
                                            'dateformat' value 'yyyy-mm-dd',
                                            'regexuri' value TRUE)
            );
END;
/

Procedimiento COPY_DATA para archivos Avro, ORC o Parquet

Este procedimiento con el parámetro format type definido en el valor avro, orc o parquet carga datos en tablas de base de datos de IA autónoma existentes desde archivos Avro, ORC o Parquet en la nube o desde archivos de un directorio.

De forma similar a los archivos de texto, los datos se copian del archivo de origen Avro, ORC o Parquet en la tabla interna preexistente.

Sintaxis

DBMS_CLOUD.COPY_DATA (
    table_name        IN VARCHAR2,
    credential_name   IN VARCHAR2 DEFAULT NULL,
    file_uri_list     IN CLOB,
    schema_name       IN VARCHAR2 DEFAULT,
    field_list        IN CLOB DEFAULT,
    format            IN CLOB DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla de destino en la base de datos. Es necesario crear la tabla de destino para poder ejecutar COPY_DATA.
credential_name

Nombre de la credencial para acceder a Cloud Object Storage.

Este parámetro no se utiliza al especificar un directorio con file_uri_list.

file_uri_list

Este parámetro especifica una lista delimitada por comas de URI de archivo de origen o uno o más directorios y archivos de origen.

URI de archivo de origen en la nube

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE.

Por ejemplo:

file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

El formato de los URI depende del servicio Cloud Object Storage que utilice. para obtener información, consulte Formatos de URI en la nube de almacenamiento de objetos.

Consulte Condición REGEXP_LIKE en Referencia de lenguaje SQL de Oracle Database 19c o Referencia de lenguaje SQL de Oracle Database 26ai para obtener más información sobre la condición REGEXP_LIKE.

Directorio

Puede especificar un directorio y uno o más nombres de archivo o utilizar una lista separada por comas de directorios y nombres de archivo. El formato para especificar un directorio es:'MY_DIR:filename.ext'. Por defecto, el nombre de directorio MY_DIR es un objeto de base de datos y no distingue entre mayúsculas y minúsculas. El Nombre del Archivo es sensible a mayúsculas/minúsculas.

Puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede utilizar el carácter "*" como comodín para varios caracteres; el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo:'MY_DIR:*" o 'MY_DIR:test?'

Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo:'MY_DIR1:*, MY_DIR2:test?'

Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo:'"my_dir1":*, "my_dir2":Test?'

Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo:'MY_DIR:''filename.ext'. Especifica que filename empieza por una comilla (').

schema_name Nombre del esquema en el que reside la tabla de destino. El valor por defecto es NULL, lo que significa que la tabla de destino está en el mismo esquema que el usuario que ejecuta el procedimiento.
field_list

Ignorado para archivos de Avro, ORC o Parquet.

Los campos del origen coinciden con las columnas de la tabla externa por nombre. Los tipos de dato de origen se convierten al tipo de dato de columna de tabla externa.

Para los archivos ORC, consulte DBMS_CLOUD Package ORC to Oracle Data Type Mapping.

Para los archivos de Parquet, consulte DBMS_CLOUD Package Parquet to Oracle Data Type Mapping para obtener más información sobre la asignación.

Para los archivos Avro, consulte DBMS_CLOUD Package Avro to Oracle Data Type Mapping para obtener detalles sobre la asignación.

format Opciones que describen el formato de los archivos de origen. Para los archivos Avro, ORC o Parquet, solo están soportadas dos opciones: consulte DBMS_CLOUD Package Format Options for Avro, ORC o Parquet.

Notas de uso

Procedimiento COPY_OBJECT

Este procedimiento copia un objeto de un cubo o carpeta de Cloud Object Storage a otro.

La carpeta o el bloque de origen y de destino pueden estar en el mismo proveedor de almacén de objetos en la nube o en otro diferente.

Cuando el origen y el destino están en almacenes de objetos distintos o tienen cuentas diferentes con el mismo proveedor de nube, puede proporcionar nombres de credenciales independientes para las ubicaciones de origen y destino.

El nombre de credencial de origen también lo utiliza por defecto la ubicación de destino cuando no se proporciona el nombre de credencial de destino.

Sintaxis

DBMS_CLOUD.COPY_OBJECT (
    source_credential_name  IN  VARCHAR2 DEFAULT NULL,
    source_object_uri       IN  VARCHAR2,
    target_object_uri       IN  VARCHAR2,
    target_credential_name  IN  VARCHAR2 DEFAULT NULL
);

Parámetros

parámetro Descripción
source_credential_name

Nombre de la credencial para acceder a Cloud Object Storage de origen.

Si no proporciona un valor source_credential_name, credential_name se define en NULL.

source_object_uri

Especifica el URI que apunta al cubo o la ubicación de la carpeta de Object Storage de origen.

Este parámetro es obligatorio.

El formato de los URI depende del servicio Cloud Object Storage. Consulte Formatos de URI de almacenamiento de objetos en la nube para obtener más información.

target_object_uri

Especifica el URI del almacén de objetos de destino.

Este parámetro es obligatorio.

El formato de los URI depende del servicio Cloud Object Storage. Consulte Formatos de URI de almacenamiento de objetos en la nube para obtener más información.

target_credential_name

Nombre de la credencial para acceder a la ubicación de Cloud Object Storage de destino.

Si no proporciona un valor target_credential_name, target_object_uri se define en el valor source_credential_name.

Ejemplo

BEGIN
DBMS_CLOUD.COPY_OBJECT (
    source_credential_name => 'OCI_CRED',
    source_object_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/bgfile.csv',
    target_object_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/myfile.csv'
);
END;
/

Procedimiento CREATE_EXTERNAL_PART_TABLE

Este procedimiento crea una tabla particionada externa en los archivos de la nube o desde archivos de un directorio. Esto le permite ejecutar consultas en datos externos desde base de datos de IA autónoma.

Sintaxis

DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE (
    table_name           IN VARCHAR2,
    credential_name      IN VARCHAR2,
    partitioning_clause  IN CLOB,
    column_list          IN CLOB,
    field_list           IN CLOB DEFAULT,
    format               IN CLOB DEFAULT);


DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE (
    table_name           IN VARCHAR2,
    credential_name      IN VARCHAR2,
    file_uri_list        IN VARCHAR2,
    column_list          IN CLOB,
    field_list           IN CLOB DEFAULT,
    format               IN CLOB DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
credential_name Nombre de la credencial para acceder a Cloud Object Storage.
partitioning_clause

Especifica la cláusula de partición completa, incluida la información de ubicación de las particiones individuales.

Si utiliza el parámetro partitioning_clause, no se permite el parámetro file_uri_list.

file_uri_list

Este parámetro especifica una lista delimitada por comas de URI de archivo de origen o uno o más directorios y archivos de origen.

URI de archivo de origen en la nube

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE.

Esta opción solo está soportada con las tablas externas que se crean en un archivo de Object Storage.

Por ejemplo:

file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Si utiliza el parámetro file_uri_list, no se permite el parámetro partitioning_clause.

El formato de los URI depende del servicio Cloud Object Storage. Consulte Formatos de URI de almacenamiento de objetos en la nube para obtener más información.

Consulte Condición REGEXP_LIKE en Referencia de lenguaje SQL de Oracle Database 19c o Referencia de lenguaje SQL de Oracle Database 26ai para obtener más información sobre la condición REGEXP_LIKE.

column_list

Lista delimitada por comas de nombres de columna y tipos de datos para la tabla externa. Este parámetro tiene los siguientes requisitos, según el tipo de archivos de datos especificados con el parámetro file_uri_list:

  • El parámetro column_list es necesario con archivos no estructurados. Mediante el uso de archivos no estructurados, por ejemplo, con archivos de texto CSV, el parámetro column_list debe especificar todos los nombres de columna y tipos de datos dentro del archivo de datos, así como las columnas de partición derivadas del nombre de objeto.

  • El parámetro column_list es opcional con archivos estructurados. Por ejemplo, con los archivos de datos Avro, ORC o Parquet, column_list no es necesario. Cuando no se incluye column_list, la opción partition_columns del parámetro format debe incluir especificaciones tanto para los nombres de columna (name) como para los tipos de dato (type).

field_list Identifica los campos en los archivos de origen y sus tipos de datos. El valor por defecto es NULL, lo que significa que los campos y sus tipos de datos están determinados por el parámetro column_list. La sintaxis de este argumento es la misma que la cláusula field_list de las tablas externas normales de Oracle. Para obtener más información, consulte field_list en Oracle Database 19c Utilities u Oracle Database 26ai Utilities.
format

La opción de formato partition_columns especifica los nombres de columna DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE y los tipos de dato de las columnas de partición cuando las columnas de partición se derivan de la ruta de archivo, según el tipo de archivo de datos, estructurado o no estructurado:

  • Cuando DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE incluye el parámetro column_list y los archivos de datos no están estructurados, como los archivos de texto CSV, partition_columns no incluye el tipo de dato. Por ejemplo, utilice un formato como el siguiente para este tipo de especificación partition_columns:

    '"partition_columns":["state","zipcode"]'

    El tipo de dato no es necesario porque se especifica en el parámetro DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE column_list.

  • Cuando DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE no incluye el parámetro column_list y los archivos de datos están estructurados, como archivos Avro, ORC o Parquet, la opción partition_columns incluye tanto el nombre de columna, la subcláusula name y el tipo de dato, la subcláusula type. Por ejemplo, a continuación se muestra una especificación partition_columns:

    '"partition_columns":[ {"name":"country", "type":"varchar2(10)"}, {"name":"year", "type":"number"}, {"name":"month", "type":"varchar2(10)"}]'

Si los archivos de datos no están estructurados y la subcláusula type se especifica con partition_columns, se ignora la subcláusula type.

Para los nombres de objeto que no se basan en el formato hive, el orden de las columnas especificadas partition_columns debe coincidir con el orden en que aparecen en el nombre de objeto en la ruta de archivo especificada en el parámetro file_uri_list.

Para ver todas las opciones de parámetros format que describen el formato de los archivos de origen, consulte Formatos de URI de Cloud Object Storage.

Notas de uso

Ejemplos

Ejemplo: uso del parámetro partitioning_clause.

BEGIN
   DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE(
      table_name =>'PET1',
      credential_name =>'OBJ_STORE_CRED',
      format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
      column_list => 'col1 number, col2 number, col3 number',
      partitioning_clause => 'partition by range (col1)
                                (partition p1 values less than (1000) location
                                    ( ''&base_URL//file_11.txt'')
                                 ,
                                 partition p2 values less than (2000) location
                                    ( ''&base_URL/file_21.txt'')
                                 ,
                                 partition p3 values less than (3000) location
                                    ( ''&base_URL/file_31.txt'')
                                 )'
     );
   END;
/


BEGIN
    DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE(
       table_name          => 'PET',
       format              => json_object('delimiter'value ','),
       column_list         => 'name varchar2(20), gender varchar2(10), salary number',
       partitioning_clause => 'partition by range (salary)
              (   -- Use test1.csv in the DEFAULT DIRECTORY DATA_PUMP_DIR
                  partition p1 values less than (100) LOCATION (''test1.csv''),
                   -- Use test2.csv in a specified directory MY_DIR
                  partition p2 values less than (300) DEFAULT DIRECTORY MY_DIR LOCATION (''test2.csv'')        )'   );
END;
/

Ejemplo: uso de los parámetros file_uri_list y column_list con archivos de datos no estructurados.

BEGIN
  DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE(
   table_name => 'MYSALES',
   credential_name => 'DEF_CRED_NAME',
   file_uri_list     => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/*.csv',
   column_list       => 'product varchar2(100), units number, country varchar2(100), year number, month varchar2(2)',
   field_list        => 'product, units', --[Because country, year and month are not in the file, they are not listed in the field list]
   format            => '{"type":"csv", "partition_columns":["country","year","month"]}');
END;
/

Ejemplo: uso de file_uri_list sin el parámetro column_list con archivos de datos estructurados.

BEGIN
  DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE(
  table_name => 'MYSALES',
  credential_name => 'DEF_CRED_NAME',
  DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE(
    table_name      => 'MYSALES',
    credential_name => 'DEF_CRED_NAME',
    file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/*.parquet',
    format          =>
        json_object('type' value 'parquet', 'schema' value 'first',
                    'partition_columns' value
                          json_array(
                                json_object('name' value 'country', 'type' value 'varchar2(100)'),
                                json_object('name' value 'year', 'type' value 'number'),
                                json_object('name' value 'month', 'type' value 'varchar2(2)')
                          )
         )
    );
END;
/

Ejemplo: creación de tablas particionadas externas mediante los objetos almacenados en el cubo de C3 Object Storage.

BEGIN
  DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE(
     table_name => 'USAGE_EXTP',
     credential_name => 'OBJECT_STORAGE_CREDENTIAL',
     file_uri_list => 'https://objectstorage.mydomain.com/n/mytenancy/b/mybucket/o/usage-data/*usage-data*.parquet',
     format => json_object(
          'type' value 'parquet', 'schema' value 'first',
          'partition_columns' value json_array(
                json_object('name' value 'year', 'type' value 'number'),         
                json_object('name' value 'month', 'type' value 'number'),
                json_object('name' value 'day', 'type' value 'number')
          )
     )
   );
END;
/

Procedimiento CREATE_EXTERNAL_TABLE

Este procedimiento crea una tabla externa en los archivos de la nube o en los archivos de un directorio. Esto le permite ejecutar consultas en datos externos desde base de datos de IA autónoma.

Sintaxis

DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
    table_name       IN VARCHAR2,
    credential_name  IN VARCHAR2,
    file_uri_list    IN CLOB,
    column_list      IN CLOB,
    field_list       IN CLOB DEFAULT,
    format           IN CLOB DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
credential_name

Nombre de la credencial para acceder a Cloud Object Storage.

Este parámetro no se utiliza al especificar un directorio o una URL de hiperenlace de tabla con file_uri_list.

file_uri_list

Este parámetro especifica una lista delimitada por comas de URI de archivo de origen o uno o más directorios y archivos de origen.

URI de archivo de origen en la nube

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE.

Esta opción solo está soportada con las tablas externas que se crean en un archivo de Object Storage.

Por ejemplo:

file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos de URI en la nube de almacenamiento de objetos.

Consulte Condición REGEXP_LIKE en Referencia de lenguaje SQL de Oracle Database 19c o Referencia de lenguaje SQL de Oracle Database 26ai para obtener más información sobre la condición REGEXP_LIKE.

Directorio

Puede especificar un directorio y uno o más nombres de archivo o utilizar una lista separada por comas de directorios y nombres de archivo. El formato para especificar un directorio es:'MY_DIR:filename.ext'. Por defecto, el nombre de directorio MY_DIR es un objeto de base de datos y no distingue entre mayúsculas y minúsculas. El Nombre del Archivo es sensible a mayúsculas/minúsculas.

Puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede utilizar el carácter "*" como comodín para varios caracteres; el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo:'MY_DIR:*" o 'MY_DIR:test?'

Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo:'MY_DIR1:*, MY_DIR2:test?'

Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo:'"my_dir1":*, "my_dir2":Test?'

Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo:'MY_DIR:''filename.ext'. Especifica que filename empieza por una comilla (').

column_list Lista delimitada por comas de nombres de columna y tipos de datos para la tabla externa.
field_list Identifica los campos en los archivos de origen y sus tipos de datos. El valor por defecto es NULL, lo que indica que los campos y sus tipo de datos están determinados por el parámetro column_list. La sintaxis de este argumento es la misma que la cláusula field_list de las tablas externas regulares de Oracle Database. Para obtener más información sobre field_list, consulte ORACLE_LOADER Access Driver field_list bajo field_definitions Clause en Oracle Database 19c Utilities u Oracle Database 26ai Utilities.
format

Opciones que describen el formato de los archivos de origen. Para obtener una lista de las opciones y cómo especificar los valores, consulte Parámetro de formato.

Para los archivos con formato Avro, ORC o Parquet, consulte Procedimiento CREATE_EXTERNAL_TABLE para archivos Avro, ORC o Parquet.

Notas de uso

Ejemplos

Ejemplo: creación de una tabla externa a partir de un archivo CSV en Object Storage.

BEGIN
   DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
      table_name =>'WEATHER_REPORT_DOUBLE_DATE',
      credential_name =>'OBJ_STORE_CRED',
      file_uri_list =>'&base_URL/Charlotte_NC_Weather_History_Double_Dates.csv',
      format => json_object('type' value 'csv', 'skipheaders' value '1'),
      field_list => 'REPORT_DATE DATE''mm/dd/yy'',
                     REPORT_DATE_COPY DATE ''yyyy-mm-dd'',
                     ACTUAL_MEAN_TEMP,
                     ACTUAL_MIN_TEMP,
                     ACTUAL_MAX_TEMP,
                     AVERAGE_MIN_TEMP,
                     AVERAGE_MAX_TEMP,
                     AVERAGE_PRECIPITATION',
      column_list => 'REPORT_DATE DATE,
                     REPORT_DATE_COPY DATE,
                     ACTUAL_MEAN_TEMP NUMBER,
                     ACTUAL_MIN_TEMP NUMBER,
                     ACTUAL_MAX_TEMP NUMBER,
                     AVERAGE_MIN_TEMP NUMBER,
                     AVERAGE_MAX_TEMP NUMBER,
                     AVERAGE_PRECIPITATION NUMBER');
   END;
/

SELECT * FROM WEATHER_REPORT_DOUBLE_DATE where
   actual_mean_temp > 69 and actual_mean_temp < 74

Ejemplo: creación de una tabla externa mediante los objetos almacenados en el cubo de Object Storage C3.

BEGIN
  DBMS_CLOUD.CREATE_EXTERNAL_TABLE(
     table_name =>'CHANNELS_EXT',
     credential_name =>'OBJECT_STORAGE_CREDENTIAL',
     file_uri_list => '<https://objectstorage.mydomain.com/n/mytenancy/b/mybucket/o/channels.txt>',
     format => json_object('delimiter' value ','),
     column_list => 'CHANNEL_ID NUMBER, CHANNEL_DESC VARCHAR2(20), CHANNEL_CLASS VARCHAR2(20)'
  );
END;
/

Procedimiento CREATE_EXTERNAL_TABLE para Apache Iceberg

Este procedimiento crea tablas externas para tablas Apache Iceberg en las configuraciones soportadas.

Se admiten estas configuraciones específicas:

Sintaxis

DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
    table_name       IN VARCHAR2,
    credential_name  IN VARCHAR2 DEFAULT NULL,
    file_uri_list    IN CLOB,
    column_list      IN CLOB DEFAULT NULL,
    field_list       IN CLOB DEFAULT NULL,
    format           IN CLOB DEFAULT NULL
);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
credential_name

Nombre de la credencial utilizada para acceder a los archivos de datos, los archivos de metadatos y el catálogo de Iceberg (si se utiliza).

Para las configuraciones de AWS y OCI, la credencial se debe crear como se describe en el procedimiento CREATE_CREDENTIAL.

Actualmente no se admiten las credenciales de AWS Amazon Resource Names (ARN).

file_uri_list Debe ser NULL si se especifica un catálogo de Iceberg (consulte el parámetro format a continuación). Si no se utiliza un catálogo de iceberg, file_uri_list debe contener el URI del archivo de metadatos de iceberg.
column_list

Debe ser NULL, ya que los nombres y tipos de columna se derivan automáticamente de los metadatos de Iceberg.

Los nombres de columna coinciden con los nombres encontrados en los archivos de datos subyacentes (Parquet, Avro, ORC). Los tipos de dato de Oracle se derivan mediante las asignaciones Parquet/Avro/ORC entre los tipos de dato Iceberg y Parquet, Avro y ORC. Por lo tanto, los usuarios no pueden especificar column_list.

field_list Debe ser NULL, ya que los nombres de columna y los tipos de dato se derivan automáticamente de los metadatos de Iceberg.
format

El parámetro format tiene una estructura diferente según el tipo de tabla Iceberg y qué información se utiliza para crear la tabla externa, por ejemplo, información de un catálogo de datos o un URI de metadatos directos.

Consulte Soporte de Iceberg en muestras de OCI Data Flow y Formatos de URI de DBMS_CLOUD para obtener más información.

Parámetros de formato de ejemplo

Procedimiento CREATE_EXTERNAL_TABLE para archivos Avro, ORC o Parquet

Este procedimiento con el parámetro format definido en type con el valor avro, orc o parquet crea una tabla externa con archivos de formato Avro, ORC o Parquet en la nube o en un directorio.

Esto le permite ejecutar consultas en datos externos desde base de datos de IA autónoma.

Sintaxis

DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
    table_name       IN VARCHAR2,
    credential_name  IN VARCHAR2 DEFAULT NULL,
    file_uri_list    IN CLOB,
    column_list      IN CLOB,
    field_list       IN CLOB DEFAULT,
    format           IN CLOB DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
credential_name

Nombre de la credencial para acceder a Cloud Object Storage.

Este parámetro no se utiliza al especificar un directorio con file_uri_list.

file_uri_list

Este parámetro especifica una lista delimitada por comas de URI de archivo de origen o uno o más directorios y archivos de origen.

URI de archivo de origen en la nube

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE.

Esta opción solo está soportada con las tablas externas que se crean en un archivo de Object Storage.

Por ejemplo:

file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.parquet'

El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos de URI en la nube de almacenamiento de objetos.

Consulte Condición REGEXP_LIKE en Referencia de lenguaje SQL de Oracle Database 19c o Referencia de lenguaje SQL de Oracle Database 26ai para obtener más información sobre la condición REGEXP_LIKE.

Directorio

Puede especificar un directorio y uno o más nombres de archivo o utilizar una lista separada por comas de directorios y nombres de archivo. El formato para especificar un directorio es:'MY_DIR:filename.ext'. Por defecto, el nombre de directorio MY_DIR es un objeto de base de datos y no distingue entre mayúsculas y minúsculas. El Nombre del Archivo es sensible a mayúsculas/minúsculas.

Puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede utilizar el carácter "*" como comodín para varios caracteres; el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo:'MY_DIR:*" o 'MY_DIR:test?'

Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo:'MY_DIR1:*, MY_DIR2:test?'

Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo:'"my_dir1":*, "my_dir2":Test?'

Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo:'MY_DIR:''filename.ext'. Especifica que filename empieza por una comilla (').

column_list

(Opcional) Este campo, cuando se especifica, sustituye el parámetro format->schema, que especifica que el esquema, las columnas y los tipos de dato se derivan automáticamente. Consulte el parámetro format para obtener más información.

Cuando se especifica column_list para el origen de Avro, ORC o Parquet, los nombres de columna deben coincidir con las columnas encontradas en el archivo. Los tipos de dato de Oracle se deben asignar correctamente a los tipos de dato Avro, ORC o Parquet.

Para los archivos de Parquet, consulte DBMS_CLOUD Package Parquet to Oracle Data Type Mapping para obtener más información.

Para obtener más información sobre los archivos ORC, consulte DBMS_CLOUD Package ORC to Oracle Data Type Mapping.

Para obtener información detallada sobre los archivos Avro, consulte DBMS_CLOUD Package Avro to Oracle Data Type Mapping.

field_list

Ignorado para archivos de Avro, ORC o Parquet.

Los campos del origen coinciden con las columnas de la tabla externa por nombre. Los tipos de dato de origen se convierten al tipo de dato de columna de tabla externa.

Para los archivos ORC, consulte DBMS_CLOUD Package ORC to Oracle Data Type Mapping.

Para los archivos de Parquet, consulte DBMS_CLOUD Package Parquet to Oracle Data Type Mapping para obtener más información.

Para obtener información detallada sobre los archivos Avro, consulte DBMS_CLOUD Package Avro to Oracle Data Type Mapping.

format Para obtener más información sobre los archivos de origen Avro, ORC o Parquet type, consulte DBMS_CLOUD Package Format Options for Avro, ORC o Parquet.

Ejemplos

Consejo: Consulte DBMS_CLOUD Package Avro, ORC y Parquet to Oracle Column Name Mapping para obtener información sobre la asignación de nombres de columna y el uso de conversión de nombres de columna en Oracle SQL.

Procedimiento CREATE_EXTERNAL_TEXT_INDEX

Este procedimiento crea un índice de texto en los archivos de Object Storage.

El procedimiento CREATE_EXTERNAL_TEXT_INDEX crea un índice de texto en los archivos de Object Storage especificados en la ubicación location_uri. El índice se refresca a intervalos regulares para cualquier adición o supresión nueva realizada con archivos en el URI de ubicación.

Sintaxis

DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX (
      credential_name  IN  VARCHAR2 DEFAULT NULL,
      location_uri     IN  VARCHAR2,
      index_name       IN  VARCHAR2,
      format           IN  CLOB     DEFAULT NULL
);

Parámetros

parámetro Descripción
credential_name

Nombre de la credencial para acceder a la ubicación de Cloud Object Storage. Para los URI de cubo públicos, autenticados previamente o firmados previamente, se puede especificar un valor NULL.

Si no proporciona un valor credential_name, credential_name se define en un valor NULL.

location_uri

Este parámetro especifica la lista delimitada por comas de los URI de archivo de origen.

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

Este parámetro es obligatorio.

URI de archivo de origen en la nube

Este parámetro especifica una lista delimitada por comas de URI de archivo de origen o uno o más directorios y archivos de origen.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE.

Ejemplo de uso de expresiones regulares:

location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.csv'

Ejemplo de uso de comodines:

location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv

El formato de los URI depende del servicio Cloud Object Storage que utilice. para obtener información, consulte Formatos de URI en la nube de almacenamiento de objetos.

Consulte Condición REGEXP_LIKE para obtener más información sobre la condición REGEXP_LIKE.

index_name Especifica el nombre del índice que está creando en los archivos ubicados en la ubicación `location_uri`.

Este parámetro es obligatorio.

format

Especifica opciones de configuración adicionales. Las opciones se especifican como una cadena JSON.

Las opciones de formato admitidas son:

refresh_rate: especifica la frecuencia en minutos en la que se refresca el índice local. Las nuevas cargas y supresiones de archivos dan como resultado un refrescamiento de índice. El valor por defecto es de 5 minutos.

binary_files: especifica si el contenido de los archivos que se van a indexar es binario. Por ejemplo, PDF, MS-Word, el valor por defecto es FALSE.

stop_words: especifica una lista de palabras irrelevantes que se pueden proporcionar al crear índices.

El valor stop_words indica si se trata de una lista de palabras irrelevantes o una tabla de palabras irrelevantes. Cuando se proporciona una matriz de JSON, el parámetro de palabras de parada se trata como una lista; de lo contrario, el parámetro de palabras de parada se trata como un nombre de tabla cuya columna "STOP_WORDS" se utiliza para leer en la lista de palabras de parada.

Puede especificar palabras irrelevantes mediante los siguientes métodos:

  • Matriz de JSON: por ejemplo: format := '{"stop_words":["king","queen"]}'
  • Nombre de tabla de palabras de parada: por ejemplo: format := '{"stop_words":"STOP_WORDS_TABLE"}'

Si no proporciona un parámetro format, format se define en un valor NULL.

Ejemplo

BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX (
        credential_name => 'DEFAULT_CREDENTIAL',
        location_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/ts_data/'
        index_name      => 'EMP',
        format          => JSON_OBJECT ('refresh_rate' value 10)
);
END;
/

Procedimiento CREATE_HYBRID_PART_TABLE

Este procedimiento crea una tabla particionada híbrida. Esto le permite ejecutar consultas sobre datos particionados híbridos desde la base de datos de IA autónoma mediante objetos y archivos de base de datos en la nube, o objetos y archivos de base de datos en un directorio.

Sintaxis

DBMS_CLOUD.CREATE_HYBRID_PART_TABLE (
    table_name           IN VARCHAR2,
    credential_name      IN VARCHAR2,
    partitioning_clause  IN CLOB,
    column_list          IN CLOB,
    field_list           IN CLOB DEFAULT,
    format               IN CLOB DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
credential_name Nombre de la credencial para acceder a Cloud Object Storage.
partitioning_clause

Especifica la cláusula de partición completa, incluida la información de ubicación de las particiones individuales.

Para utilizar directorios, la cláusula de partición soporta los valores LOCATION y DEFAULT DIRECTORY.

Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de nube.

Las expresiones regulares solo se pueden utilizar cuando el parámetro regexuri format está definido en TRUE.

Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro regexuri se define en FALSE. Cuando el parámetro regexuri se define en TRUE, los caracteres "*" y "?" forman parte del patrón de expresión regular especificado.

Los patrones de expresión regular solo están soportados para el nombre de archivo o la ruta de subcarpeta en los URI y la coincidencia de patrones es idéntica a la realizada por la función REGEXP_LIKE. Los patrones de expresión regular no están soportados para los nombres de directorio.

Por ejemplo:

partitioning_clause => 'partition by range (col1) (partition p1 values less than (1000) external location ( ''https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o(/)*year=[0-9]+(/)*month=[0-9]+(/)*[a-z]+[1-3]??.txt''),...

Consulte Condición REGEXP_LIKE en Referencia de lenguaje SQL de Oracle Database 19c o Referencia de lenguaje SQL de Oracle Database 26ai para obtener más información sobre la condición REGEXP_LIKE.

column_list Lista delimitada por comas de nombres de columna y tipos de datos para la tabla externa.
field_list Identifica los campos en los archivos de origen y sus tipos de datos. El valor por defecto es NULL, lo que significa que los campos y sus tipos de datos están determinados por el parámetro column_list. La sintaxis de este argumento es la misma que la cláusula field_list de las tablas externas normales de Oracle. Para obtener más información, consulte field_list en Oracle Database 19c Utilities u Oracle Database 26ai Utilities.
format Opciones que describen el formato de los archivos de origen. Para obtener una lista de las opciones y cómo especificar los valores, consulte Parámetro de formato.

Notas de uso

Ejemplos

BEGIN
   DBMS_CLOUD.CREATE_HYBRID_PART_TABLE(
      table_name =>'HPT1',
      credential_name =>'OBJ_STORE_CRED',
      format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
      column_list => 'col1 number, col2 number, col3 number',
      partitioning_clause => 'partition by range (col1)
                                (partition p1 values less than (1000) external location
                                    ( ''&base_URL/file_11.txt'')
                                 ,
                                 partition p2 values less than (2000) external location
                                    ( ''&base_URL/file_21.txt'')
                                 ,
                                 partition p3 values less than (3000)
                                 )'
     );
   END;
/
BEGIN
   DBMS_CLOUD.CREATE_HYBRID_PART_TABLE(
    table_name  => 'HPT1',
    format      => json_object('delimiter'value ',', 'recorddelimiter'value 'newline'),
    column_list => 'NAME VARCHAR2(30), GENDER VARCHAR2(10), BALANCE number',
    partitioning_clause => 'partition by range (B  2  ALANCE)
               (partition p1 values less than (1000) external DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION (''Scott_male_1000.csv''),
                partition p2 values less than (2000) external DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION (''Mary_female_3000.csv''),
                partition p3 values less than (3000))' );
END;
/

Procedimiento DELETE_ALL_OPERATIONS

Este procedimiento borra todas la operaciones de carga en la tabla user_load_operations del esquema o todas la operaciones de carga en datos del tipo especificado, según se ha indicado con el parámetro type.

Sintaxis

DBMS_CLOUD.DELETE_ALL_OPERATIONS (
	type      IN VARCHAR DEFAULT NULL);

Parámetros

parámetro Descripción
type

Especifica el tipo de operación que se va a suprimir. Los valores de tipo se pueden encontrar en la columna TYPE de la tabla user_load_operations.

Si no se especifica type, se suprimen todas las filas.

Notas de uso

DBMS_CLOUD.DELETE_ALL_OPERATIONS no suprime las operaciones en ejecución actualmente (operaciones con el estado "En ejecución").

Procedimiento DELETE_FILE

Este procedimiento elimina el archivo especificado del directorio especificado en la base de datos de IA autónoma.

Sintaxis

DBMS_CLOUD.DELETE_FILE (
      directory_name     IN VARCHAR2,
      file_name          IN VARCHAR2,
      force              IN BOOLEAN DEFAULT FALSE);

Parámetros

parámetro Descripción
directory_name Nombre del directorio en la instancia de Autonomous AI Database.
file_name Nombre del archivo que se va a eliminar.
force Ignore y no informe errores si el archivo no existe. Los valores válidos son: TRUE y FALSE. El valor por defecto es FALSE.

Nota: Para ejecutar DBMS_CLOUD.DELETE_FILE con un usuario que no sea ADMIN, debe otorgar privilegios del directorio que contiene el archivo a ese usuario. Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios de escritura a atpc_user:

GRANT WRITE ON DIRECTORY data_pump_dir TO atpc_user;

Ejemplo

BEGIN
   DBMS_CLOUD.DELETE_FILE(
      directory_name =>  'DATA_PUMP_DIR',
      file_name => 'exp1.dmp' );
   END;
/

Procedimiento DELETE_OBJECT

Este procedimiento suprime el objeto especificado en el almacén de objetos.

Sintaxis

DBMS_CLOUD.DELETE_OBJECT (
       credential_name      IN VARCHAR2,
       object_uri           IN VARCHAR2,
       force                IN BOOLEAN DEFAULT FALSE);

Parámetros

parámetro Descripción
credential_name Nombre de la credencial para acceder a Cloud Object Storage.
object_uri URI de objeto o de archivo para el objeto que se va a suprimir. El formato del URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte Formatos de URI de almacenamiento de objetos en la nube.
force Ignore y no informe errores si el objeto no existe. Los valores válidos son: TRUE y FALSE. El valor por defecto es FALSE.

Ejemplo

BEGIN
   DBMS_CLOUD.DELETE_OBJECT(
       credential_name => 'DEF_CRED_NAME',
       object_uri => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.dmp' );
   END;
/

Procedimiento DELETE_OPERATION

Este procedimiento borra las entradas de carga de datos para el identificador de operación especificado registrado en las tablas user_load_operations o dba_load_operations del esquema.

Sintaxis

DBMS_CLOUD.DELETE_OPERATION (
	id      IN NUMBER);

Parámetros

parámetro Descripción
id Especifica el ID de operación asociado a las entradas del archivo log que desea suprimir.

Ejemplo

SELECT id FROM user_load_operations WHERE type LIKE '%BAD%';
EXEC DBMS_CLOUD.DELETE_OPERATION(id);

Procedimiento DROP_EXTERNAL_TEXT_INDEX

Este procedimiento borra el índice de texto en los archivos de Object Storage.

El procedimiento DROP_EXTERNAL_TEXT_INDEX borra el índice especificado creado con el procedimiento CREATE_EXTERNAL_TEXT_INDEX.

Sintaxis

DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX (
      index_name       IN  VARCHAR2,
);

Parámetros

parámetro Descripción
index_name

Especifica el nombre del índice que va a borrar.

El nombre del índice debe coincidir con el nombre proporcionado en el momento de la creación del índice.

Este parámetro es obligatorio.

Ejemplo

BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX (
        index_name => 'EMP',
);
END;
/

Procedimiento EXPORT_DATA

Este procedimiento exporta datos de la base de datos de IA autónoma en función del resultado de una consulta. Este procedimiento se sobrecarga y admite la escritura de archivos en la nube o en un directorio.

Según el parámetro format type, el procedimiento exporta archivos a la nube o a una ubicación de directorio como archivos de texto en formato CSV, JSON, Parquet o XML.

Sintaxis

DBMS_CLOUD.EXPORT_DATA (
      credential_name   IN VARCHAR2 DEFAULT NULL,
      file_uri_list     IN CLOB,
      format            IN CLOB,
      query             IN CLOB);

DBMS_CLOUD.EXPORT_DATA (
      credential_name   IN VARCHAR2 DEFAULT NULL,
      file_uri_list     IN CLOB DEFAULT NULL,
      format            IN CLOB DEFAULT NULL,
      query             IN CLOB DEFAULT NULL,
      operation_id      OUT NOCOPY NUMBER);

Parámetros

parámetro Descripción
credential_name

Nombre de la credencial para acceder a Cloud Object Storage.

Cuando no se incluye el parámetro de credencial, se especifica la salida a un directorio.

file_uri_list

Hay diferentes formas, según el valor del parámetro de formato y según si incluye un parámetro de credencial:

  • Cuando el valor type del parámetro format es json: el JSON del almacén de objetos o la ubicación del directorio especificado se guarda con un nombre de archivo generado basado en el valor del parámetro file_uri_list. Consulte Nombre de archivo para salida de texto (CSV, JSON, Parquet o XML) para obtener más información.

  • Cuando el valor type del parámetro format es datapump, file_uri_list es una lista delimitada por comas de los archivos de volcado. Especifica los archivos que se van a crear en el almacén de objetos. El uso de caracteres comodín y de sustitución no está soportado en file_uri_list.

  • Cuando no se especifica el parámetro credential_name, se proporciona un nombre de directorio en file_uri_list.

El formato de los URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte Formatos de URI de almacenamiento de objetos en la nube.

format

Cadena JSON que proporciona opciones de formato de exportación.

La opción admitida es:

  • type: se requiere la opción type format y debe tener uno de los valores: csv | datapump | json | parquet | xml.

Consulte DBMS_CLOUD Package Format Options for EXPORT_DATA.

query

Utilice este parámetro para especificar una sentencia SELECT para que solo se exporten los datos necesarios. La consulta determina el contenido de los archivos que se exportan como archivos de texto CSV, JSON, Parquet o XML, o como archivos de volcado. Por ejemplo:

SELECT warehouse_id, quantity FROM inventories

Cuando el valor format type es json, se comprueba cada resultado de consulta y, si no es JSON, según lo determinado con la función: JSON_OBJECT_T.parse(), DBMS_CLOUD.EXPORT_DATA transforma la consulta para incluir la función JSON_OBJECT y convertir la fila en JSON. Consulte JSON_OBJECT en Oracle Database 19c SQL Language Reference o Oracle Database 26ai SQL Language Reference y JSON_OBJECT_T Object Type en Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 26ai PL/SQL Packages and Types Reference para obtener más información.

Por ejemplo:

SELECT JSON_OBJECT(* RETURNING CLOB) from(SELECT warehouse_id, quantity FROM inventories)

operation_id Utilice este parámetro para realizar un seguimiento del progreso y del estado final de la operación de exportación como el identificador correspondiente en la vista USER_LOAD_OPERATIONS.

Notas de uso

Notas de uso para `DBMS_CLOUD.EXPORT_DATA` con salida a un directorio

ORA-31641: unable to create dump file  "/u02/exports/123.dmp"
ORA-27038: created file already exists

Ejemplos

Ejemplo: DBMS_CLOUD.EXPORT_DATA con el parámetro de formato type con el valor json.

BEGIN
   DBMS_CLOUD.EXPORT_DATA(
      credential_name => 'OBJ_STORE_CRED',
      file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.json',
      query           => 'SELECT * FROM DEPT',
      format          => JSON_OBJECT('type' value 'json', 'compression' value 'gzip'));
     );
   END;
/

Ejemplo: DBMS_CLOUD.EXPORT_DATA con el parámetro de formato type con el valor xml.

BEGIN
   DBMS_CLOUD.EXPORT_DATA(
      credential_name => 'OBJ_STORE_CRED',
      file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.xml',
      query           => 'SELECT * FROM DEPT',
      format          => JSON_OBJECT('type' value 'xml', 'compression' value 'gzip'));
     );
   END;
/

Ejemplo: DBMS_CLOUD.EXPORT_DATA con el parámetro de formato type con el valor csv.

BEGIN
   DBMS_CLOUD.EXPORT_DATA(
      credential_name => 'OBJ_STORE_CRED',
      file_uri_list   => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp.csv',
      query           => 'SELECT * FROM DEPT',
      format          => JSON_OBJECT('type' value 'csv', 'delimiter' value '|', 'compression' value 'gzip', 'header' value true ));
     );
   END;
/

Función y Procedimiento GET_OBJECT

Este procedimiento está sobrecargado. El formulario del procedimiento lee un objeto de Cloud Object Storage y lo copia en Autonomous AI Database. El formulario de función lee un objeto de Cloud Object Storage y devuelve un valor BLOB a Autonomous AI Database.

Sintaxis

DBMS_CLOUD.GET_OBJECT (
       credential_name      IN VARCHAR2,
       object_uri           IN VARCHAR2,
       directory_name       IN VARCHAR2,
       file_name            IN VARCHAR2 DEFAULT  NULL,
       startoffset          IN NUMBER DEFAULT  0,
       endoffset            IN NUMBER DEFAULT  0,
       compression          IN VARCHAR2 DEFAULT  NULL);
DBMS_CLOUD.GET_OBJECT(
       credential_name      IN VARCHAR2 DEFAULT NULL,
       object_uri           IN VARCHAR2,
       startoffset          IN NUMBER DEFAULT  0,
       endoffset            IN NUMBER DEFAULT  0,
       compression          IN VARCHAR2 DEFAULT  NULL)
RETURN BLOB;

Parámetros

parámetro Descripción
credential_name Nombre de la credencial para acceder a Cloud Object Storage.
object_uri URI de archivo o de objeto. El formato del URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte Formatos de URI de almacenamiento de objetos en la nube.
directory_name Nombre del directorio en la base de datos. (Consulte la nota a pie de página 1 a continuación)
file_name Especifica el nombre del archivo que se va a crear. Si no se ha especificado el nombre de archivo, este se toma desde después de la última barra inclinada del parámetro object_uri. Para casos especiales, por ejemplo, cuando el nombre de archivo contenga barras inclinadas, utilice el parámetro file_name.
startoffset Desplazamiento, en bytes, desde donde comienza a leer el procedimiento.
endoffset Desplazamiento, en bytes, hasta donde el procedimiento detiene la lectura.
compression Especifica la compresión utilizada para almacenar el objeto. Cuando compression se define en 'AUTO', se descomprime el archivo (el valor 'AUTO' implica que el objeto especificado con object_uri se comprime con Gzip).

Nota a Pie de Página 1

Nota: Para ejecutar DBMS_CLOUD.GET_OBJECT con un usuario que no sea ADMIN, debe otorgar privilegios WRITE en el directorio a ese usuario. Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios de escritura a atpc_user:

GRANT WRITE ON DIRECTORY data_pump_dir TO atpc_user;

Valores devueltos

La pantalla de función lee del almacén de objetos y DBMS_CLOUD.GET_OBJECT devuelve BLOB.

Ejemplos

BEGIN
   DBMS_CLOUD.GET_OBJECT(
     credential_name => 'OBJ_STORE_CRED',
     object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file.txt',
     directory_name => 'DATA_PUMP_DIR');
END;
/

Ejemplo: para leer datos de caracteres de un archivo en el almacén de objetos.

SELECT to_clob(
     DBMS_CLOUD.GET_OBJECT(
       credential_name => 'OBJ_STORE_CRED',
       object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file.txt'))
FROM DUAL;

Ejemplo: para agregar una imagen almacenada en el almacén de objetos en BLOB en la base de datos.

DECLARE
   l_blob BLOB := NULL;
BEGIN
   l_blob := DBMS_CLOUD.GET_OBJECT(
     credential_name => 'OBJ_STORE_CRED',
     object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/MyImage.gif' );
END;
/

In this example, namespace-string is the Oracle Cloud Infrastructure object storage namespace and bucketname is the bucket name. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.

Función LIST_FILES

Esta función muestra los archivos del directorio especificado. Los resultados incluyen los nombres de archivo y metadatos adicionales sobre los archivos, como el tamaño de archivo en bytes, el registro de hora de creación y el registro de hora de la última modificación.

Sintaxis

DBMS_CLOUD.LIST_FILES (
	directory_name      IN VARCHAR2)
       RETURN TABLE;

Parámetros

parámetro Descripción
directory_name Nombre del directorio en la base de datos. Este parámetro admite comodines.

Notas de uso

Ejemplos

Ejemplo: uso de la siguiente consulta para utilizar DBMS_CLOUD.LIST_FILES como una función de línea discontinua que devuelve una fila para cada archivo.

SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR');
OBJECT_NAME       BYTES   CHECKSUM      CREATED              LAST_MODIFIED
------------ ---------- ----------    ---------------------  ---------------------
cwallet.sso        2965               2018-12-12T18:10:47Z   2019-11-23T06:36:54Z

También puede utilizar DBMS_CLOUD.LIST_FILES con la sintaxis DIRECTORY:FILE, ya sea especificando un archivo o utilizando comodines. * y ? son los comodines soportados.

Ejemplo: para mostrar todos los archivos CSV que empiecen por "f" en el directorio DATA_PUMP_DIR con un comodín.

SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR:f*.csv');

Ejemplo: para mostrar el archivo f1.csv en el directorio DATA_PUMP_DIR especificando el nombre de archivo.

SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR:f1.csv');

Función LIST_OBJECTS

Esta función muestra los objetos de la ubicación especificada en el almacén de objetos. Los resultados incluyen los nombres de objetos y metadatos adicionales sobre los objetos, como el tamaño, el total de control, el registro de hora de creación y el registro de hora de la última modificación.

Sintaxis

DBMS_CLOUD.LIST_OBJECTS (
       credential_name      IN VARCHAR2,
       location_uri         IN VARCHAR2)
   RETURN TABLE;

Parámetros

parámetro Descripción
credential_name Nombre de la credencial para acceder a Cloud Object Storage.
location_uri

URI de carpeta o cubo de almacenamiento de objetos. El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos de URI en la nube de almacenamiento de objetos.

Los comodines se admiten para mostrar de forma selectiva archivos o subcarpetas en un URI. Los caracteres "*" y "?" se consideran caracteres comodín.

Ejemplo de uso de comodines:

location_uri => 'https://objectstorage.my$region.oraclecloud.com/n/namespace-string/b/bucketname/o/year=????/month=??/*.csv'

Notas de uso

Ejemplo

Se trata de una función con canalización que devuelve una fila para cada objeto. Por ejemplo, utilice la siguiente consulta para utilizar esta función:

SELECT * FROM DBMS_CLOUD.LIST_OBJECTS('OBJ_STORE_CRED',
    'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/');
OBJECT_NAME   BYTES              CHECKSUM                       CREATED         LAST_MODIFIED
------------ ---------- -------------------------------- --------------------- --------------------
cwallet.sso   2965      2339a2731ba24a837b26d344d643dc07 2019-11-23T06:36:54Z

In this example, namespace-string is the Oracle Cloud Infrastructure object storage namespace and bucketname is the bucket name. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.

Procedimiento MOVE_OBJECT

Este procedimiento mueve un objeto de un cubo o carpeta de Cloud Object Storage a otro.

La carpeta o el bloque de origen y de destino pueden estar en el mismo proveedor de almacén de objetos en la nube o en otro diferente.

Cuando el origen y el destino están en almacenes de objetos distintos o tienen cuentas diferentes con el mismo proveedor de nube, puede proporcionar nombres de credenciales independientes para las ubicaciones de origen y destino.

El nombre de credencial de origen también lo utiliza por defecto la ubicación de destino cuando no se proporciona el nombre de credencial de destino.

Sintaxis

DBMS_CLOUD.MOVE_OBJECT (
    source_credential_name  IN  VARCHAR2 DEFAULT NULL,
    source_object_uri       IN  VARCHAR2,
    target_object_uri       IN  VARCHAR2,
    target_credential_name  IN  VARCHAR2 DEFAULT NULL
);

Parámetros

parámetro Descripción
source_credential_name

Nombre de la credencial para acceder a Cloud Object Storage de origen.

Si no proporciona un valor source_credential_name, credential_name se define en NULL.

source_object_uri

Especifica el URI que apunta al cubo o la ubicación de la carpeta de Object Storage de origen.

Este parámetro es obligatorio.

El formato de los URI depende del servicio Cloud Object Storage. Consulte Formatos de URI de almacenamiento de objetos en la nube para obtener más información.

target_object_uri

Especifica el URI del cubo o la carpeta de Object Storage de destino, donde se deben mover los archivos.

Este parámetro es obligatorio.

El formato de los URI depende del servicio Cloud Object Storage. Consulte Formatos de URI de almacenamiento de objetos en la nube para obtener más información.

target_credential_name

Nombre de la credencial para acceder a la ubicación de Cloud Object Storage de destino.

Si no proporciona un valor target_credential_name, target_object_uri se define en el valor source_credential_name.

Ejemplo

BEGIN
DBMS_CLOUD.MOVE_OBJECT (
    source_credential_name => 'OCI_CRED',
    source_object_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/bgfile.csv',
    target_object_uri    => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/myfile.csv'
);
END;
/

Procedimiento PUT_OBJECT

Este procedimiento está sobrecargado. En un formulario, el procedimiento copia un archivo de la base de datos de IA autónoma en Cloud Object Storage. En otro formulario, el procedimiento copia un BLOB de la base de datos de IA autónoma en el almacenamiento de objetos en la nube.

Sintaxis

DBMS_CLOUD.PUT_OBJECT (
       credential_name      IN VARCHAR2,
       object_uri           IN VARCHAR2,
       directory_name       IN VARCHAR2,
       file_name            IN VARCHAR2
       compression          IN VARCHAR2 DEFAULT  NULL);
DBMS_CLOUD.PUT_OBJECT (
       credential_name      IN VARCHAR2,
       object_uri           IN VARCHAR2,
       contents             IN BLOB
       compression          IN VARCHAR2 DEFAULT  NULL);

Parámetros

parámetro Descripción
credential_name Nombre de la credencial para acceder a Cloud Object Storage.
object_uri URI de archivo o de objeto. El formato del URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte Formatos de URI de almacenamiento de objetos en la nube.
directory_name Nombre del directorio en la base de datos. (Consulte la nota a pie de página 1 a continuación)
contents Especifica el BLOB que se va a copiar de la base de datos de IA autónoma al almacenamiento de objetos en la nube.
file_name Nombre del archivo en el directorio especificado.
compression

Especifica la compresión utilizada para almacenar el objeto.

Valor por defecto: NULL

Nota a Pie de Página 1

Nota: Para ejecutar DBMS_CLOUD.PUT_OBJECT con un usuario que no sea ADMIN, debe otorgar privilegios en el directorio a ese usuario. Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios de lectura a atpc_user:

GRANT READ ON DIRECTORY data_pump_dir TO atpc_user;

Ejemplo

Para manejar datos BLOB después del procesamiento en la base de datos y, a continuación, almacenar los datos directamente en un archivo del almacén de objetos:

DECLARE
      my_blob_data BLOB;
BEGIN
 /* Some processing producing BLOB data and populating my_blob_data */
DBMS_CLOUD.PUT_OBJECT(
     credential_name => 'OBJ_STORE_CRED',
     object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/my_new_file',
     contents => my_blob_data));
END;
/

Notas de uso

En función del almacenamiento de objetos en la nube, el tamaño del objeto que transfiere es limitado de la siguiente manera:

Servicio de almacenamiento de objetos en la nube Límite de tamaño de transferencia de objeto
Oracle Cloud Infrastructure Object Storage 50 GB
Amazon S3 5 GB
Almacenamiento de bloques de Azure 256 MB
Compatibles con Amazon S3 Definido por el proveedor del almacén de objetos. Para obtener más información, consulte la documentación del profesional asistencial.

El almacén de objetos de Oracle Cloud Infrastructure no permite escribir archivos en un bucket público sin proporcionar credenciales (Oracle Cloud Infrastructure permite a los usuarios descargar objetos de buckets públicos). Por lo tanto, debe proporcionar un nombre de credencial con credenciales válidas para almacenar un objeto en un bucket público de Oracle Cloud Infrastructure mediante PUT_OBJECT.

Consulte Formatos de URI de almacenamiento de objetos en la nube para obtener más información.

Procedimiento SYNC_EXTERNAL_PART_TABLE

Este procedimiento simplifica la actualización de una tabla particionada externa desde archivos en la nube. Ejecute este procedimiento siempre que se agreguen nuevas particiones o cuando se eliminen particiones del origen del almacén de objetos para la tabla particionada externa.

Sintaxis

DBMS_CLOUD.SYNC_EXTERNAL_PART_TABLE (
	table_name        IN VARCHAR2,
	schema_name       IN VARCHAR2 DEFAULT,
	update_columns    IN BOOLEAN DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla de destino. Se debe crear la tabla de destino para poder ejecutar DBMS_CLOUD.SYNC_EXTERNAL_PART_TABLE.
schema_name Nombre del esquema en el que reside la tabla de destino. El valor por defecto es NULL, lo que significa que la tabla de destino está en el mismo esquema que el usuario que ejecuta el procedimiento.
update_columns

Los nuevos archivos pueden introducir un cambio en el esquema. Las actualizaciones soportadas incluyen: nuevas columnas, columnas suprimidas. Las actualizaciones de las columnas existentes, por ejemplo, un cambio en el tipo de dato devuelve errores.

Valor por defecto: False

Procedimiento VALIDATE_EXTERNAL_PART_TABLE

Este procedimiento valida los archivos de origen para una tabla externa particionada, genera información del log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla badfile en Autonomous AI Database. El formulario sobrecargado permite utilizar el parámetro operation_id.

Sintaxis

DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE (
       table_name                 IN VARCHAR2,
       partition_name             IN CLOB DEFAULT,
       subpartition_name          IN CLOB DEFAULT,
       schema_name                IN VARCHAR2 DEFAULT,
       rowcount                   IN NUMBER DEFAULT,
       partition_key_validation   IN BOOLEAN DEFAULT,
       stop_on_error              IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE (
       table_name                 IN VARCHAR2,
       operation_id               OUT NUMBER,
       partition_name             IN CLOB DEFAULT,
       subpartition_name          IN CLOB DEFAULT,
       schema_name                IN VARCHAR2 DEFAULT,
       rowcount                   IN NUMBER DEFAULT,
       partition_key_validation   IN BOOLEAN DEFAULT,
       stop_on_error              IN BOOLEAN DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
operation_id Utilice este parámetro para realizar un seguimiento del progreso y del estado final de la operación de carga como el identificador correspondiente en la vista USER_LOAD_OPERATIONS.
partition_name Si se define, sólo se valida una partición específica. Si no se especifica, lea todas las particiones de forma secuencial hasta que se alcance rowcount.
subpartition_name Si se define, solo se valida una subpartición específica. Si no se especifica, lea todas las particiones o subparticiones externas de forma secuencial hasta que se alcance rowcount.
schema_name Nombre del esquema en el que reside la tabla externa. El valor por defecto es NULL, lo que significa que la tabla externa está en el mismo esquema que el usuario que ejecuta el procedimiento.
rowcount Número de filas que se van a examinar. El valor por defecto es NULL, lo que significa que se examinan todas las filas de los archivos de origen.
partition_key_validation Sólo para uso interno. No utilice este parámetro.
stop_on_error Determina si la validación se debe parar cuando se rechaza una fila. El valor por defecto es TRUE, lo que significa que la validación se para en la primera fila rechazada. Al definir el valor en FALSE, se especifica que la validación no se para en la primera fila rechazada y se validan todas las filas hasta el valor especificado para el parámetro rowcount.

Procedimiento VALIDATE_EXTERNAL_TABLE

Este procedimiento valida los archivos de origen para una tabla externa, genera información del log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla badfile en Autonomous AI Database. El formulario sobrecargado permite utilizar el parámetro operation_id.

Sintaxis

DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE (
	table_name      IN VARCHAR2,
	schema_name     IN VARCHAR2 DEFAULT,
	rowcount        IN NUMBER DEFAULT,
	stop_on_error   IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE(
	table_name      IN VARCHAR2,
	operation_id    OUT NOCOPY NUMBER,
	schema_name     IN VARCHAR2 DEFAULT NULL,
	rowcount        IN NUMBER DEFAULT 0,
	stop_on_error   IN BOOLEAN DEFAULT TRUE);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
operation_id Utilice este parámetro para realizar un seguimiento del progreso y del estado final de la operación de carga como el identificador correspondiente en la vista USER_LOAD_OPERATIONS.
schema_name Nombre del esquema en el que reside la tabla externa. El valor por defecto es NULL, lo que significa que la tabla externa está en el mismo esquema que el usuario que ejecuta el procedimiento.
rowcount Número de filas que se van a examinar. El valor por defecto es NULL, lo que significa que se examinan todas las filas de los archivos de origen.
stop_on_error

Determina si la validación se debe parar cuando se rechaza una fila. El valor por defecto es TRUE, lo que significa que la validación se para en la primera fila rechazada. Al definir el valor en FALSE, se especifica que la validación no se para en la primera fila rechazada y se validan todas las filas hasta el valor especificado para el parámetro rowcount.

Si la tabla externa hace referencia a los archivos Avro, ORC o Parquet, la validación se para en la primera fila rechazada.

Cuando la tabla externa especifica el parámetro format definido en type con el valor avro, orc o parquet, el parámetro stop_on_error siempre tiene el valor TRUE. Por lo tanto, el archivo de errores de la tabla siempre estará vacío para una tabla externa que haga referencia a archivos Avro, ORC o Parquet.

Notas de uso

DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE funciona tanto con tablas externas particionadas como con tablas particionadas híbridas. Esto podría leer datos de todas las particiones externas hasta que se alcance rowcount o se aplique stop_on_error. No tiene control sobre qué partición o partes de una partición se leen en qué orden.

Procedimiento VALIDATE_HYBRID_PART_TABLE

Este procedimiento valida los archivos de origen para la tabla particionada híbrida, genera información del log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla híbrida en una tabla badfile en la base de datos de IA autónoma. El formulario sobrecargado permite utilizar el parámetro operation_id.

Sintaxis

DBMS_CLOUD.VALIDATE_HYBRID_PART_TABLE (
       table_name                 IN VARCHAR2,
       partition_name             IN CLOB DEFAULT,
       subpartition_name          IN CLOB DEFAULT,
       schema_name                IN VARCHAR2 DEFAULT,
       rowcount                   IN NUMBER DEFAULT,
       partition_key_validation   IN BOOLEAN DEFAULT,
       stop_on_error              IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_HYBRID_PART_TABLE (
       table_name                 IN VARCHAR2,
       operation_id               OUT NUMBER,
       partition_name             IN CLOB DEFAULT,
       subpartition_name          IN CLOB DEFAULT,
       schema_name                IN VARCHAR2 DEFAULT,
       rowcount                   IN NUMBER DEFAULT,
       partition_key_validation   IN BOOLEAN DEFAULT,
       stop_on_error              IN BOOLEAN DEFAULT);

Parámetros

parámetro Descripción
table_name Nombre de la tabla externa.
operation_id Utilice este parámetro para realizar un seguimiento del progreso y del estado final de la operación de carga como el identificador correspondiente en la vista USER_LOAD_OPERATIONS.
partition_name Si se define, sólo se valida una partición específica. Si no se especifica, lea todas las particiones externas de forma secuencial hasta que se alcance rowcount.
subpartition_name Si se define, solo se valida una subpartición específica. Si no se especifica, lea todas las particiones o subparticiones externas de forma secuencial hasta que se alcance rowcount.
schema_name Nombre del esquema en el que reside la tabla externa. El valor por defecto es NULL, lo que significa que la tabla externa está en el mismo esquema que el usuario que ejecuta el procedimiento.
rowcount Número de filas que se van a examinar. El valor por defecto es NULL, lo que significa que se examinan todas las filas de los archivos de origen.
partition_key_validation Sólo para uso interno. No utilice este parámetro.
stop_on_error Determina si la validación se debe parar cuando se rechaza una fila. El valor por defecto es TRUE, lo que significa que la validación se para en la primera fila rechazada. Al definir el valor en FALSE, se especifica que la validación no se para en la primera fila rechazada y se validan todas las filas hasta el valor especificado para el parámetro rowcount.

Contenido relacionado