Exportación de datos al almacén de objetos como texto mediante DBMS_CLOUD.EXPORT_DATA
DBMS_CLOUD.EXPORT_DATA
para exportar datos como texto desde una instancia de Autonomous Database al almacén de objetos en la nube. Las opciones de exportación de formato de texto son CSV, JSON o XML.
Exportación de datos JSON a Cloud Object Storage
Muestra los pasos para exportar datos de tabla de Autonomous Database a Cloud Object Storage como datos JSON especificando una consulta.
Este método de exportación soporta todos los almacenes de objetos en la nube que soporta Autonomous Database. Además, puede utilizar una entidad de recurso de Oracle Cloud Infrastructure para acceder al almacén de objetos de Oracle Cloud Infrastructure, a los nombres de recursos de Amazon (ARN) con el fin de acceder al servicio de almacenamiento simple de AWS (S3), a una entidad de servicio de Azure con el fin de acceder al almacenamiento BLOB de Azure o a una cuenta de servicio de Google con el fin de acceder a los recursos de Google Cloud Platform (GCP).
Notas sobre la exportación con DBMS_CLOUD.EXPORT_DATA
:
-
El parámetro
query
que proporcione puede ser una consulta avanzada, si es necesario, como una consulta que incluya uniones o subconsultas. -
Especifique el parámetro
format
con la opcióncompression
para comprimir los archivos de salida. -
Cuando ya no necesite los archivos que exporte, utilice el procedimiento
DBMS_CLOUD.DELETE_OBJECT
o utilice comandos nativos de almacenamiento de objetos en la nube para suprimir los archivos.
Exportación de datos como CSV a Cloud Object Storage
Muestra los pasos para exportar datos de tabla de Autonomous Database a Cloud Object Storage como datos CSV especificando una consulta.
Este método de exportación soporta todos los almacenes de objetos en la nube soportados por Autonomous Database. También puede utilizar nombres de recursos de Amazon (ARN) para acceder a AWS Simple Storage Service (S3), una entidad de servicio de Azure para acceder al almacenamiento BLOB de Azure o una cuenta de servicio de Google para acceder a los recursos de Google Cloud Platform (GCP).
Notas sobre la exportación con DBMS_CLOUD.EXPORT_DATA
:
-
El parámetro
query
que proporcione puede ser una consulta avanzada, si es necesario, como una consulta que incluya uniones o subconsultas. -
Especifique el parámetro
format
con la opcióncompression
para comprimir los archivos de salida. -
Cuando ya no necesite los archivos que exporte, utilice el procedimiento
DBMS_CLOUD.DELETE_OBJECT
o utilice comandos nativos de almacenamiento de objetos en la nube para suprimir los archivos.
Exportación de datos como Parquet al almacenamiento de objetos en la nube
Muestra los pasos para exportar datos de tabla de Autonomous Database a Cloud Object Storage como datos de Parquet especificando una consulta.
Este método de exportación soporta todos los almacenes de objetos en la nube que soporta Autonomous Database. Además, puede utilizar una entidad de recurso de Oracle Cloud Infrastructure para acceder al almacén de objetos de Oracle Cloud Infrastructure, a los nombres de recursos de Amazon (ARN) con el fin de acceder al servicio de almacenamiento simple de AWS (S3), a una entidad de servicio de Azure con el fin de acceder al almacenamiento BLOB de Azure o a una cuenta de servicio de Google con el fin de acceder a los recursos de Google Cloud Platform (GCP).
Notas sobre la exportación con DBMS_CLOUD.EXPORT_DATA
:
-
El parámetro
query
que proporcione puede ser una consulta avanzada, si es necesario, como una consulta que incluya uniones o subconsultas. -
Especifique el parámetro
format
con la opcióncompression
para comprimir los archivos de salida. El valor por defectocompression
paratype
parquet
essnappy
. -
Cuando ya no necesite los archivos que exporte, utilice el procedimiento
DBMS_CLOUD.DELETE_OBJECT
o utilice comandos nativos de almacenamiento de objetos en la nube para suprimir los archivos. -
Consulte DBMS_CLOUD Asignación de tipo de datos de Oracle a Parquet para obtener más información sobre la asignación de tipo a Parquet de Oracle.
Los siguientes tipos no están soportados o tienen limitaciones en su soporte para exportar Parquet con
DBMS_CLOUD.EXPORT_DATA
:Type Oracle Notas: BFILE
No soportado
BLOB
No soportado
DATE
Soportado con la siguiente limitación: el formato
DATE
solo admite fecha, mes y año. Las horas, los minutos y los segundos no están soportados.Consulte DBMS_CLOUD Asignación de tipo de datos de Oracle a Parquet para obtener más información sobre las limitaciones de formato NLS para exportar
DATE
a Parquet.INTERVAL DAY TO SECOND
Se admite y se trata como cadena internamente
INTERVAL YEAR TO MONTH
Se admite y se trata como cadena internamente
LONG
No soportado
LONG RAW
No soportado
NUMBER
Se admite con las siguientes limitaciones:
- Puede tener una precisión máxima de 38 y una escala igual a menor que la precisión.
- Si no se proporciona precisión ni escala para el tipo de columna
NUMBER
, se utiliza la precisión por defecto de 38 y la escala de 20. - La escala negativa no está soportada para los tipos
NUMBER
.
Object Types
No soportado
TIMESTAMP
Se admite con las siguientes limitaciones:
- Si hay varias columnas con diferente precisión, se tomará la mayor precisión.
TIMESTAMP WITH TIME ZONE
El tipo de dato de Oracle solo utilizará el registro de hora.
Consulte DBMS_CLOUD Asignación de tipo de datos de Oracle a Parquet para obtener más información sobre las limitaciones de formato NLS para exportar
TIMESTAMP
a Parquet.
Exportación de datos como XML a Cloud Object Storage
Muestra los pasos para exportar datos de tabla de Autonomous Database a Cloud Object Storage como datos XML especificando una consulta.
Este método de exportación soporta todos los almacenes de objetos en la nube soportados por Autonomous Database. También puede utilizar nombres de recursos de Amazon (ARN) para acceder a AWS Simple Storage Service (S3), una entidad de servicio de Azure para acceder al almacenamiento BLOB de Azure o una cuenta de servicio de Google para acceder a los recursos de Google Cloud Platform (GCP).
Notas sobre la exportación con DBMS_CLOUD.EXPORT_DATA
:
-
El parámetro
query
que proporcione puede ser una consulta avanzada, si es necesario, como una consulta que incluya uniones o subconsultas. -
Especifique el parámetro
format
con la opcióncompression
para comprimir los archivos de salida. -
Cuando ya no necesite los archivos que exporte, utilice el procedimiento
DBMS_CLOUD.DELETE_OBJECT
o utilice comandos nativos de almacenamiento de objetos en la nube para suprimir los archivos.
Nombre de archivo para salida de texto (CSV, JSON, Parquet o XML)
Describe la denominación del archivo de salida mediante DBMS_CLOUD.EXPORT_DATA
con salida de archivo de texto CSV, JSON, Parquet o XML.
DBMS_CLOUD.EXPORT_DATA
realiza la consulta especificada con el parámetro query
y envía los resultados a los archivos de texto del cubo del almacén de objetos en la nube o a un directorio. El formato de salida depende del parámetro format
type
que especifique (uno de los siguientes valores: CSV, JSON, Parquet o XML).
Para acelerar el procedimiento y generar la salida lo más rápido posible, DBMS_CLOUD.EXPORT_DATA
divide su trabajo. Esto significa que, según los recursos del sistema, al ejecutar DBMS_CLOUD.EXPORT_DATA
, el procedimiento crea varios archivos de salida en el cubo del almacén de objetos en la nube o en el directorio.
El formato de cada archivo generado es:
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix: (opcional) si se proporciona FileNamePrefix,
DBMS_CLOUD.EXPORT_DATA
utiliza el prefijo del nombre de archivo para generar nombres de archivo para los resultados. FileNamePrefix se especifica mediante el texto proporcionado después del nombre del cubo o directorio en el valor del parámetrofile_uri_list
.No puede proporcionar varios valores para FileNamePrefix en
file_uri_list
. -
client_info_módulo_acción: si no se proporciona un prefijo de nombre de archivo con el parámetro
file_uri_list
,DBMS_CLOUD.EXPORT_DATA
utiliza la combinación de client_info, módulo de aplicación y acción como prefijo de nombre de archivo (cuando esta información está disponible). El procedimiento obtiene estos nombres de la información de la aplicación para la sesión de base de datos que ejecuta la consulta. Consulte DBMS_APPLICATION_INFO en Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 23ai PL/SQL Packages and Types Reference para obtener información sobre client_info, el nombre de module y el nombre de action.Si no se proporciona un prefijo de nombre de archivo con
file_uri_list
y los atributos de sesión de base de datos no están disponibles,DBMS_CLOUD.EXPORT_DATA
utiliza el prefijo de nombre de archivo "data
". -
sequenceNum: número de secuencia asociado a la consulta
DBMS_CLOUD.EXPORT_DATA
. Según la consulta, el servicio de base de datos y el número de ECPU (OCPU si la base de datos utiliza OCPU), hay uno o más valores sequenceNum. Además, según el tamaño de los resultados, hay uno o más archivos de salida para cada valor sequenceNum. -
timestamp: registro de hora cuando se carga el archivo.
-
format_extension: el valor por defecto depende del valor
format
type
:- Formato CSV:
.csv
- Formato JSON:
.json
- Formato PARQUET
.parquet
- Formato XML:
.xml
Para obtener más información, consulte la descripción de la opción
format
fileextension
en DBMS_CLOUD Package Format Options for EXPORT_DATA. - Formato CSV:
-
compression_extension: cuando se incluye el parámetro
format
con la opcióncompression
con el valorgzip
, es"gz"
.Cuando
format
type
esparquet
, también está soportado el valorcompression
snappy
y es el valor por defecto.
Por ejemplo, el prefijo del nombre de archivo en el siguiente procedimiento DBMS_CLOUD.EXPORT_DATA
se especifica en el parámetro file_uri_list
, como dept_export
. El ejemplo genera la salida en el almacén de objetos proporcionado en el formato especificado.
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dept_export',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'json'));
END;
/
Al especificar un prefijo de nombre de archivo, los archivos de salida generados incluyen el prefijo de nombre de archivo, similar al siguiente:
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json
El número de archivos de salida generados depende del tamaño de los resultados, del servicio de la base de datos y del número de ECPU (OCPU si la base de datos utiliza OCPU) en la instancia de Autonomous Database.
En el siguiente ejemplo, el parámetro file_uri_list
no incluye un prefijo de nombre de archivo y se proporciona el parámetro compression
, con el valor gzip
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/',
query => 'SELECT * FROM DEPT',
format => json_object('type' value 'json', 'compression' value 'gzip'));
END;
/
Cuando un prefijo de nombre de archivo no está en el parámetro file_uri_list
, DBMS_CLOUD.EXPORT_DATA
usa un prefijo de nombre de archivo con el formato: client_info_módulo_acción. Para este ejemplo, los archivos de salida generados incluyen el prefijo de nombre de archivo que proporciona DBMS_CLOUD.EXPORT_DATA
y los archivos se comprimen con gzip y se agrega la extensión de archivo .gz
, de la siguiente manera:
Client1_Module1_Action1_1_20210809T173033Z.json.gz
Client1_Module1_Action1_2_20210809T173034Z.json.gz
Client1_Module1_Action1_3_20210809T173041Z.json.gz
Client1_Module1_Action1_4_20210809T173035Z.json.gz
Si la información de sesión client_info_módulo_acción no está disponible cuando ejecuta DBMS_CLOUD.EXPORT_DATA
, el prefijo del nombre de archivo se define en data
. Por ejemplo:
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz
Por ejemplo, el prefijo del nombre de archivo en el siguiente procedimiento DBMS_CLOUD.EXPORT_DATA
se especifica en el parámetro file_uri_list
, como dept_export
. El ejemplo genera la salida en el directorio proporcionado en el formato especificado.
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'DATA_PUMP_DIR:sales.json',
query => 'SELECT * FROM SALES',
format => JSON_OBJECT('type' value 'json'));
END;
/
Al especificar un prefijo de nombre de archivo, el archivo de salida generado incluye el prefijo de nombre de archivo, similar al siguiente:
sales_1_20230705T124523275915Z.csv
Notas sobre la asignación de nombres de archivos con DBMS_CLOUD.EXPORT_DATA
:
-
DBMS_CLOUD.EXPORT_DATA
no crea cubos ni directorios. -
El número de archivos que genera
DBMS_CLOUD.EXPORT_DATA
viene determinado por el número de ECPU (OCPU si la base de datos utiliza OCPU), el servicio de base de datos y el tamaño de los datos de resultado. -
Se aplica lo siguiente al proporcionar un nombre de objeto de directorio en el parámetro
file_uri_list
:-
El directorio proporcionado debe existir y debe tener acceso
WRITE
al directorio. -
El nombre del directorio distingue entre mayúsculas y minúsculas cuando está entre comillas dobles.
-
No se debe proporcionar el parámetro de nombre de credencial.
-
-
Para una 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.
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 Opciones de formato del paquete para 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.
La opción
maxfilesize
del parámetroformat
no se aplica a los archivos Parquet.