DBMS_CLOUD Subprogramas y API de REST
En esta sección se tratan los subprogramas y las API de REST de DBMS_CLOUD
que se proporcionan con Autonomous Database.
Para ejecutar subprogramas
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 Access Management
Subprogramas para la gestión de credenciales en el paquete DBMS_CLOUD, incluidas la creación, la supresión y la actualización de credenciales. - DBMS_CLOUD para objetos y archivos
Los subprogramas para la gestión de objetos y archivos dentro del paquete DBMS_CLOUD. - DBMS_CLOUD para la gestión de archivos en bloque
Los subprogramas para operaciones de archivos en bloque dentro del paquete DBMS_CLOUD. - DBMS_CLOUD API de REST
En esta sección se tratan las API de REST deDBMS_CLOUD
que se proporcionan con Autonomous Database.
Tema principal: DBMS_CLOUD Package
DBMS_CLOUD para la gestión de acceso
Los subprogramas para la gestión de credenciales en el paquete DBMS_CLOUD, incluidas la creación, la supresión y la 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 API de REST
Procedimiento CREATE_CREDENTIAL
Este procedimiento almacena credenciales del servicio en la nube en Autonomous Database.
Utilice las credenciales de servicio en la nube almacenadas para acceder al servicio en la nube para la carga de datos, para consultar datos externos que residen en la nube o para otros casos cuando utilice los procedimientos 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 la 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 de Amazon (ARN)
-
Google Analytics o Google BigQuery credenciales
-
Credenciales de secreto de almacén para utilizarlas con un almacén soportado:
- Oracle Cloud Infrastructure Vault
- Azure Key Vault
- 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);
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
user_ocid IN VARCHAR2,
tenancy_ocid IN VARCHAR2,
private_key IN VARCHAR2,
fingerprint IN VARCHAR2);
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 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 credenciales para uno de los siguientes:
|
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
. -
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 de credencial para los 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 las 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.
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 los archivos de origen residen en Azure Blob Storage o va a llamar a una API de Azure, username
es el nombre de su cuenta de almacenamiento de Azure, y password
es una clave de acceso de cuenta de almacenamiento de Azure. Consulte la sección acerca de las cuentas de almacenamiento de Azure.
Credenciales compatibles con Amazon S3
Service | 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 nombres de recursos de Amazon (ARN) de AWS
Si los archivos de origen residen en Amazon S3 o llama 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 |
Puede definir 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 el correo electrónico GitHub y password
es el 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;
/
Google Analytics o Google BigQuery Credenciales
Si accede a Google Analytics o 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 a 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 de secreto 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 Swift con el nombre de usuario "scott" y la contraseña "password", proporcione "scott" como parámetrousername
. -
secret_id
: es el ID secreto del almacén. Especifique el valorsecret_id
como OCID secreto de almacén. Consulte Descripción general de Vault para obtener más información. -
region
: es un parámetro opcional que especifica el identificador de región de oracle cloud. La región, cuando se especifica, indica la ubicación donde 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 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 una instancia de 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 con la clave. -
secret_id
: especifica el nombre del secreto. -
azure_vault_name
: especifica el nombre del almacén donde 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 de secreto de almacén con Gestor de secretos de AWS
Para crear credenciales de secreto de almacén con Gestor de secretos de AWS, utilice el parámetro params
para especificar los parámetros necesarios:
-
username
: especifica la clave de acceso de Gestor de secretos de AWS. -
secret_id
: es el ARN de AWS AWS Secrets Manager. -
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 el 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 de secreto de almacén con el gestor de secretos de GCP
Para crear credenciales del gestor de secretos de GCP, 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
Procedimiento REFRESH_VAULT_CREDENTIAL
Este procedimiento refresca el secreto de almacén de una credencial de secreto de almacén.
Este procedimiento permite refrescar inmediatamente el secreto de almacén de una credencial de secreto de almacén para obtener la versión más reciente 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 va a 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
UPDATE_CREDENTIAL Procedure
Este procedimiento actualiza un atributo con un nuevo valor para un credential_name
especificado.
Utilice las credenciales almacenadas para la carga de datos, para consultar datos externos que residan 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 va a actualizar. Para una credencial 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 esté utilizando, para las credenciales de secreto de almacén, los valores
attribute válidos son:
Consulte Procedimiento CREATE_CREDENTIAL para obtener más información. |
|
Nuevo valor para el atributo especificado. |
Notas de Uso
-
El valor de nombre de usuario es sensible a 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 de credencial para los 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
Los subprogramas para la gestión de objetos y archivos dentro del paquete DBMS_CLOUD.
Subprograma | Descripción |
---|---|
Con este procedimiento, se cargan datos en una recopilación 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 type definido en 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 ORC, Parquet o Avro de origen en la tabla interna preexistente. |
|
Este procedimiento copia archivos de un cubo de Cloud Object Storage a otro. | |
Con este procedimiento se crea una tabla externa en los archivos de la nube o en los de un directorio. Permite ejecutar consultas en datos externos desde Autonomous Database. | |
Procedimiento CREATE_CLOUD_TABLE |
Con este procedimiento se crea una tabla en la nube donde todos los datos persistentes se almacenan en el almacenamiento de objetos gestionado por Oracle. |
CREATE_EXTERNAL_TABLE Procedimiento para Apache Iceberg |
Este procedimiento crea tablas externas para tablas de 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.
Permite ejecutar consultas en datos externos desde Autonomous Database. |
Con este procedimiento se crea una tabla particionada externa en los archivos de la nube. Permite ejecutar consultas en datos externos desde Autonomous Database. | |
Este procedimiento crea un índice de texto en los archivos del almacén de objetos. |
|
Con este procedimiento se crea una tabla particionada híbrida. 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 borra el índice de texto en los archivos del almacén de objetos. |
|
Con este procedimiento se exportan los 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 mediante el controlador de acceso ORACLE_DATAPUMP para escribir datos en un archivo de volcado. |
|
Este procedimiento está sobrecargado. El formulario de 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. | |
Con este procedimiento se 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 valor BLOB de Autonomous Database en Cloud Object Storage.
|
|
Con este procedimiento se simplifica la actualización de una tabla particionada externa desde archivos de 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. | |
Con este procedimiento se validan los archivos de origen para una tabla particionada externa, se genera información de log y se almacenan las filas que no coinciden con las opciones de formato especificadas para la tabla externa en una tabla de archivos incorrectos en Autonomous Database. | |
Con este procedimiento se validan los archivos de origen para una tabla particionada híbrida, se genera información de log y se almacenan las filas que no coinciden con las opciones de formato especificadas para la tabla híbrida en una tabla de archivos incorrectos 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
. - COPY_DATA Procedimiento
Este procedimiento carga datos en tablas 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ámetroformat
type
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 en la nube se almacenan en el almacenamiento de objetos gestionado por Oracle (las tablas en la nube solo almacenan sus metadatos en la base de datos). - CREATE_EXTERNAL_PART_TABLE Procedimiento
Este procedimiento crea una tabla particionada externa en archivos de la nube o a partir de archivos de un directorio. Permite ejecutar consultas en datos externos desde Autonomous Database. - CREATE_EXTERNAL_TABLE Procedimiento
Este procedimiento crea una tabla externa en archivos de la nube o a partir de archivos de un directorio. 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 Procedimiento para archivos de Avro, ORC o Parquet
Este procedimiento con el parámetroformat
type
definido en el valoravro
,orc
oparquet
crea una tabla externa con archivos de formato Avro, ORC o Parquet en la nube o en un directorio. - Procedimiento CREATE_EXTERNAL_TEXT_INDEX
Este procedimiento crea un índice de texto en los archivos de Object Storage. - Procedimiento CREATE_HYBRID_PART_TABLE
Con este procedimiento se 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, u 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 DROP_EXTERNAL_TEXT_INDEX
Este procedimiento borra el índice de texto en los archivos de Object Storage. - Procedimiento EXPORT_DATA
Con este procedimiento se exportan los datos de Autonomous Database según el resultado de una consulta. Este procedimiento está sobrecargado 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 de 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 valorBLOB
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 de 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. - VALIDATE_EXTERNAL_PART_TABLE Procedimiento
Con este procedimiento se validan los archivos de origen para una tabla particionada externa, se genera información de log y se almacenan 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_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
. - VALIDATE_HYBRID_PART_TABLE Procedimiento
Con este procedimiento se validan los archivos de origen para una tabla particionada híbrida, se genera información de log y se almacenan las filas que no coinciden con las opciones de formato especificadas para la tabla híbrida en una tabla de archivos incorrectos en Autonomous Database. El formulario sobrecargado permite utilizar el parámetrooperation_id
.
Tema principal: DBMS_CLOUD Subprogramas y API 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 cuando se especifica un directorio con |
|
Este parámetro especifica una lista delimitada por comas de los URI de archivo de origen o uno o más directorios y archivos de origen. URI de archivo de origen de nube Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de Cloud. 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 sólo 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 de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición Directory 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 utilizar 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 de directorios separada por comas: 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 comilla, 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 obtener la lista de argumentos de formato soportados por Autonomous Database, consulte DBMS_CLOUD Opciones de formato de paquete. |
|
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 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 cuando se especifica un directorio con |
|
Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de Cloud. URI de archivo de origen de nube Este parámetro especifica una lista delimitada por comas de los 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 sólo 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 de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato 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 utilizar 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 de directorios separada por comas: 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 comilla, 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 de origen, log y erróneos. 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 Opciones de formato del paquete para Avro, ORC o 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 por defecto es detected newline
. Con detected newline
, DBMS_CLOUD
intenta buscar automáticamente el carácter de nueva línea correcto que se va a utilizar automáticamente como separador de registro. DBMS_CLOUD
busca primero el carácter de línea nueva \r\n
de Windows. Si encuentra el carácter de línea nueva de Windows, este se utiliza como delimitador de registro para todos los archivos del procedimiento. Si no se encuentra un carácter de línea nueva de Windows, DBMS_CLOUD
busca el carácter de línea nueva de UNIX/Linux \n
y si encuentra uno utiliza \n
como delimitador de registro para todos los archivos del procedimiento. Si los archivos de origen utilizan una combinación de diferentes delimitadores de registro, puede que aparezca un error como, por ejemplo, "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
.
Ejemplo
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'OBJ_STORE_CRED',
username => 'user_name@oracle.com',
password => 'password'
);
DBMS_CLOUD.COPY_COLLECTION
(
table_name => 'ORDERS',
schema_name => 'TEST_SCHEMA',
credential_name => 'OBJ_STORE_CRED',
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
type
definido en 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 cuando se especifica un directorio con |
|
Este parámetro especifica una lista delimitada por comas de los URI de archivo de origen o uno o más directorios y archivos de origen. URI de archivo de origen de nube Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de Cloud. 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 sólo 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 de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición Directory 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 utilizar 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 de directorios separada por comas: 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 comilla, 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. |
|
Se ignora para los archivos Avro, ORC o Parquet. Los campos del origen coinciden con las columnas de la tabla externa por nombre. Los tipos de datos de origen se convierten en el tipo de datos de columna de tabla externa. Para los archivos ORC, consulte DBMS_CLOUD Package ORC to Oracle Data Type Mapping. Para los archivos Parquet, consulte DBMS_CLOUD Asignación de tipo de datos de Parquet a Oracle 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 más información 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 Opciones de formato de paquete para Avro, ORC o Parquet. |
Notas de Uso
-
Al igual que con otros archivos de datos, las cargas de datos de Avro, ORC y Parquet generan logs que se pueden ver en las tablas
dba_load_operations
yuser_load_operations
. Each load operation adds a record todba
[user]_load_operations
that indicates the table containing the logs.En la tabla de logs se proporciona información de resumen sobre la carga.
-
Para Avro, ORC o Parquet, si 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 para contener el valor convertido, el valor de la columna se define en
NULL
. Esto no genera un registro rechazado.
-
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento COPY_OBJECT
Este procedimiento copia un objeto de un cubo o carpeta de Cloud Object Storage a otro.
La carpeta o el cubo de origen y destino pueden estar en el mismo proveedor de almacenamiento 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.
La ubicación de destino también utiliza por defecto el nombre de la credencial de origen cuando no se proporciona el nombre de la 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 al almacenamiento de objetos en la nube de origen. Puede utilizar Si no proporciona un valor |
|
Especifica el URI, que apunta a la ubicación de la carpeta o el cubo 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 almacenamiento de objetos en la nube 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
Procedimiento CREATE_CLOUD_TABLE
Con este procedimiento se crea una tabla en la nube. Todos los datos de la tabla en la nube se almacenan en el almacenamiento de objetos gestionado por Oracle (las tablas en la 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 en la nube. |
|
Lista delimitada por comas de nombres de columna y tipos de datos 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
normal. 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 Configuring Privilege and Role Authorization 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
Con este procedimiento se crea una tabla particionada externa en archivos de la nube o desde archivos de un directorio. 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 para particiones individuales. Si utiliza el parámetro |
|
Este parámetro especifica una lista delimitada por comas de los URI de archivo de origen o uno o más directorios y archivos de origen. URI de archivo de origen de nube Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de Cloud. 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 sólo 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 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 de subdivisión, el orden de las columnas especificadas Para ver todas las opciones del parámetro |
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 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
soporta archivos externos en los servicios de almacenamiento de objetos en la nube soportados, incluidos:-
Oracle Cloud Infrastructure Object Storage
-
Almacenamiento de bloques de Azure
-
Amazon S3
-
Compatible con Amazon S3, incluidos: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage y Wasabi Hot Cloud Storage.
-
GitHub Repositorio
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 uno de los siguientes:VARCHAR2(n) NUMBER(n) NUMBER(p,s) NUMBER DATE TIMESTAMP(9)
-
El delimitador de registro por defecto es
detected newline
. Condetected newline
,DBMS_CLOUD
intenta buscar automáticamente el carácter de nueva línea correcto que se va a utilizar automáticamente como separador de registro.DBMS_CLOUD
busca primero el carácter de línea nueva\r\n
de Windows. Si encuentra el carácter de línea nueva de Windows, este se utiliza como delimitador de registro para todos los archivos del procedimiento. Si no se encuentra un carácter de línea nueva de Windows,DBMS_CLOUD
busca el carácter de línea nueva de UNIX/Linux\n
y si encuentra uno utiliza\n
como delimitador de registro para todos los archivos del procedimiento. Si los archivos de origen utilizan una combinación de diferentes delimitadores de registro, puede que aparezca un error como, por ejemplo, "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 crea con
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
incluyen dos columnas invisibles:file$path
yfile$name
. Estas columnas ayudan a identificar el archivo del que procede un registro.-
file$path
: especifica el texto de la ruta 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
Con este procedimiento se crea una tabla externa en archivos de la nube o a partir de archivos de un directorio. 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 cuando se especifica un directorio con |
|
Este parámetro especifica una lista delimitada por comas de los URI de archivo de origen o uno o más directorios y archivos de origen. URI de archivo de origen de nube Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de Cloud. 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 sólo 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 tablas externas que se crean en un archivo de Object Storage. Por ejemplo:
El formato de los URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición 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 utilizar 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 de directorios separada por comas: 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 comilla, 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 significa que los campos y sus tipos 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 de formato Avro, ORC o Parquet, consulte CREATE_EXTERNAL_TABLE Procedimiento para archivos de Avro, ORC o Parquet. |
Notas de Uso
-
El procedimiento
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
soporta archivos externos en los servicios de almacenamiento de objetos en la nube soportados, incluidos:-
Oracle Cloud Infrastructure Object Storage
-
Almacenamiento de bloques de Azure
-
Amazon S3
-
Compatible con Amazon S3, incluidos: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage y Wasabi Hot Cloud Storage.
-
GitHub Repositorio
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 por defecto es
detected newline
. Condetected newline
,DBMS_CLOUD
intenta buscar automáticamente el carácter de nueva línea correcto que se va a utilizar automáticamente como separador de registro.DBMS_CLOUD
busca primero el carácter de línea nueva\r\n
de Windows. Si encuentra el carácter de línea nueva de Windows, este se utiliza como delimitador de registro para todos los archivos del procedimiento. Si no se encuentra un carácter de línea nueva de Windows,DBMS_CLOUD
busca el carácter de línea nueva de UNIX/Linux\n
y si encuentra uno utiliza\n
como delimitador de registro para todos los archivos del procedimiento. Si los archivos de origen utilizan una combinación de diferentes delimitadores de registro, puede que aparezca un error como, por ejemplo, "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 de Apache Iceberg en las configuraciones soportadas.
Para obtener una descripción de las configuraciones admitidas, consulte Acerca de la consulta de tablas Apache Iceberg.
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 nombres de recursos de Amazon (ARN) de AWS. |
|
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 que se encuentran en los archivos de datos subyacentes (Parquet, Avro, ORC). Los tipos de datos de Oracle se derivan mediante las asignaciones de Parquet/Avro/ORC entre Iceberg y los tipos de datos de 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 Para obtener ejemplos y más información: consulte los siguientes ejemplos, Soporte de Iceberg en ejemplos de OCI Data Flow, Formatos de URI DBMS_CLOUD. |
Ejemplo de tablas de AWS Iceberg con un catálogo de AWS Glue
El parámetro format
al crear tablas en una tabla de AWS Iceberg mediante un catálogo de AWS Glue es el siguiente:
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
.
Ejemplo de tabla de AWS Iceberg mediante un URI de archivo de metadatos
format
al crear tablas en una tabla de AWS Iceberg mediante un URI de archivo de metadatos es el siguiente:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
Ejemplo de tabla de OCI Iceberg mediante el catálogo HadoopCatalog
format
al crear tablas en una tabla de OCI Iceberg creada por OCI Data Flow mediante el catálogo HadoopCatalog es el siguiente: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 utilizada al generar la tabla, en formato URI nativo.iceberg_table_path
: ruta de accesodatabase_name.table name
utilizada al crear la tabla.
Ejemplo de tabla OCI Iceberg mediante el URI del archivo de metadatos
format
al crear tablas en una tabla de OCI Iceberg mediante el URI del archivo de metadatos es el siguiente:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
access_protocol
contiene un objeto JSON con un elemento de la siguiente manera:
protocol_type
: debe ser'iceberg'
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento CREATE_EXTERNAL_TABLE para archivos Avro, ORC o Parquet
format
type
definido en 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.
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 cuando se especifica un directorio con |
|
Este parámetro especifica una lista delimitada por comas de los URI de archivo de origen o uno o más directorios y archivos de origen. URI de archivo de origen de nube Puede utilizar comodines y expresiones regulares en los nombres de archivo de los URI de archivo de origen de Cloud. 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 sólo 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 tablas externas que se crean en un archivo de Object Storage. Por ejemplo:
El formato de los URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. Consulte Condición REGEXP_LIKE para obtener más información sobre la condición Directory 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 utilizar 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 de directorios separada por comas: 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 comilla, utilice dos comillas. Por ejemplo: |
|
(Opcional) Este campo, cuando se especifica, sustituye el parámetro Si se especifica Para los archivos de Parquet, consulte DBMS_CLOUD Asignación de tipo de datos de Parquet a Oracle. Para los archivos ORC, consulte DBMS_CLOUD Package ORC to Oracle Data Type Mapping para obtener información. Para los archivos de Avro, consulte DBMS_CLOUD Asignación de tipo de datos de Avro a Oracle para obtener más información. |
|
Se ignora para los archivos Avro, ORC o Parquet. Los campos del origen coinciden con las columnas de la tabla externa por nombre. Los tipos de datos de origen se convierten en el tipo de datos de columna de tabla externa. Para los archivos ORC, consulte DBMS_CLOUD Package ORC to Oracle Data Type Mapping Para los archivos de Parquet, consulte DBMS_CLOUD Asignación de tipo de datos de Parquet a Oracle. Para los archivos de Avro, consulte DBMS_CLOUD Asignación de tipo de datos de Avro a Oracle para obtener más información. |
|
Para obtener más información sobre los archivos de origen Avro, ORC o Parquet |
Ejemplos de ORC
format => '{"type":"orc", "schema": "all"}'
format => json_object('type' value 'orc', 'schema' value 'first')
Ejemplos de Avro
format => '{"type":"avro", "schema": "all"}'
format => json_object('type' value 'avro', 'schema' value 'first')
Ejemplos de Parquet
format => '{"type":"parquet", "schema": "all"}'
format => json_object('type' value 'parquet', 'schema' value 'first')
Asignación de nombres de columna de Avro, ORC o Parquet a nombres de columna de Oracle
Consulte DBMS_CLOUD Asignación de nombres de columna de Avro, ORC y Parquet a Oracle en el paquete 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
Procedimiento CREATE_EXTERNAL_TEXT_INDEX
Con este procedimiento se 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 las nuevas adiciones o supresiones realizadas 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 |
Especifica el URI de carpeta o cubo del almacén de objetos. 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. |
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
Con este procedimiento se 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, u 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 para 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 Cloud. 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 sólo 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
soporta archivos externos en los servicios de almacenamiento de objetos en la nube soportados, incluidos:-
Oracle Cloud Infrastructure Object Storage
-
Almacenamiento de bloques de Azure
-
Amazon S3
-
Compatible con Amazon S3, incluidos: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage y Wasabi Hot Cloud Storage.
-
GitHub Repositorio
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 crea con
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
incluyen dos columnas invisiblesfile$path
yfile$name
. Estas columnas ayudan a identificar el archivo del que procede un registro.-
file$path
: especifica el texto de la ruta 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 |
Nota de Uso
-
DBMS_CLOUD.DELETE_ALL_OPERATIONS
no suprime las operaciones que se están ejecutando actualmente (las operaciones con el estado "En ejecución").
Tema principal: DBMS_CLOUD para objetos y archivos
DELETE_FILE Procedure
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 de escritura en el 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
DELETE_OBJECT Procedure
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 de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. |
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
Procedimiento DROP_EXTERNAL_TEXT_INDEX
Este procedimiento borra el índice de texto en los archivos de Object Storage.
El procedimiento DROP_EXTERNAL_TEXT_INDEX
borra el índice especificado creado con el procedimiento CREATE_EXTERNAL_TEXT_INDEX
.
Sintaxis
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name IN VARCHAR2,
);
Parámetros
parámetro | Descripción |
---|---|
index_name |
Especifica el nombre del índice que va a borrar. El nombre del índice debe coincidir con el nombre proporcionado en el momento de la creación del índice. Este parámetro es obligatorio. |
Ejemplo
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'EMP',
);
END;
/
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento EXPORT_DATA
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 Oracle Datapump.
Sintaxis
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list IN CLOB,
format IN CLOB,
credential_name IN VARCHAR2 DEFAULT NULL,
query IN CLOB);
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list IN CLOB DEFAULT NULL,
format IN CLOB DEFAULT NULL,
credential_name IN VARCHAR2 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 en un directorio. |
|
Hay diferentes formas, según el valor del parámetro format y según si incluye un parámetro de credencial:
El formato de los URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato 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 información con el valor de formato 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 ID 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 con 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. -
Mediante el controlador de acceso ORACLE_DATAPUMP para escribir los 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 por defecto es 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 de ORACLE_DATAPUMP (DBMS_CLOUD.EXPORT_DATA
con el parámetro format
opción type
opción datapump
):
-
EXPORT_DATA
utilizaDATA_PUMP_DIR
como directorio de registro por defecto. Por lo tanto, el privilegio de escritura enDATA_PUMP_DIR
es necesario cuando se utiliza la salidaORACLE_DATAPUMP
. -
La exportación de Autonomous Database mediante
DBMS_CLOUD.EXPORT_DATA
con el parámetroformat
, opcióntype
datapump
solo soporta almacenes de objetos o salida de directorio de Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Object Storage Classic. -
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 soporten el parámetroformat
type
con el valor 'datapump
', solo debe proporcionar el nombre de archivo principal. Los procedimientos que admiten el tipo de formato 'datapump
' detectan y descartan automáticamente los fragmentos.Al utilizar
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, con el procedimiento se crean archivos adicionales de
file_uri_list
. -
El procedimiento no sobrescribe los archivos. Si existe un archivo de volcado en
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
notifica 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 de 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 medianteimpdp
de Oracle Data Pump. 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 admiten 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
notifica 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 de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, y bucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.
En 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 la exportación de datos de DBMS_CLOUD.EXPORT_DATA
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 de 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 de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. |
|
Nombre del directorio en la base de datos. Foot 1 |
|
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 de página 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
El formulario 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 un 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 de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, y bucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.
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. |
Notas de Uso
-
Para ejecutar
DBMS_CLOUD.LIST_FILES
con un usuario que no sea ADMIN, debe otorgar privilegios de lectura en el directorio a ese usuario. Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios de lectura aadb_user
:GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
-
Esta es una función de tabla con pipeline 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.
Ejemplo
Esta es una función con pipeline 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
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 archivo o de objeto. El formato del URI depende del servicio de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. |
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 de retorno 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 el soporte para los campos
CREATED
yLAST_MODIFIED
por almacén de objetos:Almacén de Objetos CREATED
LAST_MODIFIED
Oracle Cloud Infrastructure nativo Devuelve el registro de hora Devuelve el registro de hora Swift de Oracle Cloud Infrastructure Devuelve NULL
Devuelve el registro de hora Oracle Cloud Infrastructure Classic Devuelve NULL
Devuelve el registro de hora Amazon S3 Devuelve NULL
Devuelve el registro de hora Compatibilidad con Amazon S3 Devuelve NULL
Devuelve el registro de hora Azure Devuelve el registro de hora Devuelve el registro de hora GitHub Repositorio -
El valor del total de control es el total de control MD5. Es un número 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
. -
Esta es una función de tabla con pipeline con el tipo de retorno
DBMS_CLOUD_TYPES.list_object_ret_t
.
Ejemplo
Esta es una función con pipeline 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 de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, y bucketname
es el nombre del cubo. Consulte Descripción de los espacios de nombres de Object Storage para obtener más información.
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento MOVE_OBJECT
Con este procedimiento se mueve un objeto de un cubo o carpeta de Cloud Object Storage a otro.
La carpeta o el cubo de origen y destino pueden estar en el mismo proveedor de almacenamiento 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.
La ubicación de destino también utiliza por defecto el nombre de la credencial de origen cuando no se proporciona el nombre de la 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 al almacenamiento de objetos en la nube de origen. Puede utilizar Si no proporciona un valor |
|
Especifica el URI, que apunta a la ubicación de la carpeta o el cubo 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 para la carpeta o el cubo 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 almacenamiento de objetos en la nube 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
PUT_OBJECT Procedure
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 valor 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);
DBMS_CLOUD.PUT_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
contents IN BLOB,
file_name IN VARCHAR2);
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 de Cloud Object Storage que utilice. Para obtener más información, consulte DBMS_CLOUD Formato de URI. |
|
Nombre del directorio en Autonomous Database. Foot 2 |
|
Nombre del archivo en el directorio especificado. |
Nota a pie de página 2
Para ejecutar DBMS_CLOUD.PUT_OBJECT
con un usuario que no sea ADMIN, debe otorgar privilegios de 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 los datos de 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
Según su almacenamiento de objetos en la nube, el tamaño del objeto que transfiera está limitado de la siguiente forma:
Servicio de almacenamiento de objetos en la nube | Límite de tamaño de transferencia de objeto |
---|---|
Oracle Cloud Infrastructure Object Storage |
50 GB |
Amazon S3 |
5 GB |
Almacenamiento de bloques de Azure |
256 MB |
Compatibilidad con Amazon S3 |
Lo define el proveedor del almacén de objetos. Para obtener más información, consulte la documentación del proveedor. |
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
Con este procedimiento se simplifica la actualización de una tabla particionada externa desde archivos de 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. Es necesario crear la tabla de destino para 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 y columnas suprimidas. Actualizaciones a columnas existentes, por ejemplo, un cambio en el tipo de datos devuelve errores. Valor por Defecto: False |
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento VALIDATE_EXTERNAL_PART_TABLE
Con este procedimiento se validan los archivos de origen para una tabla particionada externa, se genera información de log y se almacenan 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_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, solo 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 de 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 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 particionadas externas como con tablas particionadas híbridas. Esto lee potencialmente los 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 lee en qué orden.
Tema principal: DBMS_CLOUD para objetos y archivos
Procedimiento VALIDATE_HYBRID_PART_TABLE
Con este procedimiento se validan los archivos de origen para una tabla particionada híbrida, se genera información de log y se almacenan las filas que no coinciden con las opciones de formato especificadas para la tabla híbrida en una tabla de archivos incorrectos 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, solo se valida una partición específica. Si no se especifica, lea de 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 de 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
Los subprogramas para operaciones de archivos masivos dentro del paquete DBMS_CLOUD.
Subprograma | Descripción |
---|---|
Procedimiento BULK_COPY |
Este procedimiento copia archivos de un cubo de Cloud Object Storage a otro. |
Procedimiento BULK_DELETE |
El procedimiento suprime archivos del cubo o la carpeta de Cloud Object Storage. |
Procedimiento BULK_DOWNLOAD |
Este procedimiento descarga archivos del cubo del almacén de objetos en la nube a un directorio de Autonomous Database. |
Procedimiento BULK_MOVE |
Este procedimiento mueve archivos de un cubo de Cloud Object Storage a otro. |
Procedimiento BULK_UPLOAD |
Este procedimiento carga archivos de un directorio de Autonomous Database en Cloud Object Storage. |
- Procedimiento BULK_COPY
Este procedimiento copia en bloque archivos de un cubo de Cloud Object Storage a otro. El formulario sobrecargado permite utilizar el parámetrooperation_id
. - Procedimiento BULK_DELETE
Este procedimiento suprime archivos de Cloud Object Storage en bloque. El formulario sobrecargado permite utilizar el parámetrooperation_id
. Puede filtrar la lista de archivos que se van a suprimir 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
. - Procedimiento BULK_MOVE
Este procedimiento mueve archivos masivos 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 API de REST
Procedimiento BULK_COPY
Con este procedimiento se copian en bloque 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 van a suprimir mediante un patrón de expresión regular compatible con el operador REGEXP_LIKE
.
La carpeta o el cubo de origen y destino pueden estar en el mismo proveedor de almacenamiento 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.
Por defecto, la ubicación de destino también utiliza el nombre de credencial de origen.
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 a la ubicación de la carpeta o el cubo 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 para la carpeta o el cubo de Object Storage de destino, donde se deben copiar 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 almacenamiento de objetos en la nube 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 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
Procedimiento BULK_DELETE
Este procedimiento suprime archivos de Cloud Object Storage de forma masiva. El formulario sobrecargado permite utilizar el parámetro operation_id
. Puede filtrar la lista de archivos que se van a suprimir 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 Autonomous Database. 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 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
Procedimiento BULK_DOWNLOAD
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 Autonomous Database. 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 el 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
Procedimiento BULK_MOVE
Este procedimiento mueve archivos masivamente de un cubo o carpeta de Cloud Object Storage a otro. El formulario sobrecargado permite utilizar el parámetro operation_id
.
Puede filtrar la lista de archivos que se van a suprimir mediante un patrón de expresión regular compatible con el operador REGEXP_LIKE
.
La carpeta o el cubo de origen y destino pueden estar en el mismo proveedor de almacenamiento 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.
La ubicación de destino también utiliza por defecto el nombre de la credencial de origen cuando no se proporciona el nombre de la 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.
Se cambia el nombre del objeto 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 al almacenamiento de objetos en la nube de origen. Puede utilizar Si no proporciona un valor |
|
Especifica el URI, que apunta a la ubicación de la carpeta o el cubo 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 para la carpeta o el cubo 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 almacenamiento de objetos en la nube 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 destino apuntan al mismo cubo o carpeta de Object Storage.
Tema principal: DBMS_CLOUD para la gestión masiva de archivos
Procedimiento BULK_UPLOAD
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 Autonomous Database desde el que se cargan los archivos. Este parámetro es obligatorio. |
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
DBMS_CLOUD API de REST
En esta sección se tratan las API de REST de DBMS_CLOUD
que se proporcionan con Autonomous Database.
API de REST | Descripción |
---|---|
Esta función devuelve las cabecera de respuesta HTTP como datos de JSON en un objeto JSON en Autonomous Database. | |
Esta función devuelve la respuesta HTTP en formato RAW en Autonomous Database. Esto resulta útil si se espera que la respuesta HTTP tenga formato binario. | |
Esta función devuelve el código de estado de respuesta HTTP como 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 y un código de respuesta de devolución y carga útil. | |
Con este procedimiento se define el tamaño máximo de caché para la sesión actual. |
- DBMS_CLOUD Visión general de la API de REST
Cuando utilice PL/SQL en su aplicación y necesite llamar a las API de REST en la nube, puede utilizarDBMS_CLOUD.SEND_REQUEST
para enviar las solicitudes de la API de REST. - DBMS_CLOUD Constantes de la API de REST
Describe las constantes deDBMS_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 REST deDBMS_CLOUD
cuando defina el parámetrocache
en true conDBMS_CLOUD.SEND_REQUEST
. En la vistaSESSION_CLOUD_API_RESULTS
se describen las columnas que puede utilizar al guardar los resultados de la API de REST. - Función GET_RESPONSE_HEADERS
Esta función devuelve las cabecera de respuesta HTTP como datos de JSON en un objeto JSON. - Función GET_RESPONSE_RAW
Esta función devuelve la respuesta HTTP en formato RAW. Esto resulta ú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 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. - Función y procedimiento SEND_REQUEST
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, así como un ejemplo para mostrar todos los compartimentos del arrendamiento.
Tema principal: DBMS_CLOUD Subprogramas y API de REST
DBMS_CLOUD Visión general de la API de REST
Cuando utilice PL/SQL en su aplicación y necesite llamar a las API de REST en la nube, puede utilizar DBMS_CLOUD.SEND_REQUEST
para enviar las solicitudes de la API de REST.
Las funciones de la API de REST de DBMS_CLOUD
permiten realizar solicitudes HTTP
mediante DBMS_CLOUD.SEND_REQUEST
, así como 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 Puntos finales y referencia de API 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 Nota al pie 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.
- GitHub Repositorio
Consulte GitHub API REST para obtener más información.
Tema principal: DBMS_CLOUD API de REST
DBMS_CLOUD Constantes de la API de REST
Describe las constantes de 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 va a utilizar para una solicitud HTTP se describe normalmente en la documentación de la API de REST de Cloud.
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 de DBMS_CLOUD
cuando defina el parámetro cache
en true con DBMS_CLOUD.SEND_REQUEST
. En la vista SESSION_CLOUD_API_RESULTS
se describen las columnas que puede utilizar al guardar 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, utilice la función DBMS_CLOUD.SEND_REQUEST
para devolver los 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 los resultados históricos de las solicitudes de la API de REST DBMS_CLOUD
puede ser útil 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). Una vez finalizada la sesión, los datos guardados ya no estarán disponibles.
Use DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
and DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
to view and set the DBMS_CLOUD
REST API cache size, and to disable caching.
- Parámetro DBMS_CLOUD de resultados de la API de REST cache_scope
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 REST deDBMS_CLOUD
cuando defina el parámetrocache
en true conDBMS_CLOUD.SEND_REQUEST
. En la vistaSESSION_CLOUD_API_RESULTS
se describen las columnas que puede utilizar al guardar los resultados de la API de REST.
Tema principal: DBMS_CLOUD API de REST
Parámetro cache_scope de resultados de la API de REST DBMS_CLOUD
Al guardar los resultados de la API de REST DBMS_CLOUD
con DBMS_CLOUD.SEND_REQUEST
, se proporciona acceso a los resultados en SESSION_CLOUD_API_RESULTS
según el valor de cache_scope
.
Por defecto, el valor de 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 la 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 de DBMS_CLOUD.SEND_REQUEST
generados por los procedimientos que llaman con derechos del que hace la llamada. 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
:
-
Ejecute directamente
DBMS_CLOUD.SEND_REQUEST
como 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 del responsable de llamada de encapsulador 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 un procedimiento de derechos del depurador y el procedimiento es propiedad de otro usuario. Al llamar 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 otro responsable de la definición llama a
DBMS_CLOUD.SEND_REQUEST
, y los resultados de la API de REST se guardan con ese propietario del procedimiento de definición. En este caso, por defecto, cuandocache_scope
esPRIVATE'
, la sesión del denominador 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 de llamada, 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 SESSION_CLOUD_API_RESULTS de la API de REST
Puede guardar los resultados de la API de REST de DBMS_CLOUD
cuando defina el parámetro cache
en true con DBMS_CLOUD.SEND_REQUEST
. En la vista SESSION_CLOUD_API_RESULTS
se describen las columnas que puede utilizar al guardar 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, se depuran los datos de SESSION_CLOUD_API_RESULTS
.
Columna | Descripción |
---|---|
URI |
URL de solicitud de la API de REST de DBMS_CLOUD
|
TIMESTAMP |
Registro de hora de respuesta de la API de REST de DBMS_CLOUD
|
CLOUD_TYPE |
El tipo de nube de la API de REST de DBMS_CLOUD , como Oracle Cloud Infrastructure, AMAZON_S3 y AZURE_BLOB
|
REQUEST_METHOD |
Método de solicitud de la API de REST de DBMS_CLOUD , como GET , PUT , HEAD |
REQUEST_HEADERS |
Cabeceras de solicitud de la API de REST de DBMS_CLOUD
|
REQUEST_BODY_TEXT |
Cuerpo de solicitud de la API de REST de DBMS_CLOUD en CLOB |
RESPONSE_STATUS_CODE |
Código de estado de la respuesta de la API de REST de DBMS_CLOUD , como 200(OK) , 404(Not Found) |
RESPONSE_HEADERS |
Cabeceras de respuesta de la API de REST de DBMS_CLOUD
|
RESPONSE_BODY_TEXT |
Cuerpo de respuesta de la API de REST de 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 cabecera de respuesta HTTP como datos de 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 devuelta 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 resulta ú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 devuelta 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 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 devuelta 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 devuelta 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 la autenticación 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 la 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; solo se transfieren cabeceras personalizadas. |
|
Una 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, vaya para buscar la API para su solicitud en el panel izquierdo. Por ejemplo, API de Database Services → Autonomous Database → StopAutonomousDatabase. En esta página se muestra el directorio raíz de la API (y el punto final base). A continuación, agregue el punto final base con la ruta relativa obtenida para el enlace WorkRequest de la solicitud de trabajo. |
wait_for_states |
La espera de estados es un estado de tipo: Se permiten varios estados para |
timeout |
Especifica el timeout, en segundos, para 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 las 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 cabecera de solicitud transferidas a |
Notas de Uso
-
Si utiliza Oracle Cloud Infrastructure, debe utilizar un valor de credencial basada en clave de conexión para
credential_name
. Consulte Procedimiento CREATE_CREDENTIAL para obtener más información. -
Los parámetros opcionales
async_request_url
,wait_for_states
ytimeout
permiten gestionar solicitudes de larga ejecución. Con este tipo de forma asíncrona 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 realiza un sondeo deasync_request_url
hasta que el estado de devolución sea uno de los estados esperados o se superetimeout
(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
Con este procedimiento se 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 la API de REST
Muestra ejemplos que utilizan DBMS_CLOUD.SEND_REQUEST
para crear y suprimir un cubo de Oracle Cloud Infrastructure Object Storage, así como un ejemplo para mostrar todos los compartimentos del arrendamiento.
En estos ejemplos se muestran las API de solicitud de Oracle Cloud Infrastructure y es necesario 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 Procedimiento CREATE_CREDENTIAL para obtener información sobre DBMS_CLOUD.CREATE_CREDENTIAL
.
Ejemplo de creación de cubo
Muestra un ejemplo mediante 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 información sobre la API del servicio 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 de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, 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 mediante 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 información sobre la API del servicio 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 de nombres de almacenamiento de objetos de Oracle Cloud Infrastructure, 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 enumeración de compartimentos
Muestra un ejemplo mediante 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 información sobre la API del servicio 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 la API de Identity and Access Management (IAM) en Puntos finales y referencia de API para obtener más información. Por ejemplo, donde region
es: uk-london-1
.
Ejemplo de solicitud asíncrona
Muestra un ejemplo mediante el método DBMS_CLOUD.SEND_REQUEST
con HTTP POST
para realizar la operación de parada de Autonomous Database y esperar a que se produzca 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 la API de Identity and Access Management (IAM) en Puntos finales y referencia de API 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
Notas
Nota al pie 3: El soporte para llamadas de API de REST de Azure Cloud está limitado al dominio "blob.windows.net".