Subprogramas DBMS_CLOUD y API de REST
En esta sección se tratan los subprogramas DBMS_CLOUD
y las API de REST que se proporcionan con Autonomous Database.
Para ejecutar subprogramas de
DBMS_CLOUD
con un usuario que no sea ADMIN, debe otorgar privilegios EXECUTE
a ese usuario. Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios a adb_user
:GRANT EXECUTE ON DBMS_CLOUD TO adb_user;
El paquete DBMS_CLOUD
está formado por lo siguiente:
- DBMS_CLOUD para gestión de acceso
Los subprogramas para gestión de credenciales en el paquete DBMS_CLOUD, incluidas su creación, la supresión y actualización de credenciales. - DBMS_CLOUD para objetos y archivos
Los subprogramas para la gestión de objetos y archivos en el paquete DBMS_CLOUD. - DBMS_CLOUD para la gestión de archivos en bloque
Los subprogramas para las operaciones de archivos en bloque en el paquete DBMS_CLOUD. - DBMS_CLOUD API de REST
En esta sección se tratan las API de RESTDBMS_CLOUD
proporcionadas con Autonomous Database.
Tema principal: Paquete DBMS_CLOUD
DBMS_CLOUD para la gestión de acceso
Los subprogramas de la gestión de credenciales en el paquete DBMS_CLOUD, que incluyen la creación, la supresión y actualización de credenciales.
Subprograma | Descripción |
---|---|
Este procedimiento almacena credenciales del servicio en la nube en Autonomous Database. | |
Este procedimiento elimina una credencial existente de Autonomous Database. | |
Este procedimiento refresca inmediatamente el secreto de almacén de una credencial de secreto de almacén para obtener la última versión del secreto de almacén para el |
|
Este procedimiento actualiza los atributos de las credenciales del servicio en la nube en Autonomous Database. |
- Procedimiento CREATE_CREDENTIAL
Este procedimiento almacena credenciales de servicio en la nube en Autonomous Database. - Procedimiento DROP_CREDENTIAL
Este procedimiento elimina una credencial existente de Autonomous Database. - Procedimiento REFRESH_VAULT_CREDENTIAL
Este procedimiento refresca el secreto de almacén de una credencial de secreto de almacén. - Procedimiento UPDATE_CREDENTIAL
Este procedimiento actualiza un atributo con un nuevo valor para uncredential_name
especificado.
Tema principal: DBMS_CLOUD Subprogramas y APIs de REST
Procedimiento CREATE_CREDENTIAL
Este procedimiento almacena credenciales del servicio en la nube en Autonomous Database.
Utilice las credenciales del servicio de nube almacenadas para acceder a este servicio para cargar datos, para consultar datos externos que residen en la nube o para otros casos cuando utilice el procedimiento DBMS_CLOUD
con un parámetro credential_name
. Este procedimiento está sobrecargado:
-
Utilice los parámetros relacionados con Oracle Cloud Infrastructure, que incluyen:
user_ocid
,tenancy_ocid
,private_key
yfingerprint
, solo cuando utilice el autenticación de claves de firma de Oracle Cloud Infrastructure. -
Utilice el parámetro
params
para una de las siguientes opciones:-
Credenciales de nombres de recursos (ARN) de Amazon
-
Credenciales de Google Analytics o Google BigQuery
-
Credenciales secretas de almacén para su uso con un almacén soportado:
- Oracle Cloud Infrastructure Vault
- Almacén de claves de Azure
- AWS Secrets Manager
- Gestor de secretos de GCP
-
Sintaxis
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
username IN VARCHAR2,
password IN VARCHAR2 DEFAULT NULL,
comments IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
user_ocid IN VARCHAR2,
tenancy_ocid IN VARCHAR2,
private_key IN VARCHAR2,
fingerprint IN VARCHAR2,
comments IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
params IN CLOB DEFAULT);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial que se va a almacenar. El parámetro |
|
Los argumentos |
|
Los argumentos |
|
Especifica el texto de comentario para la credencial. Este campo puede ser útil para describir y distinguir entre credenciales. La longitud máxima del comentario es de 3800 caracteres. |
|
Especifica el OCID del usuario. Consulte Dónde obtener el OCID del arrendamiento y el OCID del usuario para obtener más información sobre cómo obtener el OCID del usuario. |
|
Especifica el OCID del arrendamiento. Consulte Dónde obtener el OCID del arrendamiento y el OCID del usuario para obtener más información sobre cómo obtener el OCID del arrendamiento. |
|
Especifica la clave privada generada. Las claves privadas generadas con una frase de contraseña no están soportadas. Debe generar la clave privada sin una frase de contraseña. Consulte Cómo generar una clave de firma de API para obtener más información sobre la generación de un par de claves en formato PEM. |
|
Especifica una huella. Después de cargar una clave pública generada en la cuenta del usuario, se muestra la huella en la consola. Utilice la huella mostrada para este argumento. Consulte Cómo obtener la huella de la clave y Cómo generar una clave de firma de API para obtener más información. |
|
Especifica los parámetros de credencial para una de las siguientes opciones:
|
Notas de uso
-
Esta operación almacena las credenciales en la base de datos en un formato cifrado.
-
Puede ver las credenciales en el esquema consultando la tabla
user_credentials
. -
Puede ver los comentarios de credenciales en su esquema consultando la tabla
user_credentials
. Por ejemplo:SELECT comments FROM user_credentials WHERE credential_name = 'MY_CRED';
-
El usuario
ADMIN
puede ver todas las credenciales consultando la tabladba_credentials
. -
Solo tiene que crear credenciales una vez, a menos que cambien las credenciales del servicio en la nube. Una vez almacenadas las credenciales, puede utilizar el mismo nombre que las credenciales para procedimientos
DBMS_CLOUD
que requieren un parámetrocredential_name
. -
Este procedimiento está sobrecargado. Si proporciona uno de los atributos de autenticación basados en clave,
user_ocid
,tenancy_ocid
,private_key
ofingerprint
, se asume que la llamada es una credencial basada en clave de firma de Oracle Cloud Infrastructure. -
Puede mostrar las credenciales de la vista
ALL_CREDENTIALS
. Por ejemplo, ejecute el siguiente comando para mostrar las credenciales:SELECT credential_name, username, comments FROM all_credentials;
Credenciales de Oracle Cloud Infrastructure (tokens de autenticación)
Para Oracle Cloud Infrastructure, username
es el nombre de usuario de Oracle Cloud Infrastructure. password
es el token de autenticación de Oracle Cloud Infrastructure. Consulte Trabajar con token de autenticación.
Por ejemplo:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DEF_CRED_NAME',
username => 'adb_user@example.com',
password => 'password' );
END;
/
Utilice credenciales basadas en token de autenticación al autenticar llamadas a OCI Object Storage. Para realizar llamadas a cualquier otro tipo de servicio en la nube de Oracle Cloud Infrastructure, utilice las credenciales basadas en claves de firma de Oracle Cloud Infrastructure.
Para OCI Object Storage, el valor del parámetro username
debe incluir el dominio de identidad y el nombre de usuario del perfil. Puede encontrar el dominio de identidad asociado a un usuario en la consola de Oracle Cloud Infrastructure.
Por ejemplo:
oracleidentitycloudservice/adb_user@example.com
Con el dominio de identidad por defecto no es necesario incluir el nombre de dominio Default
. Por ejemplo:
adb_user@example.com
Credenciales basadas en claves de firma de Oracle Cloud Infrastructure
Utilice los parámetros relacionados con la clave de firma de Oracle Cloud Infrastructure, que incluyen: user_ocid
, tenancy_ocid
, private_key
y fingerprint
, con la autenticación de claves de firma de Oracle Cloud Infrastructure.
Por ejemplo:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => ‘OCI_KEY_CRED’,
user_ocid => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
tenancy_ocid => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
private_key => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
fingerprint => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
END;
/
Las claves privadas generadas con una frase de contraseña no están soportadas. Debe generar la clave privada sin una frase de contraseña. Consulte Cómo generar una clave de firma de API para obtener más información.
Credenciales de Oracle Cloud Infrastructure Object Storage Classic
Si los archivos de origen residen en Oracle Cloud Infrastructure Object Storage Classic, username
es el nombre de usuario de Oracle Cloud Infrastructure Classic, y password
es la contraseña de Oracle Cloud Infrastructure Classic.
Credenciales de Amazon Web Services (AWS)
Si los archivos de origen residen en Amazon S3 o llama a una API de AWS, username
es el identificador de clave de acceso de AWS, y password
es la clave de acceso secreta de AWS. Consulte AWS Identity and Access Management.
Credenciales de Microsoft Azure
Si sus archivos de origen residen en Azure Blob Storage o Azure Data Lake Storage o va a llamar a una API de Azure, username
es el nombre de su cuenta de almacenamiento Azure, y password
es la clave del acceso de cuenta de almacenamiento de Azure. Consulte la sección acerca de las cuentas de almacenamiento de Azure.
Credenciales compatibles con Amazon S3
Servicio | Información de credenciales |
---|---|
Oracle Cloud Infrastructure (claves secretas de cliente) |
Si los archivos de origen residen en Oracle Cloud Infrastructure, debe utilizar claves secretas de cliente con URL compatibles con S3. Consulte Trabajar con claves secretas de cliente para obtener más información. |
Google Cloud Storage |
Si sus archivos de origen residen en Google Cloud Storage o va a llamar a las API de Google Cloud Storage, debe definir un proyecto de Google por defecto y obtener una clave HMAC para crear credenciales que proporcionar con URL compatibles con S3 de Google Cloud Storage. Utilice el identificador de clave HMAC como nombre de usuario, y el secreto HMAC como contraseña. Consulte la sección sobre proyectos y la sección sobre claves HMAC para obtener más información. |
Wasabi Hot Cloud Storage |
Si los archivos de origen residen en Wasabi Hot Cloud Storage o va a llamar a las API de Wasabi Hot Cloud Storage, necesita las claves de acceso para crear credenciales y proporcionarlas con URL compatibles con S3. Utilice la clave de acceso de Wasabi Hot Cloud Storage como nombre de usuario, y la clave secreta de Wasabi Hot Cloud Storage como contraseña. Consulte la sección sobre creación de un juego de claves de acceso de API de Wasabi para obtener más información. |
Credenciales de AWS Amazon Resource Names (ARN)
Si sus archivos de origen residen en Amazon S3 o está llamando a una API de AWS, utilice params
para especificar los parámetros para los nombres de recursos de Amazon (ARN).
Parámetro | Valor |
---|---|
aws_role_arn |
Especifica el nombre de recurso de Amazon (ARN) que identifica el rol de AWS. Si este parámetro no se proporciona al crear la credencial, se emite |
external_id_type |
Opcionalmente, defina Si este parámetro no se proporciona al crear la credencial, el valor por defecto es |
Por ejemplo:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'MY_CRED',
params => JSON_OBJECT(
'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN',
'external_id_type' value 'database_ocid'));
END;
/
Token de acceso personal de GitHub
Si los archivos de origen residen en un repositorio GitHub o llama a una API GitHub, username
es su correo electrónico GitHub y password
es su token de acceso personal GitHub. Consulte Creación de un token de acceso personal para obtener más información.
Por ejemplo:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'MY_GITHUB_CRED',
username => 'user@example.com',
password => 'your_personal_access_token' );
END;
/
Credenciales de Google Analytics o Google BigQuery
Si accede a Google Analytics o a Google BigQuery, utilice el parámetro params
para especificar los parámetros de credenciales de Google OAuth 2.0.
Parámetro | Valor |
---|---|
gcp_oauth2 |
Especifica el acceso OAuth 2.0 para Google Analytics o Google BigQuery con un objeto JSON que incluye los siguientes parámetros y sus valores:
Consulte Uso de OAuth 2.0 para acceder a las API de Google para obtener más información sobre las credenciales de Google OAuth. |
Por ejemplo:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'GOOGLE_BIGQUERY_CRED',
params => JSON_OBJECT('gcp_oauth2' value
JSON_OBJECT(
'client_id' value 'client_id',
'client_secret' value 'client_secret',
'refresh_token' value 'refresh_token' )));
END;
/
Credenciales secretas de almacén con Oracle Cloud Infrastructure Vault
Para crear credenciales de secreto de almacén con Oracle Cloud Infrastructure Vault, utilice el parámetro params
para especificar los parámetros necesarios:
-
username
: especifica el nombre de usuario de cualquier tipo de credencial de nombre de usuario/contraseña, como el nombre de usuario de la contraseña de OCI Swift. Por ejemplo, si tiene una credencial de Swift con el nombre de usuario "scott" y la contraseña "password", proporcione "scott" como parámetrousername
. -
secret_id
: es el ID de secreto del almacén. Especifique el valorsecret_id
como el OCID secreto del almacén. Consulte Visión general del almacén de claves para más información -
region
: parámetro opcional que especifica el identificador de región de oracle cloud. Cuando se especifica, la región indica la ubicación en la que se encuentra el secreto de Oracle Cloud Infrastructure Vault.Por defecto,
CREATE_CREDENTIAL
utiliza el valorregion
asignado desde la clave de región ensecret_id
. Un ejemplo de región esus-ashburn-1
.Consulte Regiones y dominios de Disponibilidad para obtener una lista completa de las regiones.
Por ejemplo:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'OCI_SECRET_CRED',
params => JSON_OBJECT(
'username' value 'scott',
'region' value 'us-ashburn-1',
'secret_id' value 'ocid1.vaultsecret.co1.ap-mumbai-1.example..aaaaaaaauq5ok5nq3bf2vwetkpqsoa'));
END;
/
Notas sobre el uso de un secreto de Oracle Cloud Infrastructure Vault para almacenar secretos de almacén:
- Al utilizar Oracle Cloud Infrastructure Vault, en la instancia de Autonomous Database, debe activar la autenticación de principal con
DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
. -
En Oracle Cloud Infrastructure, debe especificar una política para que la entidad de recurso acceda al secreto.
Para crear una credencial de secreto de almacén, debe tener el privilegio EXECUTE
en el paquete DBMS_CLOUD
.
Credenciales secretas de almacén con Azure Key Vault
Para crear credenciales de Azure Key Vault, utilice el parámetro params
para especificar los parámetros necesarios:
-
username
: especifica el nombre de usuario asociado a la clave. -
secret_id
: especifica el nombre del secreto. -
azure_vault_name
: especifica el nombre del almacén en el que se encuentra el secreto.
Consulte Creación de un almacén de claves para obtener más información.
Para crear una credencial de secreto de almacén, debe tener el privilegio EXECUTE
en el paquete DBMS_CLOUD
.
Credenciales secretas de almacén con AWS Secrets Manager
Para crear credenciales de secreto de almacén con AWS Secrets Manager, utilice el parámetro params
para especificar los parámetros necesarios:
-
username
: especifica la clave de acceso de AWS Secrets Manager. -
secret_id
: AWS Secrets Manager AWS ARN. -
region
: (opcional) especifica la región de servicio de AWS donde se encuentran el almacén y el secreto. Un ejemplo de la región de AWS es "us-east-2". El valor por defectoregion
es la región especificada con ARN en el parámetrosecret_id
.Consulte Gestión de regiones de AWS para obtener más información.
Para crear una credencial de secreto de almacén, debe tener el privilegio
EXECUTE
en el paqueteDBMS_CLOUD
.
Credenciales secretas de almacén con GCP Secret Manager
Para crear credenciales de GCP Secret Manager, utilice el parámetro params
para especificar los parámetros necesarios:
-
username
: especifica el nombre de usuario asociado al secreto. -
secret_id
: es el nombre del secreto. -
gcp_project_id
: especifica el ID del proyecto en el que se encuentra el secreto.
Consulte Gestor de secretos para obtener más información.
Para crear una credencial de secreto de almacén, debe tener el privilegio EXECUTE
en el paquete DBMS_CLOUD
.
Tema principal: DBMS_CLOUD para la gestión de acceso
Procedimiento DROP_CREDENTIAL
Este procedimiento elimina una credencial existente de Autonomous Database.
Sintaxis
DBMS_CLOUD.DROP_CREDENTIAL
(
credential_name IN VARCHAR2);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial que se va a eliminar. |
Tema principal: DBMS_CLOUD para la gestión de acceso
REFRESH_VAULT_CREDENTIAL Procedimiento
Este procedimiento refresca el secreto de almacén de una credencial de secreto de almacén.
Este procedimiento le permite refrescar inmediatamente el secreto de almacén de una credencial de secreto de almacén para obtener la última versión del secreto de almacén para el credential_name
especificado.
Sintaxis
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name IN VARCHAR2);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial que se debe refrescar. |
Notas de uso
-
El usuario
ADMIN
puede ver todas las credenciales consultando la tabladba_credentials
. -
Puede mostrar las credenciales de la vista
ALL_CREDENTIALS
. Por ejemplo, ejecute el siguiente comando para mostrar las credenciales:SELECT credential_name, username, comments FROM all_credentials;
Ejemplo
BEGIN
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name => 'AZURE_SECRET_CRED');
END;
/
Tema principal: DBMS_CLOUD para la gestión de acceso
Procedimiento UPDATE_CREDENTIAL
Este procedimiento permite cambiar un atributo con un nuevo valor para un credential_name
especificado.
Utilice las credenciales almacenadas para cargas de datos, para consultar datos externos en la nube o dondequiera que utilice procedimientos DBMS_CLOUD
con un parámetro credential_name
.
Sintaxis
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
value IN VARCHAR2);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial que se va a actualizar. |
|
Nombre del atributo que se actualizará. Para una credencial de tipo de nombre de usuario/contraseña, los valores válidos de Para una credencial para un ARN de Amazon, los valores válidos de Para una credencial para Google BigQuery o Google Analytics, los valores válidos de Según el almacén que utilice, para las credenciales de secreto de almacén los valores
attribute válidos son:
Consulte CREATE_CREDENTIAL Procedure para obtener más información. |
|
El nuevo valor del atributo especificado. |
Notas de uso
-
El valor del nombre de usuario distingue entre mayúsculas y minúsculas. No puede contener comillas dobles ni espacios.
-
El usuario
ADMIN
puede ver todas las credenciales consultandodba_credentials
. -
Solo tiene que crear credenciales una vez, a menos que cambien las credenciales del servicio en la nube. Una vez almacenadas las credenciales, puede utilizar el mismo nombre que las credenciales para procedimientos
DBMS_CLOUD
que requieren un parámetrocredential_name
. -
Puede mostrar las credenciales de la vista
ALL_CREDENTIALS
. Por ejemplo, ejecute el siguiente comando para mostrar las credenciales:SELECT credential_name, username, comments FROM all_credentials;
Ejemplos
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'OBJ_STORE_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'ARN_CRED',
attribute => 'aws_role_arn',
value => 'NEW_AWS_ARN');
END;
/
Tema principal: DBMS_CLOUD para la gestión de acceso
DBMS_CLOUD para objetos y archivos
Subprogramas de la gestión de objetos y archivos dentro del paquete DBMS_CLOUD.
Subprograma | Descripción |
---|---|
Este procedimiento carga datos en una recopilación de SODA existente desde Cloud Object Storage o desde archivos de un directorio. | |
Este procedimiento carga datos en tablas de Autonomous Database existentes desde Cloud Object Storage o desde archivos de un directorio. | |
Este procedimiento con el parámetro format definido en type con el valor orc , parquet o avro carga datos en tablas de Autonomous Database 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. |
|
Este procedimiento copia archivos de un cubo de Cloud Object Storage a otro. | |
CREATE_CLOUD_TABLE Procedimiento |
Este procedimiento crea una tabla en la nube donde todos los datos persistentes se almacenan en el almacenamiento de objetos gestionado por Oracle. |
Este procedimiento crea una tabla externa en archivos de la nube o en archivos de un directorio. Esto le permite ejecutar consultas en datos externos desde Autonomous Database. | |
CREATE_EXTERNAL_TABLE Procedimiento para Apache Iceberg |
Este procedimiento crea tablas externas para tablas Apache Iceberg en las configuraciones soportadas. |
CREATE_EXTERNAL_TABLE Procedimiento 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 Autonomous Database. |
Este procedimiento crea una tabla externa particionada en los archivos de la nube. Esto le permite ejecutar consultas en datos externos desde Autonomous Database. | |
Este procedimiento crea un índice de texto en los archivos del almacén de objetos. |
|
Este procedimiento crea una tabla particionada híbrida. Esto le permite ejecutar consultas en datos particionados híbridos desde Autonomous Database. | |
Este procedimiento borra todas las operaciones de carga de datos registradas en la tabla user_load_operations del esquema o todas las operaciones de carga de datos del tipo especificado, según se haya indicado con el parámetro type .
|
|
Este procedimiento elimina el archivo especificado del directorio especificado en Autonomous Database | |
Este procedimiento suprime el objeto especificado en el almacén de objetos. | |
Este procedimiento acepta un |
|
Este procedimiento borra el índice de texto en los archivos del almacén de objetos. |
|
Este procedimiento exporta datos de Autonomous Database 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; o bien utiliza el controlador de acceso ORACLE_DATAPUMP para escribir datos en un archivo de volcado. |
|
Este procedimiento está sobrecargado. El formulario del procedimiento lee un objeto de Cloud Object Storage y lo copia en Autonomous Database. El formulario de función lee un objeto de Cloud Object Storage y devuelve un valor BLOB a Autonomous Database.
|
|
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. | |
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. | |
Este procedimiento mueve un objeto de un cubo de Cloud Object Storage a otro. | |
Este procedimiento está sobrecargado. En un formulario, el procedimiento copia un archivo de Autonomous Database en Cloud Object Storage. En otro formulario, el procedimiento copia un archivo BLOB de Autonomous Database en Cloud Object Storage.
|
|
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. |
|
Este procedimiento valida los archivos de origen para una tabla externa, genera información de log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla de archivos incorrectos en Autonomous Database. | |
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 archivo_error en Autonomous Database. | |
Este procedimiento valida los archivos del origen para un 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 archivo incorrecto en Autonomous Database. |
- COPY_COLLECTION Procedimiento
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ámetrooperation_id
. - Procedimiento COPY_DATA
Este procedimiento carga datos en tablas de la instancia de Autonomous Database existentes desde archivos de la nube o desde archivos de un directorio. El formulario sobrecargado permite utilizar el parámetrooperation_id
. - COPY_DATA Procedimiento para archivos Avro, ORC o Parquet
Este procedimiento con el parámetrotype
format
definido en el valoravro
,orc
oparquet
carga datos en tablas de Autonomous Database existentes desde archivos Avro, ORC o Parquet en la nube o desde archivos de un directorio. - Procedimiento COPY_OBJECT
Este procedimiento copia un objeto de un cubo o carpeta de Cloud Object Storage a otro. - CREATE_CLOUD_TABLE Procedimiento
Este procedimiento crea una tabla en la nube. Todos los datos de la tabla de nube se almacenan en el almacenamiento de objetos gestionado por Oracle (las tablas de nube solo almacenan sus metadatos en la base de datos). - 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 Autonomous Database. - Procedimiento CREATE_EXTERNAL_TABLE
Este procedimiento crea una tabla externa en archivos en la nube o desde archivos en un directorio. Esto le permite ejecutar consultas en datos externos desde Autonomous Database. - CREATE_EXTERNAL_TABLE Procedimiento para Apache Iceberg
Este procedimiento crea tablas externas para tablas de Apache Iceberg en las configuraciones soportadas. - CREATE_EXTERNAL_TABLE Procedure for Avro, ORC, or Parquet Files
This procedure with theformat
parametertype
set to the valueavro
,orc
, orparquet
creates an external table with either Avro, ORC, or Parquet format files in the Cloud or in a directory. - Procedimiento CREATE_EXTERNAL_TEXT_INDEX
Este procedimiento crea un índice de texto en los archivos de Object Storage. - Procedimiento CREATE_HYBRID_PART_TABLE
Este procedimiento crea una tabla particionada híbrida. Esto permite ejecutar consultas en datos particionados híbridos desde Autonomous Database mediante objetos y archivos de base de datos en la nube, o objetos y archivos de base de datos en un directorio. - Procedimiento DELETE_ALL_OPERATIONS
Este procedimiento borra todas las operaciones de carga de datos registradas en la tablauser_load_operations
del esquema o todas las operaciones de carga de datos del tipo especificado, según se haya indicado con el parámetrotype
. - Procedimiento DELETE_FILE
Este procedimiento elimina el archivo especificado del directorio especificado en Autonomous Database. - Procedimiento DELETE_OBJECT
Este procedimiento suprime el objeto especificado en el almacén de objetos. - Procedimiento DELETE_OPERATION
Este procedimiento borra las entradas de carga de datos para el ID de operación especificado registrado en las tablasuser_load_operations
odba_load_operations
del esquema. - DROP_EXTERNAL_TEXT_INDEX Procedimiento
Este procedimiento borra el índice de texto en los archivos de Object Storage. - EXPORT_DATA Procedimiento
Este procedimiento exporta datos de Autonomous Database según el resultado de una consulta. Este procedimiento se sobrecarga y admite la escritura de archivos en la nube o en un directorio. - GET_OBJECT Procedimiento y función
Este procedimiento está sobrecargado. El formulario del procedimiento lee un objeto de Cloud Object Storage y lo copia en Autonomous Database. El formulario de función lee un objeto de Cloud Object Storage y devuelve un valorBLOB
a Autonomous 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 o carpeta de Cloud Object Storage a otro. - Procedimiento PUT_OBJECT
Este procedimiento está sobrecargado. En un formulario, el procedimiento copia un archivo de Autonomous Database en Cloud Object Storage. En otro formulario, el procedimiento copia un archivoBLOB
de Autonomous Database en Cloud Object Storage. - 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_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 la archivo incorrecto en Autonomous Database. El formulario sobrecargado permite utilizar el parámetrooperation_id
. - Procedimiento VALIDATE_EXTERNAL_TABLE
Este procedimiento valida los archivos de origen para una tabla externa, genera información de log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla de archivos incorrectos en Autonomous Database. El formulario sobrecargado permite utilizar el parámetrooperation_id
. - 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 la archivo incorrecto en la Autonomous Database. El formulario sobrecargado permite utilizar el parámetrooperation_id
.
Tema principal: DBMS_CLOUD Subprogramas y APIs de REST
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 |
---|---|
|
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. |
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Este parámetro no se utiliza al especificar un directorio con |
|
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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Por ejemplo:
El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición 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: Las expresiones regulares no están soportadas al especificar los nombres de archivo en un directorio. Solo puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede usar el carácter "*" como comodín para varios caracteres y el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo: Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo: Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo: Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo: |
|
Opciones que describen el formato de los archivos de origen. Estas opciones se especifican como una cadena JSON. Los formatos soportados son: Además de los formatos mencionados para datos JSON, Autonomous Database también soporta otros formatos. Para ver la lista de argumentos de formato soportados por Autonomous Database, consulte DBMS_CLOUD Package Format Options. |
|
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 |
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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento COPY_DATA
Este procedimiento carga datos en tablas de la instancia de Autonomous Database existentes desde archivos de 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 |
---|---|
|
Nombre de la tabla de destino en la base de datos. Es necesario crear la tabla de destino para poder ejecutar |
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Este parámetro no se utiliza al especificar un directorio o una URL de hiperenlace de tabla con |
|
Este parámetro especifica una de las siguientes opciones:
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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Por ejemplo:
El formato de los URI depende del servicio Cloud Object Storage que utilice, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición URL de hiperenlace de tabla Puede utilizar un hiperenlace de tabla de las siguientes formas:
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: Las expresiones regulares no están soportadas al especificar los nombres de archivo en un directorio. Solo puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede usar el carácter "*" como comodín para varios caracteres y el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo: Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo: Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo: Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo: |
|
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. |
|
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 dato están determinados por la definición de tabla de destino. La sintaxis de este argumento es la misma que la cláusula Cuando el valor de la opción Para ver un ejemplo de uso de |
|
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 DBMS_CLOUD Package Format Options. Para obtener información sobre las opciones de formato de archivo Avro, ORC o Parquet, consulte DBMS_CLOUD Package Format Options for Avro, ORC, or Parquet. |
|
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 |
Nota 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 DBMS_CLOUD Package Format Options 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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
COPY_DATA Procedimiento para archivos Avro, ORC o Parquet
format
definido en type
con el valor avro
, orc
o parquet
carga datos en tablas de Autonomous Database 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 |
---|---|
|
Nombre de la tabla de destino en la base de datos. Es necesario crear la tabla de destino para poder ejecutar |
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Este parámetro no se utiliza al especificar un directorio con |
|
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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Por ejemplo:
El formato de los URI depende del servicio Cloud Object Storage que utilice, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición 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: Las expresiones regulares no están soportadas al especificar los nombres de archivo en un directorio. Solo puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede usar el carácter "*" como comodín para varios caracteres y el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo: Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo: Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo: Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo: |
|
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. |
|
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 de 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. |
|
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
-
Al igual que con otros archivos de datos, las cargas de datos Avro, ORC y Parquet generan logs que se pueden ver en las tablas
dba_load_operations
yuser_load_operations
. Cada operación de carga agrega un registro adba
[usuario]_load_operations
que indica la tabla que contiene los logs.La tabla de logs proporciona información de resumen sobre la carga.
-
Para Avro, ORC o Parquet, cuando el parámetro
format
type
se define en el valoravro
,orc
oparquet
, la tablaBADFILE_TABLE
siempre está vacía.-
Para los archivos Parquet, los errores de restricción
PRIMARY KEY
devuelven un errorORA
. -
Si los datos de una columna encuentran un error de conversión, por ejemplo, la columna de destino no es lo suficientemente grande como para contener el valor convertido, el valor de la columna se define en
NULL
. Esto no produce un registro rechazado.
-
Tema principal: DBMS_CLOUD para objetos y archivos
COPY_OBJECT Procedimiento
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 |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage de origen. Puede utilizar Si no proporciona un valor |
|
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 DBMS_CLOUD URI Formats para obtener más información. |
|
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 DBMS_CLOUD URI Formats para obtener más información. |
|
Nombre de la credencial para acceder a la ubicación de Cloud Object Storage de destino. Puede utilizar Si no proporciona un valor |
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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
CREATE_CLOUD_TABLE Procedimiento
Este procedimiento crea una tabla en la nube. Todos los datos de la tabla de nube se almacenan en el almacenamiento de objetos gestionado por Oracle (las tablas de nube solo almacenan sus metadatos en la base de datos).
Sintaxis
DBMS_CLOUD.CREATE_CLOUD_TABLE
(
table_name IN VARCHAR2,
column_list IN CLOB,
params IN CLOB);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la tabla de nube. |
|
Lista delimitada por comas de nombres de columna y tipos para la tabla en la nube. |
Notas de uso
-
Atributos
DEFAULT
:column_list
puede incluir la cláusulaDEFAULT
, que funciona como la cláusulaDEFAULT
en unCREATE TABLE
ordinario. Consulte CREATE TABLE para obtener información sobre el comportamiento de la cláusulaDEFAULT
. -
Utilice
DROP TABLE
para borrar una tabla en la nube. Las tablas en la nube no soportan la papelera de reciclaje.Por ejemplo:
DROP TABLE CLOUD_TAB1;
-
Puede otorgar privilegios
SELECT
,INSERT
yUPDATE
para una tabla en la nube. No se pueden otorgar otros privilegios a una tabla en la nube.Consulte Configuración de Privilegios y Autorización de Roles para obtener más información.
Ejemplos
EXEC DBMS_CLOUD.CREATE_CLOUD_TABLE
( 'CLOUD_TAB1', 'I INTEGER, J INTEGER' );
BEGIN
DBMS_CLOUD.CREATE_CLOUD_TABLE
(
table_name => 'CLOUD_TABLE_WITH_DEFAULT',
column_list => 'I INTEGER,
A VARCHAR2(32) DEFAULT ''ABC''' );
END;
/
Tema principal: DBMS_CLOUD para objetos y archivos
CREATE_EXTERNAL_PART_TABLE Procedimiento
Este procedimiento crea una tabla particionada externa en archivos en la nube o desde archivos en un directorio. Esto le permite ejecutar consultas en datos externos desde Autonomous Database.
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 |
---|---|
|
Nombre de la tabla externa. |
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar |
|
Especifica la cláusula de partición completa, incluida la información de ubicación de las particiones individuales. Si utiliza el parámetro |
|
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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Esta opción solo está soportada con las tablas externas que se crean en un archivo de Object Storage. Por ejemplo:
Si utiliza el parámetro El formato de los URI depende del servicio Cloud Object Storage. Consulte DBMS_CLOUD URI Formats para obtener más información. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición |
|
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
|
|
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 |
|
La opción de formato
Si los archivos de datos no están estructurados y la subcláusula Para los nombres de objeto que no se basan en el formato hive, el orden de las columnas especificadas Para ver todas las opciones de parámetros |
Notas de uso
-
No puede llamar a este procedimiento con los parámetros
partitioning_clause
yfile_uri_list
. -
La especificación del parámetro
column_list
es opcional con archivos de datos estructurados, incluidos los archivos de datos Avro, Parquet u ORC. Si no se especificacolumn_list
, la opciónpartition_columns
del parámetroformat
debe incluirname
ytype
. -
El parámetro
column_list
es necesario con archivos de datos no estructurados, como archivos de texto CSV. -
El procedimiento
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
admite archivos particionados externos en los servicios de almacenamiento de objetos en la nube soportados, incluidos:-
Almacenamiento de objeto de infraestructura de nube de Oracle
-
Almacenamiento de bloques de Azure o almacenamiento de lago de datos de Azure
-
Amazon S3
-
Compatible con Amazon S3, que incluye: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage y Wasabi Hot Cloud Storage.
-
Repositorio de GitHub
Consulte DBMS_CLOUD URI Formats para obtener más información.
-
-
El procedimiento
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
admite archivos particionados externos en directorios, ya sea en un sistema de archivos local o en un sistema de archivos de red. -
Al llamar a
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
con el parámetrofile_uri_list
, los tipos de columnas especificados en el nombre de archivo del almacén de objetos en la nube deben ser de uno de los siguientes tipos:VARCHAR2(n) NUMBER(n) NUMBER(p,s) NUMBER DATE TIMESTAMP(9)
-
El delimitador de registro predeterminado es
detected newline
. Condetected 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 DBMS_CLOUD Package Format Options para obtener información sobre la opción de formato
recorddelmiter
. -
Las tablas particionadas externas que cree con
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
incluyen dos columnas invisiblesfile$path
yfile$name
. Estas columnas ayudan a identificar de qué archivo procede un registro.-
file$path
: especifica el texto de la ruta de acceso del archivo hasta el principio del nombre del objeto. -
file$name
: especifica el nombre del objeto, incluido todo el texto que sigue al nombre del cubo.
-
Ejemplos
Ejemplo con el 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 con 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 con 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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
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 Autonomous Database.
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 |
---|---|
|
Nombre de la tabla externa. |
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Este parámetro no se utiliza al especificar un directorio o una URL de hiperenlace de tabla con |
|
Este parámetro especifica una de las siguientes opciones:
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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Esta opción solo está soportada con las tablas externas que se crean en un archivo de Object Storage. Por ejemplo:
El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición URL de hiperenlace de tabla Puede utilizar una URL de hiperenlace de tabla para crear una tabla externa de las siguientes formas:
Directorio
Nota Consulte Acerca de los hiperenlaces de tablas en Autonomous Database y el procedimiento CREATE_URL para obtener más información.
Las URL de hiperenlace de tabla no soportan comodines. 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: Las expresiones regulares no están soportadas al especificar los nombres de archivo en un directorio. Solo puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede usar el carácter "*" como comodín para varios caracteres y el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo: Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo: Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo: Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo: |
|
Lista delimitada por comas de nombres de columna y tipos de datos para la tabla externa. |
|
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 |
|
Opciones que describen el formato de los archivos de origen. Para obtener una lista de las opciones y cómo especificar los valores, consulte DBMS_CLOUD Package Format Options. Para los archivos con formato Avro, ORC o Parquet, consulte Procedimiento CREATE_EXTERNAL_TABLE para archivos Avro, ORC o Parquet. |
Notas de uso
-
El procedimiento
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
soporta archivos particionados externos en los orígenes de almacenamiento de objeto en la nube soportados, que incluyen:-
Almacenamiento de objeto de infraestructura de nube de Oracle
-
Almacenamiento de bloques de Azure o almacenamiento de lago de datos de Azure
-
Amazon S3
-
Compatible con Amazon S3, que incluye: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage y Wasabi Hot Cloud Storage.
-
Repositorio de GitHub
-
Oracle Cloud Infrastructure Object Storage con URL de hiperenlace de tabla
La credencial es una propiedad de nivel de tabla; los archivos externos deben estar en el mismo almacén de objetos.
Consulte DBMS_CLOUD URI Formats para obtener más información.
-
-
El delimitador de registro predeterminado es
detected newline
. Condetected 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 DBMS_CLOUD Package Format Options para obtener información sobre la opción de formato
recorddelimiter
.
Ejemplo
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
Tema principal: DBMS_CLOUD para objetos y archivos
CREATE_EXTERNAL_TABLE Procedimiento para Apache Iceberg
Este procedimiento crea tablas externas para tablas Apache Iceberg en las configuraciones soportadas.
- Tablas de Iceberg en AWS:
- Tablas de iceberg registradas en AWS Glue Data Catalog, creadas con Spark o Athena.
Para obtener más información, consulte Uso del conector AWS Glue para leer y escribir tablas de Apache Iceberg con transacciones ACID y realizar viajes en el tiempo y Uso de tablas Iceberg.
- Las tablas Iceberg se almacenan en AWS S3 proporcionando directamente la URL para el archivo de metadatos raíz.
- Tablas de iceberg registradas en AWS Glue Data Catalog, creadas con Spark o Athena.
- Iceberg tables en OCI:
- Tablas de iceberg generadas con OCI Data Flow mediante un catálogo de Hadoop.
Para obtener más información, consulte Ejemplos de Oracle Data Flow y Uso de un catálogo de Hadoop.
- Las tablas de Iceberg se almacenan en OCI Object Storage proporcionando directamente la URL para el archivo de metadatos raíz.
- Tablas de iceberg generadas con OCI Data Flow mediante un catálogo de Hadoop.
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 |
---|---|
|
Nombre de la tabla externa. |
|
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). |
|
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.
|
|
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 |
|
Debe ser NULL, ya que los nombres de columna y los tipos de dato se derivan automáticamente de los metadatos de Iceberg. |
|
El parámetro Consulte Soporte de Iceberg en muestras de OCI Data Flow y Formatos de URI DBMS_CLOUD para obtener más información. |
Ejemplo de parámetro de formato para tablas de AWS Iceberg utilizando un catálogo de AWS Glue
A continuación se muestra un parámetro format
de ejemplo al crear tablas en una tabla AWS Iceberg mediante un catálogo de AWS Glue:
format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg',
'protocol_config' value
json_object('iceberg_catalog_type' value 'aws_glue',
'iceberg_glue_region' value 'glue region',
'iceberg_table_path' value 'database_name.table_name')));
access_protocol
contiene un objeto JSON con dos elementos de la siguiente manera:
protocol_type
: debe ser 'iceberg'protocol_config
: objeto JSON anidado que especifica los detalles del catálogo de iceberg.iceberg_catalog_type
: debe ser'aws_glue'
iceberg_glue_region
: región del catálogo, por ejemplo,'us-west-1'
iceberg_table_path
: ruta de accesoglue database.glue table name
.
Parámetro de formato de ejemplo para la tabla Iceberg de AWS mediante un URI de archivo de metadatos
format
de ejemplo al crear tablas en una tabla de AWS Iceberg mediante un URI de archivo de metadatos:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
Parámetro de formato de ejemplo para la tabla OCI Iceberg mediante el catálogo HadoopCatalog
format
de ejemplo al crear tablas en una tabla de OCI Iceberg creada por OCI Data Flow mediante el catálogo HadoopCatalog:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg',
'protocol_config' value
json_object('iceberg_catalog_type' value 'hadoop',
'iceberg_warehouse' value '<OCI folder URI>',
'iceberg_table_path' value 'database_name.table_name')));
access_protocol
contiene un objeto JSON con dos elementos de la siguiente manera:
protocol_type
: debe ser'iceberg'
protocol_config
: objeto JSON anidado que especifica los detalles del catálogo de iceberg.iceberg_catalog_type
: debe ser'hadoop'
iceberg_warehouse
: ruta de acceso del directorio de almacén que se utiliza al generar la tabla, en formato URI nativo.iceberg_table_path
: ruta de accesodatabase_name.table name
utilizada al crear la tabla.
Parámetro de formato de ejemplo para la tabla OCI Iceberg mediante el URI del archivo de metadatos
format
de ejemplo al crear tablas en una tabla de OCI Iceberg mediante el URI del archivo de metadatos:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
access_protocol
contiene un objeto JSON con un elemento como se indica a continuación:
protocol_type
: debe ser'iceberg'
Tema principal: DBMS_CLOUD para objetos y archivos
CREATE_EXTERNAL_TABLE Procedimiento para archivos Avro, ORC o Parquet
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 Autonomous Database.
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 |
---|---|
|
Nombre de la tabla externa. |
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Este parámetro no se utiliza al especificar un directorio con |
|
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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Esta opción solo está soportada con las tablas externas que se crean en un archivo de Object Storage. Por ejemplo:
El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición 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: Las expresiones regulares no están soportadas al especificar los nombres de archivo en un directorio. Solo puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede usar el carácter "*" como comodín para varios caracteres y el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo: Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo: Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo: Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo: |
|
(Opcional) Este campo, cuando se especifica, sustituye el parámetro Cuando se especifica Para archivos de Parquet, consulte DBMS_CLOUD Package Parquet to Oracle Data Type Mapping para obtener más información. Para los archivos ORC, consulte DBMS_CLOUD Package ORC to Oracle Data Type Mapping para obtener más información. Para obtener más información sobre los archivos Avro, consulte DBMS_CLOUD Package Avro to Oracle Data Type Mapping. |
|
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 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 Avro, consulte DBMS_CLOUD Package Avro to Oracle Data Type Mapping. |
|
Para obtener más información sobre los archivos de origen Avro, ORC o Parquet |
Ejemplos ORC
format => '{"type":"orc", "schema": "all"}'
format => json_object('type' value 'orc', 'schema' value 'first')
Ejemplos Avro
format => '{"type":"avro", "schema": "all"}'
format => json_object('type' value 'avro', 'schema' value 'first')
Ejemplos Parquet
format => '{"type":"parquet", "schema": "all"}'
format => json_object('type' value 'parquet', 'schema' value 'first')
Asignación de nombre de columna de Avro, ORC o Parquet a nombres de columna de Oracle
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.
Tema principal: DBMS_CLOUD para objetos y archivos
CREATE_EXTERNAL_TEXT_INDEX Procedimiento
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 |
---|---|
|
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. Consulte Configuración de políticas y roles para acceder a recursos para obtener más información. Si no proporciona un valor |
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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Ejemplo de uso de expresiones regulares:
Ejemplo de uso de comodines:
El formato de los URI depende del servicio Cloud Object Storage que utilice, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición |
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. |
|
Especifica opciones de configuración adicionales. Las opciones se especifican como una cadena JSON. Las opciones de formato admitidas son:
El valor Puede especificar palabras irrelevantes mediante los siguientes métodos:
Si no proporciona un parámetro |
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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
CREATE_HYBRID_PART_TABLE Procedimiento
Este procedimiento crea una tabla particionada híbrida. Esto permite ejecutar consultas en datos particionados híbridos desde Autonomous Database 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 |
---|---|
|
Nombre de la tabla externa. |
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar |
|
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 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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Por ejemplo:
Consulte Condición REGEXP_LIKE para obtener más información sobre la condición |
|
Lista delimitada por comas de nombres de columna y tipos de datos para la tabla externa. |
|
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 |
|
Opciones que describen el formato de los archivos de origen. Para obtener una lista de las opciones y cómo especificar los valores, consulte DBMS_CLOUD Package Format Options. |
Notas de uso
-
El procedimiento
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
admite archivos particionados externos en los servicios de almacenamiento de objetos en la nube soportados, incluidos:-
Almacenamiento de objeto de infraestructura de nube de Oracle
-
Almacenamiento de bloques de Azure o almacenamiento de lago de datos de Azure
-
Amazon S3
-
Compatible con Amazon S3, que incluye: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage y Wasabi Hot Cloud Storage.
-
Repositorio de GitHub
La credencial es una propiedad de nivel de tabla; los archivos externos deben estar en el mismo almacén de objetos.
Consulte DBMS_CLOUD URI Formats para obtener más información.
-
-
El procedimiento
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
admite archivos particionados híbridos en directorios, ya sea en un sistema de archivos local o en un sistema de archivos de red. -
Las tablas particionadas externas que cree con
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
incluyen dos columnas invisiblesfile$path
yfile$name
. Estas columnas ayudan a identificar de qué archivo procede un registro.-
file$path
: especifica el texto de la ruta de acceso del archivo hasta el principio del nombre del objeto. -
file$name
: especifica el nombre del objeto, incluido todo el texto que sigue al nombre del cubo.
-
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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento DELETE_ALL_OPERATIONS
Este procedimiento borra todas las operaciones de carga de datos registradas en la tabla user_load_operations
del esquema o todas las operaciones de carga de datos del tipo especificado, según se haya indicado con el parámetro type
.
Sintaxis
DBMS_CLOUD.DELETE_ALL_OPERATIONS
(
type IN VARCHAR DEFAULT NULL);
Parámetros
Parámetro | Descripción |
---|---|
|
Especifica el tipo de operación que se va a suprimir. Los valores de tipo se pueden encontrar en la columna Si no se especifica |
Notas de uso
-
Este procedimiento no suprime las operaciones en ejecución actualmente (operaciones con el estado "En ejecución").
-
Este procedimiento suprime las tablas de registro y los archivos log asociados con las operaciones.
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento DELETE_FILE
Este procedimiento elimina el archivo especificado del directorio especificado en Autonomous Database.
Sintaxis
DBMS_CLOUD.DELETE_FILE
(
directory_name IN VARCHAR2,
file_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre del directorio en la instancia de Autonomous Database. |
|
Nombre del archivo que se va a eliminar. |
force |
Ignore y no informe errores si el archivo no existe. Los valores válidos son: |
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 adb_user
:GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Ejemplo
BEGIN
DBMS_CLOUD.DELETE_FILE
(
directory_name => 'DATA_PUMP_DIR',
file_name => 'exp1.dmp' );
END;
/
Tema principal: DBMS_CLOUD para objetos y archivos
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 |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar |
object_uri |
URI de objeto o de archivo para el objeto que se va a suprimir. El formato del URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos del URI de DBMS_CLOUD. |
force |
Ignore y no informe errores si el objeto no existe. Los valores válidos son: |
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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
DELETE_OPERATION Procedimiento
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 |
---|---|
|
Especifica el ID de operación asociado a las entradas del archivo log que desea suprimir. |
Nota de uso
-
Este procedimiento suprime las tablas de registro y los archivos log asociados con el ID de operación especificado en la entrada.
Ejemplo
SELECT id FROM user_load_operations WHERE type LIKE '%BAD%';
EXEC DBMS_CLOUD.DELETE_OPERATION
(id);
Tema principal: DBMS_CLOUD para objetos y archivos
DROP_EXTERNAL_TEXT_INDEX Procedimiento
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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
EXPORT_DATA Procedimiento
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, o mediante el controlador de acceso ORACLE_DATAPUMP para escribir datos en un archivo de volcado de pump de datos de Oracle.
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 |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Cuando no se incluye el parámetro de credencial, se especifica la salida a un directorio. |
|
Hay diferentes formas, según el valor del parámetro de formato y según si incluye un parámetro de credencial:
El formato de los URI depende del servicio de Cloud Object Storage que esté utilizando. Para obtener información, consulte Formatos DBMS_CLOUD de URI. |
|
Cadena JSON que proporciona opciones de formato de exportación. La opción admitida es:
|
|
Utilice este parámetro para especificar una sentencia SELECT warehouse_id, quantity FROM inventories Para obtener más información sobre el valor Cuando el valor Por ejemplo: SELECT JSON_OBJECT(* RETURNING CLOB) from(SELECT warehouse_id, quantity FROM inventories) |
|
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 |
Notas de uso:
-
El valor del parámetro
query
que proporcione puede ser una consulta avanzada, si es necesario, como una consulta que incluya uniones o subconsultas. -
Según el parámetro de formato especificado,
DBMS_CLOUD.EXPORT_DATA
muestra los resultados de la consulta especificada en el almacén de objetos en la nube o en una ubicación de directorio en uno de estos formatos:-
Archivos CSV, JSON, Parquet o XML.
Consulte Exportación de datos al almacén de objetos como texto y Exportación de datos a un directorio para obtener más información sobre el uso de
DBMS_CLOUD.EXPORT_DATA
con archivos de salida CSV, JSON, Parquet o XML. -
Uso del controlador de acceso ORACLE_DATAPUMP para escribir datos en un archivo de volcado.
-
-
Para la salida CSV, JSON o XML, por defecto cuando un archivo generado contiene 10 MB de datos, se crea un nuevo archivo de salida. Sin embargo, si tiene menos de 10 MB de datos de resultados, puede tener varios archivos de salida, según el servicio de base de datos y el número de ECPU (OCPU si la base de datos utiliza OCPU) para la instancia de Autonomous Database.
Consulte Nombre de archivo para salida de texto (CSV, JSON, Parquet o XML) para obtener más información.
El tamaño de fragmento del archivo de salida predeterminado es de 10 MB para CSV, JSON o XML. Puede cambiar este valor con la opción
maxfilesize
del parámetroformat
. Consulte DBMS_CLOUD Package Format Options for EXPORT_DATA para obtener más información. -
Para la salida de Parquet, cada archivo generado tiene menos de 128 MB y se pueden generar varios archivos de salida. Sin embargo, si tiene menos de 128 MB de datos de resultados, puede tener varios archivos de salida según el servicio de base de datos y el número de ECPU (OCPU si la base de datos utiliza OCPU) para la instancia de Autonomous Database.
Consulte Nombre de archivo para salida de texto (CSV, JSON, Parquet o XML) para obtener más información.
Notas de uso para la salida ORACLE_DATAPUMP (DBMS_CLOUD.EXPORT_DATA
con el parámetro format
, opción type
, datapump
):
-
EXPORT_DATA
utilizaDATA_PUMP_DIR
como directorio de registro por defecto. Por lo tanto, se necesita el privilegio de escritura enDATA_PUMP_DIR
al utilizar la salidaORACLE_DATAPUMP
. -
La exportación de Autonomous Database mediante
DBMS_CLOUD.EXPORT_DATA
con la opcióntype
del parámetroformat
datapump
solo soporta Oracle Cloud Infrastructure Object Storage, los almacenes de objetos de Oracle Cloud Infrastructure Object Storage Classic o la salida del directorio. -
Al especificar
DBMS_CLOUD.EXPORT_DATA
con la opcióndatapump
del parámetroformat
type
, el valor del parámetrocredential_name
no puede ser una entidad de recurso de OCI. -
Oracle Data Pump divide cada parte del archivo de volcado en fragmentos más pequeños para cargas más rápidas. La consola de Oracle Cloud Infrastructure Object Storage muestra varios archivos para cada parte del archivo de volcado que exporte. El tamaño de los archivos de volcado reales se mostrará como cero (0) y sus fragmentos de archivo relacionados como 10 MB o menos. Por ejemplo:
Al descargar el archivo de volcado de cero bytes desde la consola de Oracle Cloud Infrastructure o mediante la CLI de Oracle Cloud Infrastructure, no obtendrá todos los archivos de volcado. Para descargar todos los archivos de volcado del almacén de objetos, utilice una herramienta que soporte Swift, como curl, y proporcione su conexión de usuario y token de autenticación Swift.exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaa
curl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp
Si importa un archivo con los procedimientos
DBMS_CLOUD
que soportan el parámetroformat
type
con el valor 'datapump
', solo tiene que proporcionar el nombre de archivo principal. Los procedimientos que soportan el tipo del formato 'datapump
' detectan y descargan automáticamente los fragmentos.Cuando se utiliza
DBMS_CLOUD.DELETE_OBJECT
, el procedimiento detecta y suprime automáticamente los fragmentos cuando el procedimiento suprime el archivo principal. -
El procedimiento
DBMS_CLOUD.EXPORT_DATA
crea los archivos de volcado a partir de los valoresfile_uri_list
que especifique, de la siguiente manera:-
A medida que se necesitan más archivos, el procedimiento crea archivos adicionales desde
file_uri_list
. -
El procedimiento no sobrescribe los archivos. Si existe un archivo de volcado en
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
informa de un error. -
DBMS_CLOUD.EXPORT_DATA
no crea cubos.
-
-
El número de archivos de volcado que genera
DBMS_CLOUD.EXPORT_DATA
se determina cuando se ejecuta el procedimiento. El número de archivos de volcado que se generan depende del número de nombres de archivo que proporcione en el parámetrofile_uri_list
, así como del número de OCPU de Autonomous Database disponibles para la instancia, el nivel de servicio y el tamaño de los datos.Por ejemplo, si utiliza una instancia de Autonomous Database de 1 OCPU o el servicio
low
, se exporta un único archivo de volcado sin paralelismo, incluso si proporciona varios nombres de archivo. Si utiliza una instancia de Autonomous Database con 4 OCPU con el serviciomedium
ohigh
, los trabajos se pueden ejecutar en paralelo y se exportan varios archivos de volcado si proporciona varios nombres de archivo. -
Los archivos de volcado que cree con
DBMS_CLOUD.EXPORT_DATA
no se pueden importar mediante Oracle Data Pumpimpdp
. Según la base de datos, puede utilizar estos archivos de la siguiente forma:-
En una instancia de Autonomous Database, puede utilizar los archivos de volcado con los procedimientos
DBMS_CLOUD
que soportan el parámetroformat
type
con el valor 'datapump
'. Puede importar los archivos de volcado medianteDBMS_CLOUD.COPY_DATA
o puede llamar aDBMS_CLOUD.CREATE_EXTERNAL_TABLE
para crear una tabla externa. -
En cualquier otra instancia de Oracle Database, como Oracle Database 19c local, puede importar los archivos de volcado creados con el procedimiento
DBMS_CLOUD.EXPORT_DATA
mediante el controlador de accesoORACLE_DATAPUMP
. Consulte Descarga y carga de datos con el controlador de acceso ORACLE_DATAPUMP para obtener más información.
-
-
El valor del parámetro
query
que proporcione puede ser una consulta avanzada, si es necesario, como una consulta que incluya uniones o subconsultas.
Notas de Uso para DBMS_CLOUD.EXPORT_DATA
con Salida a un Directorio
-
El directorio proporcionado debe existir y debe estar conectado como usuario
ADMIN
o tener accesoWRITE
al directorio. -
DBMS_CLOUD.EXPORT_DATA
no crea directorios. -
El procedimiento no sobrescribe los archivos. Por ejemplo, si existe un archivo de volcado en
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
informa un error como:ORA-31641: unable to create dump file "/u02/exports/123.dmp" ORA-27038: created file already exists
Ejemplos
En el siguiente ejemplo se muestra DBMS_CLOUD.EXPORT_DATA
con el parámetro de formato type
con el valor datapump
:
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.dmp',
format => json_object('type' value 'datapump', 'compression' value 'basic', 'version' value 'latest'),
query => 'SELECT warehouse_id, quantity FROM inventories'
);
END;
/
En este ejemplo, namespace-string
es el espacio Oracle Cloud Infrastructure Object Storage Namepace, y bucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.
En el siguiente ejemplo se muestra 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;
/
En el siguiente ejemplo se muestra 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;
/
En el siguiente ejemplo se muestra 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, 'encryption' value ('user_defined_function' value 'ADMIN.decryption_callback')));
);
END;
/
En el siguiente ejemplo se muestra DBMS_CLOUD.EXPORT_DATA
exportando datos a una ubicación de directorio con el parámetro type
con el valor datapump
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'export_dir:sales.dmp',
format => json_object('type' value 'datapump'),
query => 'SELECT * FROM sales'
);
END;
/
Tema principal: DBMS_CLOUD para objetos y archivos
GET_OBJECT Procedimiento y función
Este procedimiento está sobrecargado. El formulario del procedimiento lee un objeto de Cloud Object Storage y lo copia en Autonomous Database. El formulario de función lee un objeto de Cloud Object Storage y devuelve un valor BLOB
a Autonomous 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 |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar |
|
URI de archivo o de objeto. El formato del URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos del URI de DBMS_CLOUD. |
|
Nombre del directorio en la base de datos. Pie 1Puede utilizar una URL de hiperenlace de tabla de las siguientes formas:
|
|
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 |
startoffset |
Desplazamiento, en bytes, desde donde comienza a leer el procedimiento. |
endoffset |
Desplazamiento, en bytes, hasta donde el procedimiento detiene la lectura. |
|
Especifica la compresión utilizada para almacenar el objeto. Cuando |
Nota a pie 1
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 adb_user
:
GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Valores de Retorno
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;
/
Para leer datos de caracteres de un archivo del 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;
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;
/
En este ejemplo, namespace-string
es el espacio Oracle Cloud Infrastructure Object Storage Namepace, y bucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.
Tema principal: DBMS_CLOUD para objetos y archivos
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 |
---|---|
|
Nombre del directorio en la base de datos. Este parámetro admite comodines. |
Notas de uso
-
Para ejecutar
DBMS_CLOUD.LIST_FILES
con un usuario que no sea ADMIN, debe otorgar privilegios para la lectura en el directorio a ese usuario. Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios en el directorio aadb_user
:GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
-
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
DBMS_CLOUD_TYPES.list_object_ret_t
. -
DBMS_CLOUD.LIST_FILES
no obtiene el valor de total de control y devuelveNULL
para este campo. -
DBMS_CLOUD.LIST_FILES
soporta el filtrado de archivos de forma selectiva mediante la sintaxisdirectory:filename
. Los comodines están soportados en el nombre de archivo.
Ejemplo:
Se trata de una función de línea discontinua que devuelve una fila para cada archivo. Por ejemplo, utilice la siguiente consulta para utilizar esta función:
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
Ejemplos de consultas con comodines:
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 1: muestre 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 2: muestre el archivo f1.csv en el directorio DATA_PUMP_DIR
especificando el nombre del archivo.
SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR:f1.csv');
Tema principal: DBMS_CLOUD para objetos y archivos
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 |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar |
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 DBMS_CLOUD de URI. Los comodines se admiten para mostrar de forma selectiva archivos o subcarpetas en un URI. Los caracteres " Ejemplo de uso de comodines:
|
Notas de uso
-
Según las capacidades del almacén de objetos,
DBMS_CLOUD.LIST_OBJECTS
no devuelve valores para determinados atributos y el valor devuelto para el campo esNULL
en este caso.Todos los almacenes de objetos soportados devuelven valores para los campos
OBJECT_NAME
,BYTES
yCHECKSUM
.En la siguiente tabla se muestra soporte para los campos
CREATED
yLAST_MODIFIED
por almacén de objetos:Almacén de Objetos CREATED
LAST_MODIFIED
Nativo de Oracle Cloud Infrastructure Registro de hora de devoluciones Registro de hora de devoluciones Swift de Oracle Cloud Infrastructure Devuelve NULL
Registro de hora de devoluciones Oracle Cloud Infrastructure Classic Devuelve NULL
Registro de hora de devoluciones Amazon S3 Devuelve NULL
Registro de hora de devoluciones Compatibles con Amazon S3 Devuelve NULL
Registro de hora de devoluciones Azure Registro de hora de devoluciones Registro de hora de devoluciones Repositorio de GitHub -
El valor de total de control es el total de control MD5. Se trata de un número hexadecimal de 32 caracteres que se calcula en el contenido del objeto. Se espera que tenga un valor de total de control diferente si se utiliza la credencial
OCI$RESOURCE_PRINCIPAL
. -
Se trata de una función de tabla con líneas discontinuas con el tipo de retorno
DBMS_CLOUD_TYPES.list_object_ret_t
.
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
En este ejemplo, namespace-string
es el espacio Oracle Cloud Infrastructure Object Storage Namepace, y bucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.
Tema principal: DBMS_CLOUD para objetos y archivos
MOVE_OBJECT Procedimiento
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 |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage de origen. Puede utilizar Si no proporciona un valor |
|
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 DBMS_CLOUD URI Formats para obtener más información. |
|
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 DBMS_CLOUD URI Formats para obtener más información. |
|
Nombre de la credencial para acceder a la ubicación de Cloud Object Storage de destino. Puede utilizar Si no proporciona un valor |
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;
/
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento PUT_OBJECT
Este procedimiento está sobrecargado. En un formulario, el procedimiento copia un archivo de Autonomous Database en Cloud Object Storage. En otro formulario, el procedimiento copia un archivo BLOB
de Autonomous Database en Cloud Object Storage.
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 |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar |
|
URI de archivo o de objeto. El formato del URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos del URI de DBMS_CLOUD. |
|
Nombre del directorio en la instancia de Autonomous Database. Pie 2 |
|
Especifica el elemento |
|
Nombre del archivo en el directorio especificado. |
|
Especifica la compresión utilizada para almacenar el objeto. Valor por defecto: |
Nota a pie 2
Para ejecutar DBMS_CLOUD.PUT_OBJECT
con un usuario que no sea ADMIN, debe otorgar privilegios para la lectura en el directorio a ese usuario. Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios de lectura a adb_user
:
GRANT READ ON DIRECTORY data_pump_dir TO adb_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 está limitado de la siguiente manera:
Servicio de almacenamiento de objetos en la nube | Límite de tamaño de transferencia de objeto |
---|---|
Almacenamiento de objeto de infraestructura de nube de Oracle |
50 GB |
Amazon S3 |
5 GB |
Almacenamiento de bloques de Azure o almacenamiento de lago de datos 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 cubo público sin proporcionar credenciales (Oracle Cloud Infrastructure permite a los usuarios descargar objetos de cubos públicos). Por lo tanto, debe proporcionar un nombre de credencial con credenciales válidas para almacenar un objeto en un cubo público de Oracle Cloud Infrastructure mediante PUT_OBJECT
.
Consulte DBMS_CLOUD URI Formats para obtener más información.
Tema principal: DBMS_CLOUD para objetos y archivos
SYNC_EXTERNAL_PART_TABLE Procedimiento
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 |
---|---|
|
Nombre de la tabla de destino. Se debe crear la tabla de destino para poder ejecutar |
|
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. |
|
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 |
Tema principal: DBMS_CLOUD para objetos y archivos
VALIDATE_EXTERNAL_PART_TABLE Procedimiento
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 archivo_error en Autonomous 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 |
---|---|
|
Nombre de la tabla externa. |
|
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 |
|
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 |
|
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 |
|
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. |
|
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. |
|
Sólo para uso interno. No utilice este parámetro. |
|
Determina si la validación se debe parar cuando se rechaza una fila. El valor por defecto es |
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento VALIDATE_EXTERNAL_TABLE
Este procedimiento valida los archivos de origen para una tabla externa, genera información de log y almacena las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla de archivos incorrectos en Autonomous 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 |
---|---|
|
Nombre de la tabla externa. |
|
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 |
|
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. |
|
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. |
|
Determina si la validación se debe parar cuando se rechaza una fila. El valor por defecto es 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 |
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 alcancerowcount
o se apliquestop_on_error
. No tiene control sobre qué partición o partes de una partición se leen en qué orden.
Tema principal: DBMS_CLOUD para objetos y archivos
VALIDATE_HYBRID_PART_TABLE Procedimiento
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 archivo incorrecto en Autonomous Database. 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 |
---|---|
|
Nombre de la tabla externa. |
|
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 |
|
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 |
|
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 |
|
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. |
|
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. |
|
Sólo para uso interno. No utilice este parámetro. |
|
Determina si la validación se debe parar cuando se rechaza una fila. El valor por defecto es |
Tema principal: DBMS_CLOUD para objetos y archivos
DBMS_CLOUD para la gestión masiva de archivos
Subprogramas para operaciones de archivos masivos en el paquete DBMS_CLOUD.
Subprograma | Descripción |
---|---|
BULK_COPY Procedimiento |
Este procedimiento copia archivos de un cubo de Cloud Object Storage a otro. |
BULK_DELETE Procedimiento |
El procedimiento suprime archivos del cubo o la carpeta de Cloud Object Storage. |
BULK_DOWNLOAD Procedimiento |
Este procedimiento descarga archivos del cubo del almacén de objetos en la nube en un directorio de Autonomous Database. |
BULK_MOVE Procedimiento |
Este procedimiento mueve archivos de un cubo de Cloud Object Storage a otro. |
BULK_UPLOAD Procedimiento |
Este procedimiento carga archivos de un directorio de Autonomous Database en Cloud Object Storage. |
- BULK_COPY Procedimiento
Este procedimiento copia de forma masiva archivos de un cubo de Cloud Object Storage a otro. El formulario sobrecargado permite utilizar el parámetrooperation_id
. - BULK_DELETE Procedimiento
Este procedimiento suprime de forma masiva archivos del almacenamiento de objetos en la nube. El formulario sobrecargado permite utilizar el parámetrooperation_id
. Puede filtrar la lista de archivos que se suprimirán mediante un patrón de expresión regular compatible con el operadorREGEXP_LIKE
. - BULK_DOWNLOAD Procedimiento
Este procedimiento descarga archivos en un directorio de Autonomous Database desde Cloud Object Storage. El formulario sobrecargado permite utilizar el parámetrooperation_id
. Puede filtrar la lista de archivos que se van a descargar mediante un patrón de expresión regular compatible con el operadorREGEXP_LIKE
. - BULK_MOVE Procedimiento
Este procedimiento mueve de forma masiva archivos de un cubo o carpeta de Cloud Object Storage a otro. El formulario sobrecargado permite utilizar el parámetrooperation_id
. - BULK_UPLOAD Procedimiento
Este procedimiento copia archivos en Cloud Object Storage desde un directorio de Autonomous Database. El formulario sobrecargado permite utilizar el parámetrooperation_id
.
Tema principal: DBMS_CLOUD Subprogramas y APIs de REST
BULK_COPY Procedimiento
Este procedimiento copia de forma masiva archivos de un cubo de Cloud Object Storage a otro. El formulario sobrecargado permite utilizar el parámetro operation_id
.
Puede filtrar la lista de archivos que se suprimirán mediante un patrón de expresión regular compatible con el operador REGEXP_LIKE
.
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 se utiliza por defecto en la ubicación de destino.
Sintaxis
DBMS_CLOUD.BULK_COPY
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Si no proporciona un valor |
|
Especifica el URI que apunta al cubo o la ubicación de la carpeta de Object Storage de origen. Este parámetro es obligatorio. 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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Ejemplo de uso de expresiones regulares:
Ejemplo de uso de comodines:
El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición |
|
Especifica el URI del cubo o la carpeta de Object Storage de destino, donde se deben copiar los archivos. Este parámetro es obligatorio. 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 DBMS_CLOUD URI Formats para obtener más información. |
|
Nombre de la credencial para acceder a la ubicación de Cloud Object Storage de destino. Puede utilizar Si no proporciona un valor |
|
Especifica la expresión REGEX para filtrar archivos. El patrón de expresión REGEX debe ser compatible con el operador Si no proporciona un valor Consulte Condición REGEXP_LIKE para obtener más información. |
|
Especifica las opciones de configuración adicionales para la operación de archivo. Estas opciones se especifican como una cadena JSON. Las opciones de formato admitidas son:
Si no proporciona un valor |
|
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 |
Notas de uso
-
Se devuelve un error cuando el URI de origen y de destino apuntan al mismo cubo o carpeta de Object Storage.
Ejemplo
BEGIN
DBMS_CLOUD.BULK_COPY
(
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Tema principal: DBMS_CLOUD para la gestión masiva de archivos
BULK_DELETE Procedimiento
Este procedimiento suprime de forma masiva archivos de Cloud Object Storage. El formulario sobrecargado permite utilizar el parámetro operation_id
. Puede filtrar la lista de archivos que se suprimirán mediante un patrón de expresión regular compatible con el operador REGEXP_LIKE
.
Sintaxis
DBMS_CLOUD.BULK_DELETE
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Si no proporciona un valor |
|
Especifica el URI que apunta a una ubicación de Object Storage en la instancia de Autonomous Database. Este parámetro es obligatorio. 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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Por ejemplo:
El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición El formato de los URI depende del servicio Cloud Object Storage. Consulte DBMS_CLOUD URI Formats para obtener más información. |
|
Especifica la expresión REGEX para filtrar archivos. El patrón de expresión REGEX debe ser compatible con el operador Si no proporciona un valor Consulte Condición REGEXP_LIKE para obtener más información. |
|
Especifica las opciones de configuración adicionales para la operación de archivo. Estas opciones se especifican como una cadena JSON. Las opciones de formato admitidas son:
Si no proporciona un valor |
|
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 |
Ejemplo
BEGIN
DBMS_CLOUD.BULK_DELETE
(
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/
Tema principal: DBMS_CLOUD para la gestión masiva de archivos
BULK_DOWNLOAD Procedimiento
Este procedimiento descarga archivos en un directorio de Autonomous Database desde Cloud Object Storage. El formulario sobrecargado permite utilizar el parámetro operation_id
. Puede filtrar la lista de archivos que se van a descargar mediante un patrón de expresión regular compatible con el operador REGEXP_LIKE
.
Sintaxis
DBMS_CLOUD.BULK_DOWNLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Si no proporciona un valor |
|
Especifica el URI que apunta a una ubicación de Object Storage en la instancia de Autonomous Database. Este parámetro es obligatorio. 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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Por ejemplo:
El formato de los URI depende del servicio Cloud Object Storage que utilice, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición El formato de los URI depende del servicio Cloud Object Storage. Consulte DBMS_CLOUD URI Formats para obtener más información. |
|
Nombre del directorio de la instancia de Autonomous Database desde la que desea descargar los archivos. Este parámetro es obligatorio. |
|
Especifica la expresión REGEX para filtrar archivos. El patrón de expresión REGEX debe ser compatible con el operador Si no proporciona un valor Consulte Condición REGEXP_LIKE para obtener más información. |
|
Especifica las opciones de configuración adicionales para la operación de archivo. Estas opciones se especifican como una cadena JSON. Las opciones de formato admitidas son:
Si no proporciona un valor |
|
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 |
Ejemplo
BEGIN
DBMS_CLOUD.BULK_DOWNLOAD
(
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Tema principal: DBMS_CLOUD para la gestión masiva de archivos
BULK_MOVE Procedimiento
Este procedimiento mueve de forma masiva archivos de un cubo o carpeta de Cloud Object Storage a otra. El formulario sobrecargado permite utilizar el parámetro operation_id
.
Puede filtrar la lista de archivos que se suprimirán mediante un patrón de expresión regular compatible con el operador REGEXP_LIKE
.
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.
El primer paso para mover archivos es copiarlos en la ubicación de destino y, a continuación, suprimir los archivos de origen, una vez que se hayan copiado correctamente.
El nombre del objeto se cambia en lugar de moverlo si el almacén de objetos permite cambiar el nombre de las operaciones entre las ubicaciones de origen y destino.
Sintaxis
DBMS_CLOUD.BULK_MOVE
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage de origen. Puede utilizar Si no proporciona un valor |
|
Especifica el URI que apunta al cubo o la ubicación de la carpeta de Object Storage de origen. Este parámetro es obligatorio. 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 Los caracteres "*" y "?" se consideran caracteres comodín cuando el parámetro 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 Ejemplo de uso de expresiones regulares:
Ejemplo de uso de comodines:
El formato de los URI depende del servicio Cloud Object Storage que utilice; para obtener información, consulte Formatos DBMS_CLOUD de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición |
|
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 que utilice; para obtener información, consulte Formatos DBMS_CLOUD de URI. |
|
Nombre de la credencial para acceder a la ubicación de Cloud Object Storage de destino. Puede utilizar Si no proporciona un valor |
|
Especifica la expresión REGEX para filtrar archivos. El patrón de expresión REGEX debe ser compatible con el operador Si no proporciona un valor Consulte Condición REGEXP_LIKE para obtener más información. |
|
Especifica las opciones de configuración adicionales para la operación de archivo. Estas opciones se especifican como una cadena JSON. Las opciones de formato admitidas son:
Si no proporciona un valor |
|
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 |
Ejemplo
BEGIN
DBMS_CLOUD.BULK_MOVE
(
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/
Se devuelve un error cuando el URI de origen y de destino apuntan al mismo cubo o carpeta de Object Storage.
Tema principal: DBMS_CLOUD para la gestión masiva de archivos
BULK_UPLOAD Procedimiento
Este procedimiento copia archivos en Cloud Object Storage desde un directorio de Autonomous Database. El formulario sobrecargado permite utilizar el parámetro operation_id
.
Sintaxis
DBMS_CLOUD.BULK_UPLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial para acceder a Cloud Object Storage. Puede utilizar Si no proporciona un valor |
|
Especifica el URI, que apunta a una ubicación de Object Storage para cargar archivos. Este parámetro es obligatorio. El formato de los URI depende del servicio Cloud Object Storage. Consulte DBMS_CLOUD URI Formats para obtener más información. |
|
Nombre del directorio de la instancia de Autonomous Database desde la que se cargan los archivos. Este parámetro es obligatorio. 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: Las expresiones regulares no están soportadas al especificar los nombres de archivo en un directorio. Solo puede utilizar comodines para especificar nombres de archivo en un directorio. Se puede usar el carácter "*" como comodín para varios caracteres y el carácter "?" se puede utilizar como comodín para un solo carácter. Por ejemplo: Para especificar varios directorios, utilice una lista separada por comas de directorios: por ejemplo: Utilice comillas dobles para especificar un nombre de directorio sensible a mayúsculas/minúsculas. Por ejemplo: Para incluir un carácter de comillas, utilice dos comillas. Por ejemplo: |
regex_filter |
Especifica la expresión REGEX para filtrar archivos. El patrón de expresión REGEX debe ser compatible con el operador Si no proporciona un valor Consulte Condición REGEXP_LIKE para obtener más información. |
|
Especifica las opciones de configuración adicionales para la operación de archivo. Estas opciones se especifican como una cadena JSON. Las opciones de formato admitidas son:
Si no proporciona un valor |
|
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 |
Ejemplo
BEGIN
DBMS_CLOUD.BULK_UPLOAD
(
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
);
END;
/
Tema principal: DBMS_CLOUD para la gestión masiva de archivos
API de REST de DBMS_CLOUD
En esta sección se tratan las API de REST DBMS_CLOUD
que se proporcionan con Autonomous Database.
API de REST | Descripción |
---|---|
Esta función devuelve las cabeceras de respuesta HTTP como datos JSON en un objeto JSON de Autonomous Database. | |
Esta función devuelve la respuesta HTTP en formato RAW de Autonomous Database. Esto es útil si se espera que la respuesta HTTP tenga formato binario. | |
Esta función devuelve el código de estado de respuesta HTTP como un entero en Autonomous Database. El código de estado ayuda a identificar si la solicitud se ha realizado correctamente. | |
Esta función devuelve la respuesta HTTP en formato TEXT (VARCHAR2 o CLOB ) en Autonomous Database. Normalmente, la mayoría de las API de REST en la nube devuelven una respuesta JSON en formato de texto. Esta función es útil si espera que la respuesta HTTP esté en formato de texto.
|
|
Esta función devuelve el tamaño de caché de resultados configurado. |
|
Esta función inicia una solicitud HTTP, obtiene la respuesta y finaliza la respuesta en Autonomous Database. Esta función proporciona un flujo de trabajo para enviar una solicitud de API de REST en la nube con argumentos, un código de respuesta de retorno y una carga útil. | |
Este procedimiento define el tamaño máximo de caché para la sesión actual. |
- DBMS_CLOUD Visión general de la API de REST
Cuando utiliza PL/SQL en la aplicación y necesita llamar a las API de REST en la nube, puede utilizarDBMS_CLOUD.SEND_REQUEST
para enviar las solicitudes de API de REST. - DBMS_CLOUD Constantes de la API de REST
Describe las constantesDBMS_CLOUD
para realizar solicitudesHTTP
medianteDBMS_CLOUD.SEND_REQUEST
. - DBMS_CLOUD Caché de resultados de la API de REST
Puede guardar los resultados de la API de RESTDBMS_CLOUD
al definir el parámetrocache
en true conDBMS_CLOUD.SEND_REQUEST
. La vistaSESSION_CLOUD_API_RESULTS
describe las columnas que puede utilizar cuando se guardan los resultados de la API de REST. - Función GET_RESPONSE_HEADERS
Esta función devuelve las cabeceras de respuesta HTTP como datos JSON en un objeto JSON. - Función GET_RESPONSE_RAW
Esta función devuelve la respuesta HTTP en formato RAW. Esto es útil si se espera que la respuesta HTTP tenga formato binario. - Función GET_RESPONSE_STATUS_CODE
Esta función devuelve el código de estado de respuesta HTTP como un entero. El código de estado ayuda a identificar si la solicitud se ha realizado correctamente. - Función GET_RESPONSE_TEXT
Esta función devuelve la respuesta HTTP en formatoTEXT
(VARCHAR2
oCLOB
). Normalmente, la mayoría de las API de REST en la nube devuelven una respuesta JSON en formato de texto. Esta función es útil si espera que la respuesta HTTP esté en formato de texto. - Función GET_API_RESULT_CACHE_SIZE
Esta función devuelve el tamaño de caché de resultados configurado. El valor de tamaño de caché solo se aplica a la sesión actual. - SEND_REQUEST Función y procedimiento
Esta función y procedimiento inicia una solicitud HTTP, obtiene la respuesta y finaliza la respuesta. Esta función proporciona un flujo de trabajo para enviar una solicitud de API de REST en la nube con argumentos y la función devuelve un código de respuesta y una carga útil. Si utiliza el procedimiento, puede ver los resultados y los detalles de respuesta de los resultados guardados con la vistaSESSION_CLOUD_API_RESULTS
. - Procedimiento SET_API_RESULT_CACHE_SIZE
Este procedimiento define el tamaño máximo de caché para la sesión actual. El valor de tamaño de caché solo se aplica a la sesión actual. - DBMS_CLOUD Ejemplos de API de REST
Muestra ejemplos que utilizanDBMS_CLOUD.SEND_REQUEST
para crear y suprimir un cubo de Oracle Cloud Infrastructure Object Storage y un ejemplo para mostrar todos los compartimentos del arrendamiento.
Tema principal: DBMS_CLOUD Subprogramas y APIs de REST
DBMS_CLOUD Visión general de la API de REST
Cuando utiliza PL/SQL en la aplicación y necesita llamar a las API de REST en la nube, puede utilizar DBMS_CLOUD.SEND_REQUEST
para enviar las solicitudes de API de REST.
Las funciones de la API de REST DBMS_CLOUD
le permiten realizar solicitudes HTTP
mediante DBMS_CLOUD.SEND_REQUEST
y obtener y guardar resultados. Estas funciones proporcionan una API genérica que le permite llamar a cualquier API de REST con los siguientes servicios en la nube soportados:
- Oracle Cloud Infrastructure
Consulte Referencia de API y puntos finales para obtener información sobre las API de REST de Oracle Cloud Infrastructure.
- Amazon Web Services (AWS)
Consulte Guías y referencias de API para obtener información sobre las API de REST de Amazon Web Services.
- Azure Cloud Punto 3
Consulte Referencia de API de REST de Azure para obtener información sobre las API de REST de Azure.
- Oracle Cloud Infrastructure Classic
Consulte Todos los puntos finales de REST para obtener información sobre las API de REST de Oracle Cloud Infrastructure Classic.
- Repositorio de GitHub
Consulte GitHub API de REST para obtener más información.
Tema principal: DBMS_CLOUD API de REST
DBMS_CLOUD Constantes de API de REST
Describe las constantes DBMS_CLOUD
para realizar solicitudes HTTP
mediante DBMS_CLOUD.SEND_REQUEST
.
DBMS_CLOUD
soporta los métodos HTTP GET
, PUT
, POST
, HEAD
y DELETE
. El método de la API de REST que se utilizará para una solicitud HTTP se suele documentar en la documentación de la API de REST en la nube.
Nombre | Tipo | Valor |
---|---|---|
METHOD_DELETE |
VARCHAR2(6) |
'DELETE' |
METHOD_GET |
VARCHAR2(3) |
'GET' |
METHOD_HEAD |
VARCHAR2(4) |
'HEAD' |
METHOD_POST |
VARCHAR2(4) |
'POST' |
METHOD_PUT |
VARCHAR2(3) |
'PUT' |
Tema principal: DBMS_CLOUD API de REST
DBMS_CLOUD Caché de resultados de la API de REST
Puede guardar los resultados de la API de REST DBMS_CLOUD
al definir el parámetro cache
en true con DBMS_CLOUD.SEND_REQUEST
. La vista SESSION_CLOUD_API_RESULTS
describe las columnas que puede utilizar cuando se guardan los resultados de la API de REST.
Por defecto, las llamadas a la API de REST DBMS_CLOUD
no guardan los resultados de la sesión. En este caso, utilizará la función DBMS_CLOUD.SEND_REQUEST
para devolver resultados.
Al utilizar DBMS_CLOUD.SEND_REQUEST
y definir el parámetro cache
en TRUE
, los resultados se guardan y puede ver los resultados anteriores en la vista SESSION_CLOUD_API_RESULTS
. Guardar y consultar resultados históricos de solicitudes de API de REST DBMS_CLOUD
puede ayudarle cuando necesite trabajar con los resultados anteriores en sus aplicaciones.
Por ejemplo, para consultar los resultados recientes de la API de REST DBMS_CLOUD
, utilice la vista SESSION_CLOUD_API_RESULTS
:
SELECT timestamp FROM SESSION_CLOUD_API_RESULTS;
Al guardar los resultados de la API de REST DBMS_CLOUD
con DBMS_CLOUD.SEND_REQUEST
, los datos guardados solo están disponibles en la misma sesión (conexión). Después de que la sesión se cierre, los datos guardados ya no estarán disponibles.
Utilice DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
y DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
para ver y definir el tamaño de caché de la API de REST DBMS_CLOUD
y para desactivar el almacenamiento en caché.
- Parámetro cache_scope de resultados de la API de REST DBMS_CLOUD
Al guardar los resultados de la API de RESTDBMS_CLOUD
conDBMS_CLOUD.SEND_REQUEST
, se proporciona acceso a los resultados enSESSION_CLOUD_API_RESULTS
según el valor decache_scope
. - DBMS_CLOUD Vista SESSION_CLOUD_API_RESULTS de la API de REST
Puede guardar los resultados de la API de RESTDBMS_CLOUD
al definir el parámetrocache
en true conDBMS_CLOUD.SEND_REQUEST
. La vistaSESSION_CLOUD_API_RESULTS
describe las columnas que puede utilizar cuando se guardan los resultados de la API de REST.
Tema principal: DBMS_CLOUD API de REST
Parámetro cache_scope de resultados de API de REST DBMS_CLOUD
Al guardar los resultados de la API de REST DBMS_CLOUD
con DBMS_CLOUD.SEND_REQUEST
, el acceso a los resultados en SESSION_CLOUD_API_RESULTS
se proporciona según el valor de cache_scope
.
Por defecto, cache_scope
es 'PRIVATE'
y solo el usuario actual de la sesión puede acceder a los resultados. Si define cache_scope
en 'PUBLIC'
, todos los usuarios de sesión pueden acceder a los resultados. El valor por defecto para cache_scope
especifica que cada usuario solo puede ver los resultados de la API de REST DBMS_CLOUD.SEND_REQUEST
generados por los procedimientos que llama con los derechos del invocador. Al llamar a DBMS_CLOUD.SEND_REQUEST
en una sesión, hay tres posibilidades que determinan si el usuario actual puede ver los resultados en la caché, según el valor cache_scope
:
-
Ejecuta directamente
DBMS_CLOUD.SEND_REQUEST
como una sentencia de nivel superior y la llamada aDBMS_CLOUD.SEND_REQUEST
y los resultados de la API de REST se guardan con el mismo nombre de usuario. En este caso, tiene acceso a todos los resultados con el valor por defecto 'PRIVATE'
, definido paracache_scope
. -
Puede escribir un procedimiento de derechos de invocador de envoltorio y, como usuario actual, la llamada con
DBMS_CLOUD.SEND_REQUEST
llama al procedimiento y los resultados de la API de REST se guardan con el mismo nombre de usuario. En este caso, y tiene acceso a todos los resultados con el valor por defecto, 'PRIVATE'
, definido paracache_scope
. -
Escribe el procedimiento de derechos de un definidor de envoltorio y el procedimiento es propiedad de otro usuario. Cuando llama a
DBMS_CLOUD.SEND_REQUEST
dentro del procedimiento, los resultados se guardan con el nombre de usuario del propietario del procedimiento.En este caso, un usuario con derechos de elemento de definición diferente está llamando a
DBMS_CLOUD.SEND_REQUEST
y los resultados de la API de REST se guardan con el propietario de ese procedimiento de elementos de definición. Para este caso, por defecto, cuandocache_scope
esPRIVATE'
, la sesión del invocador no puede ver los resultados.Si el propietario del procedimiento del responsable de la definición desea que los resultados estén disponibles para cualquier usuario de sesión que llame, debe definir
cache_scope
en'PUBLIC'
enDBMS_CLOUD.SEND_REQUEST
.
Tema principal: DBMS_CLOUD Caché de resultados de la API de REST
DBMS_CLOUD Vista de API de REST SESSION_CLOUD_API_RESULTS
Puede guardar los resultados de la API de REST DBMS_CLOUD
al definir el parámetro cache
en true con DBMS_CLOUD.SEND_REQUEST
. La vista SESSION_CLOUD_API_RESULTS
describe las columnas que puede utilizar cuando se guardan los resultados de la API de REST.
La vista SESSION_CLOUD_API_RESULTS
es la vista creada si almacena en caché los resultados con DBMS_CLOUD.SEND_REQUEST
. Puede consultar los resultados históricos que pertenecen a la sesión de usuario. Cuando finaliza la sesión, los datos de SESSION_CLOUD_API_RESULTS
se depuran.
Columna | Descripción |
---|---|
URI |
URL de solicitud de API de REST DBMS_CLOUD
|
TIMESTAMP |
Registro de hora de respuesta de la API de REST DBMS_CLOUD
|
CLOUD_TYPE |
Tipo de nube de API de REST DBMS_CLOUD , como Oracle Cloud Infrastructure, AMAZON_S3 y AZURE_BLOB
|
REQUEST_METHOD |
Método de solicitud de la API de REST DBMS_CLOUD , como GET , PUT , HEAD |
REQUEST_HEADERS |
Cabeceras de solicitud de la API de REST DBMS_CLOUD
|
REQUEST_BODY_TEXT |
Cuerpo de solicitud de la API de REST DBMS_CLOUD en CLOB |
RESPONSE_STATUS_CODE |
Código de estado de respuesta de la API de REST DBMS_CLOUD , como 200(OK) , 404(Not Found) |
RESPONSE_HEADERS |
Cabeceras de respuesta de la API de REST DBMS_CLOUD
|
RESPONSE_BODY_TEXT |
Cuerpo de respuesta de la API de REST DBMS_CLOUD en CLOB |
SCOPE |
|
Tema principal: DBMS_CLOUD Caché de resultados de la API de REST
Función GET_RESPONSE_HEADERS
Esta función devuelve las cabeceras de respuesta HTTP como datos JSON en un objeto JSON.
Sintaxis
DBMS_CLOUD.GET_RESPONSE_HEADERS
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN JSON_OBJECT_T;
Parámetros
Parámetro | Descripción |
---|---|
resp |
Tipo de respuesta HTTP devuelto de |
Excepciones
Excepción | Error | Descripción |
---|---|---|
invalid_response |
ORA-20025 |
Se ha transferido un objeto de tipo de respuesta no válido a |
Tema principal: DBMS_CLOUD API de REST
Función GET_RESPONSE_RAW
Esta función devuelve la respuesta HTTP en formato RAW. Esto es útil si se espera que la respuesta HTTP tenga formato binario.
Sintaxis
DBMS_CLOUD.GET_RESPONSE_RAW
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN BLOB;
Parámetros
Parámetro | Descripción |
---|---|
resp |
Tipo de respuesta HTTP devuelto de |
Excepciones
Excepción | Error | Descripción |
---|---|---|
invalid_response |
ORA-20025 |
Se ha transferido un objeto de tipo de respuesta no válido a |
Tema principal: DBMS_CLOUD API de REST
Función GET_RESPONSE_STATUS_CODE
Esta función devuelve el código de estado de respuesta HTTP como un entero. El código de estado ayuda a identificar si la solicitud se ha realizado correctamente.
Sintaxis
DBMS_CLOUD.GET_RESPONSE_STATUS_CODE
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN PLS_INTEGER;
Parámetros
Parámetro | Descripción |
---|---|
resp |
Tipo de respuesta HTTP devuelto de |
Excepciones
Excepción | Error | Descripción |
---|---|---|
invalid_response |
ORA-20025 |
Se ha transferido un objeto de tipo de respuesta no válido a |
Tema principal: DBMS_CLOUD API de REST
Función GET_RESPONSE_TEXT
Esta función devuelve la respuesta HTTP en formato TEXT
(VARCHAR2
o CLOB
). Normalmente, la mayoría de las API de REST en la nube devuelven una respuesta JSON en formato de texto. Esta función es útil si espera que la respuesta HTTP esté en formato de texto.
Sintaxis
DBMS_CLOUD.GET_RESPONSE_TEXT
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN CLOB;
Parámetros
Parámetro | Descripción |
---|---|
resp |
Tipo de respuesta HTTP devuelto de |
Excepciones
Excepción | Error | Descripción |
---|---|---|
invalid_response |
ORA-20025 |
Se ha transferido un objeto de tipo de respuesta no válido a |
Tema principal: DBMS_CLOUD API de REST
Función GET_API_RESULT_CACHE_SIZE
Esta función devuelve el tamaño de caché de resultados configurado. El valor de tamaño de caché solo se aplica a la sesión actual.
Sintaxis
DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
()
RETURN NUMBER;
Tema principal: DBMS_CLOUD API de REST
SEND_REQUEST Función y procedimiento
Esta función y procedimiento inicia una solicitud HTTP, obtiene la respuesta y finaliza la respuesta. Esta función proporciona un flujo de trabajo para enviar una solicitud de API de REST en la nube con argumentos y la función devuelve un código de respuesta y una carga útil. Si utiliza el procedimiento, puede ver los resultados y los detalles de respuesta de los resultados guardados con la vista SESSION_CLOUD_API_RESULTS
.
Sintaxis
DBMS_CLOUD.SEND_REQUEST
(
credential_name IN VARCHAR2,
uri IN VARCHAR2,
method IN VARCHAR2,
headers IN CLOB DEFAULT NULL,
async_request_url IN VARCHAR2 DEFAULT NULL,
wait_for_states IN DBMS_CLOUD_TYPES.wait_for_states_t DEFAULT NULL,
timeout IN NUMBER DEFAULT 0,
cache IN PL/SQL BOOLEAN DEFAULT FALSE,
cache_scope IN VARCHAR2 DEFAULT 'PRIVATE',
body IN BLOB DEFAULT NULL)
RETURN DBMS_CLOUD_TYPES.resp;
DBMS_CLOUD.SEND_REQUEST
(
credential_name IN VARCHAR2,
uri IN VARCHAR2,
method IN VARCHAR2,
headers IN CLOB DEFAULT NULL,
async_request_url IN VARCHAR2 DEFAULT NULL,
wait_for_states IN DBMS_CLOUD_TYPES.wait_for_states_t DEFAULT NULL,
timeout IN NUMBER DEFAULT 0,
cache IN PL/SQL BOOLEAN DEFAULT FALSE,
cache_scope IN VARCHAR2 DEFAULT 'PRIVATE',
body IN BLOB DEFAULT NULL);
Parámetros
Parámetro | Descripción |
---|---|
|
Nombre de la credencial para autenticarse con la API nativa en la nube correspondiente. Puede utilizar |
uri |
URI HTTP para realizar la solicitud. |
method |
Método de solicitud HTTP: Consulte DBMS_CLOUD Constantes de API de REST para obtener más información. |
headers |
Cabeceras de solicitud HTTP para la API nativa en la nube correspondiente en formato JSON. Las cabeceras de autenticación se definen automáticamente y solo transfieren cabeceras personalizadas. |
|
URL de solicitud asíncrona. Para obtener la URL, seleccione la API de solicitud de la lista de API (consulte https://docs.cloud.oracle.com/en-us/iaas/api/). A continuación, navegue para buscar la API para su solicitud en el panel izquierdo. Por ejemplo, API de servicios de base de datos → Autonomous Database → StopAutonomousDatabase. Esta página muestra el directorio raíz de API (y el punto final base). A continuación, agregue el punto final base con la ruta de acceso relativa obtenida para el enlace WorkRequest de la solicitud de trabajo. |
wait_for_states |
Los estados de espera son de tipo: Se permiten varios estados para |
timeout |
Especifica el timeout, en segundos, para las solicitudes asíncronas con los parámetros El valor por defecto es |
cache |
Si El valor por defecto es |
cache_scope |
Especifica si todos pueden tener acceso a esta caché de resultados de solicitud. Valores válidos: |
body |
Cuerpo de solicitud HTTP para solicitudes |
Excepciones
Excepción | Error | Descripción |
---|---|---|
invalid_req_method |
ORA-20023 |
El método de solicitud transferido a |
invalid_req_header |
ORA-20024 |
Las cabeceras de solicitud transferidas a |
Notas de uso
-
Si utiliza Oracle Cloud Infrastructure, debe utilizar un valor de credencial basado en clave de firma para
credential_name
. Consulte CREATE_CREDENTIAL Procedure para obtener más información. -
Los parámetros opcionales
async_request_url
,wait_for_states
ytimeout
le permiten manejar solicitudes de larga ejecución. Con este formato asíncrono desend_request
, la función espera el estado de finalización especificado enwait_for_states
antes de volver. Con estos parámetros en la solicitud de envío, transfiere los estados de devolución esperados en el parámetrowait_for_states
y utiliza el parámetroasync_request_url
para especificar una solicitud de trabajo asociada, la solicitud no se devuelve inmediatamente. En su lugar, la solicitud sondeaasync_request_url
hasta que el estado de devolución es uno de los estados esperados o se superatimeout
(timeout
es opcional). Si no se especificatimeout
, la solicitud espera hasta que se produzca un estado encontrado enwait_for_states
.
Tema principal: DBMS_CLOUD API de REST
SET_API_RESULT_CACHE_SIZE Procedimiento
Este procedimiento define el tamaño máximo de caché para la sesión actual. El valor de tamaño de caché solo se aplica a la sesión actual.
Sintaxis
DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(
cache_size IN NUMBER);
Parámetros
Parámetro | Descripción |
---|---|
cache_size |
Defina el tamaño máximo de caché en el valor especificado Si el tamaño de caché se define en El tamaño de caché por defecto es |
Excepciones
Excepción | Error | Descripción |
---|---|---|
invalid API result cache size |
ORA-20032 |
El valor mínimo es 0 y el valor máximo es 10000. Esta excepción se muestra cuando el valor de entrada es menor que 0 o mayor que 10000. |
Ejemplo
EXEC DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(101);
Tema principal: DBMS_CLOUD API de REST
DBMS_CLOUD Ejemplos de API de REST
Muestra ejemplos que utilizan DBMS_CLOUD.SEND_REQUEST
para crear y suprimir un cubo de Oracle Cloud Infrastructure Object Storage y un ejemplo para mostrar todos los compartimentos del arrendamiento.
En estos ejemplos se muestran las API de solicitud de Oracle Cloud Infrastructure y se requiere que utilice una credencial basada en clave de firma para credential_name
. Las credenciales basadas en la clave de firma de Oracle Cloud Infrastructure incluyen los argumentos private_key
y fingerprint
.
Por ejemplo:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => ‘OCI_KEY_CRED’,
user_ocid => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
tenancy_ocid => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
private_key => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
fingerprint => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
END;
/
Consulte el procedimiento CREATE_CREDENTIAL para obtener información sobre DBMS_CLOUD.CREATE_CREDENTIAL
.
Ejemplo de creación de cubo
Muestra un ejemplo con el método DBMS_CLOUD.SEND_REQUEST
con HTTP POST
para crear un cubo de almacén de objetos denominado bucketname
.
Consulte CreateBucket para obtener más información sobre la API de servicio de Oracle Cloud Infrastructure Object Storage para este ejemplo.
SET SERVEROUTPUT ON
DECLARE
resp DBMS_CLOUD_TYPES.resp;
BEGIN
-- Send request
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://objectstorage.region.oraclecloud.com/n/namespace-string/b/',
method => DBMS_CLOUD.METHOD_POST,
body => UTL_RAW.cast_to_raw(
JSON_OBJECT('name' value 'bucketname',
'compartmentId' value 'compartment_OCID'))
);
-- Response Body in TEXT format
dbms_output.put_line('Body: ' || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_text(resp) || CHR(10));
-- Response Headers in JSON format
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
-- Response Status Code
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_status_code(resp));
END;
/
Notas:
-
En este ejemplo,
namespace-string
es el espacio Oracle Cloud Infrastructure Object Storage Namepace, ybucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información. -
Donde:
region
es una región de punto final. Consulte la referencia de la API de Object Storage en Puntos finales y referencia de API para obtener más información. Por ejemplo, donderegion
es:us-phoenix-1
.
Ejemplo de supresión de cubo
Muestra un ejemplo con el método DBMS_CLOUD.SEND_REQUEST
con HTTP DELETE
para suprimir un cubo de almacén de objetos denominado bucketname
.
Consulte DeleteBucket para obtener más información sobre la API de servicio de Oracle Cloud Infrastructure Object Storage para este ejemplo.
SET SERVEROUTPUT ON
DECLARE
resp DBMS_CLOUD_TYPES.resp;
BEGIN
-- Send request
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname',
method => DBMS_CLOUD.METHOD_DELETE
);
-- Response Body in TEXT format
dbms_output.put_line('Body: ' || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_text(resp) || CHR(10));
-- Response Headers in JSON format
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
-- Response Status Code
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_status_code(resp));
END;
/
Notas:
-
En este ejemplo,
namespace-string
es el espacio Oracle Cloud Infrastructure Object Storage Namepace, ybucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información. -
Donde:
region
es una región de punto final. Consulte la referencia de la API de Object Storage en Puntos finales y referencia de API para obtener más información. Por ejemplo, donderegion
es:us-phoenix-1
.
Ejemplo de lista de compartimentos
Muestra un ejemplo con el método DBMS_CLOUD.SEND_REQUEST
con HTTP GET
para mostrar todos los compartimentos del arrendamiento (compartimento raíz). En este ejemplo se muestra cómo transferir cabeceras de solicitud en DBMS_CLOUD.SEND_REQUEST
.
Consulte ListCompartments para obtener más información sobre la API de servicio de Oracle Cloud Infrastructure Identity and Access Management para este ejemplo.
--
-- List compartments
--
DECLARE
resp DBMS_CLOUD_TYPES.resp;
root_compartment_ocid VARCHAR2(512) := '&1';
BEGIN
-- Send request
dbms_output.put_line('Send Request');
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://identity.region.oraclecloud.com/20160918/compartments?compartmentId=' || root_compartment_ocid,
method => DBMS_CLOUD.METHOD_GET,
headers => JSON_OBJECT('opc-request-id' value 'list-compartments')
);
dbms_output.put_line('Body: ' || '------------' || CHR(10) || DBMS_CLOUD.get_response_text(resp) || CHR(10));
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) || DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) || DBMS_CLOUD.get_response_status_code(resp));
dbms_output.put_line(CHR(10));
END;
/
Donde: region
es una región de punto final. Consulte la referencia de API de Identity and Access Management (IAM) en Referencia de API y puntos finales para obtener más información. Por ejemplo, donde region
es: uk-london-1
.
Ejemplo de solicitud asíncrona
Muestra un ejemplo con el método DBMS_CLOUD.SEND_REQUEST
con HTTP POST
para realizar la operación de parada de Autonomous Database y esperar el estado. En este ejemplo se muestra cómo utilizar DBMS_CLOUD.SEND_REQUEST
con los parámetros async_request_url
, wait_for_states
y timeout
.
--
-- Sent Work Request Autonomous Database Stop Request with Wait for Status
DECLARE
l_resp DBMS_CLOUD_TYPES.resp;
l_resp_json JSON_OBJECT_T;
l_key_shape JSON_OBJECT_T;
l_body JSON_OBJECT_T;
status_array DBMS_CLOUD_TYPES.wait_for_states_t;
BEGIN
status_array := DBMS_CLOUD_TYPES.wait_for_states_t('SUCCEEDED');
l_body := JSON_OBJECT_T('{}');
l_body.put('autonomousDatabaseId', 'ocid');
-- Send request
dbms_output.put_line(l_body.to_clob);
dbms_output.put_line('Send Request');
l_resp := DBMS_CLOUD.send_request(
credential_name => 'NATIVE_CRED_OCI',
uri => 'https://database.region.oraclecloud.com/20160918/autonomousDatabases/ocid/actions/stop',
method => DBMS_CLOUD.METHOD_POST,
body => UTL_RAW.cast_to_raw(l_body.to_clob),
async_request_url => 'https://iaas.region.oraclecloud.com/20160918/workRequests',
wait_for_states => status_array,
timeout => 600
);
dbms_output.put_line('resp body: '||DBMS_CLOUD.get_response_text(l_resp));
dbms_output.put_line('resp headers: '||DBMS_CLOUD.get_response_headers(l_resp).to_clob);
END;
/
Donde: region
es una región de punto final. Consulte la referencia de API de Identity and Access Management (IAM) en Referencia de API y puntos finales para obtener más información. Por ejemplo, donde region
es: uk-london-1
.
ocid
es el identificador de recurso de Oracle Cloud Infrastructure. Consulte Identificadores de recursos para obtener más información.
Tema principal: DBMS_CLOUD API de REST
Leyenda de nota al pie
Nota 3: El soporte para llamadas a la API de REST de Azure Cloud está limitado al dominio "blob.windows.net".