DBMS_CLOUD.EXPORT_DATA를 사용하여 객체 저장소로 데이터를 텍스트로 익스포트
DBMS_CLOUD.EXPORT_DATA
을 사용하여 데이터를 Autonomous Database에서 클라우드 객체 저장소로 텍스트로 익스포트합니다. 텍스트 형식 익스포트 옵션은 CSV, JSON 또는 XML입니다.
JSON 데이터를 클라우드 객체 스토리지로 익스포트
질의를 지정하여 Autonomous Database에서 Cloud Object Storage로 테이블 데이터를 JSON 데이터로 익스포트하는 단계를 보여줍니다.
이 익스포트 방법은 Autonomous Database에서 지원하는 모든 클라우드 객체 저장소를 지원하며, Oracle Cloud Infrastructure 리소스 주체를 사용하여 Oracle Cloud Infrastructure 객체 저장소, ARN(Amazon Resource Names)에 액세스하여 AWS Simple Storage Service(S3), Azure BLOB 스토리지에 액세스할 수 있는 Azure 서비스 주체 또는 Google 서비스 계정에 액세스하여 Google Cloud Platform(GCP) 리소스에 액세스할 수 있습니다.
DBMS_CLOUD.EXPORT_DATA
를 사용한 내보내기 참고 사항:
-
필요한 경우
query
매개변수는 조인 또는 하위 질의를 포함하는 질의와 같은 고급 질의일 수 있습니다. -
출력 파일을 압축하려면
format
매개변수를compression
옵션과 함께 지정합니다. -
내보내는 파일이 더 이상 필요하지 않으면
DBMS_CLOUD.DELETE_OBJECT
절차를 사용하거나 고유의 Cloud Object Storage 명령을 사용하여 파일을 삭제합니다.
데이터를 CSV로 클라우드 객체 스토리지로 익스포트
질의를 지정하여 Autonomous Database에서 Cloud Object Storage로 테이블 데이터를 CSV 데이터로 익스포트하는 단계를 보여줍니다.
이 익스포트 방법은 Autonomous Database에서 지원하는 모든 클라우드 객체 저장소를 지원합니다. ARN(Amazon Resource Names)을 사용하여 AWS Simple Storage Service(S3)에 액세스하거나, Azure 서비스 주체를 사용하여 Azure BLOB 스토리지에 액세스하거나, Google 서비스 계정을 사용하여 GCP(Google Cloud Platform) 리소스에 액세스할 수도 있습니다.
DBMS_CLOUD.EXPORT_DATA
를 사용한 내보내기 참고 사항:
-
필요한 경우
query
매개변수는 조인 또는 하위 질의를 포함하는 질의와 같은 고급 질의일 수 있습니다. -
출력 파일을 압축하려면
format
매개변수를compression
옵션과 함께 지정합니다. -
내보내는 파일이 더 이상 필요하지 않으면
DBMS_CLOUD.DELETE_OBJECT
절차를 사용하거나 고유의 Cloud Object Storage 명령을 사용하여 파일을 삭제합니다.
데이터를 Parquet로 클라우드 객체 스토리지로 익스포트
질의를 지정하여 Autonomous Database에서 Cloud Object Storage로 테이블 데이터를 Parquet 데이터로 익스포트하는 단계를 보여줍니다.
이 익스포트 방법은 Autonomous Database에서 지원하는 모든 클라우드 객체 저장소를 지원하며, Oracle Cloud Infrastructure 리소스 주체를 사용하여 Oracle Cloud Infrastructure 객체 저장소, ARN(Amazon Resource Names)에 액세스하여 AWS Simple Storage Service(S3), Azure BLOB 스토리지에 액세스할 수 있는 Azure 서비스 주체 또는 Google 서비스 계정에 액세스하여 Google Cloud Platform(GCP) 리소스에 액세스할 수 있습니다.
DBMS_CLOUD.EXPORT_DATA
를 사용한 내보내기 참고 사항:
-
필요한 경우
query
매개변수는 조인 또는 하위 질의를 포함하는 질의와 같은 고급 질의일 수 있습니다. -
출력 파일을 압축하려면
format
매개변수를compression
옵션과 함께 지정합니다.type
parquet
의 기본compression
은snappy
입니다. -
내보내는 파일이 더 이상 필요하지 않으면
DBMS_CLOUD.DELETE_OBJECT
절차를 사용하거나 고유의 Cloud Object Storage 명령을 사용하여 파일을 삭제합니다. -
Oracle 유형-연회 유형 매핑에 대한 자세한 내용은 DBMS_CLOUD 패키지 Oracle 데이터 유형-연회 매핑을 참조하십시오.
다음 유형은 지원되지 않거나
DBMS_CLOUD.EXPORT_DATA
를 사용하여 Parquet 익스포트에 대한 지원 제한이 있습니다.Oracle 유형 참고 BFILE
지원되지 않음
BLOB
지원되지 않음
DATE
DATE
형식은 날짜, 월 및 연도만 지원합니다. 시간, 분 및 초는 지원되지 않습니다.DATE
을 Parquet로 익스포트하기 위한 NLS 형식 제한 사항에 대한 자세한 내용은 DBMS_CLOUD Package Oracle Data Type to Parquet Mapping을 참조하십시오.INTERVAL DAY TO SECOND
지원되며 내부적으로 문자열로 처리됩니다.
INTERVAL YEAR TO MONTH
지원되며 내부적으로 문자열로 처리됩니다.
LONG
지원되지 않음
LONG RAW
지원되지 않음
NUMBER
다음과 같은 제한 사항으로 지원됩니다.
- 최대 소수점 이하 자릿수는 38이고 소수점 이하 자릿수는 소수점 이하 자릿수일 수 있습니다.
- 열
NUMBER
유형에 대해 소수점 이하 자릿수와 소수점 이하 자릿수가 제공되지 않은 경우 기본적으로 소수점 이하 자릿수 38과 소수점 이하 자릿수 20이 사용됩니다. NUMBER
유형에는 음수 배율이 지원되지 않습니다.
Object Types
지원되지 않음
TIMESTAMP
다음과 같은 제한 사항으로 지원됩니다.
- 소수점 이하 자릿수가 다른 열이 여러 개 있을 경우 소수점 이하 자릿수가 가장 높습니다.
TIMESTAMP WITH TIME ZONE
Oracle 데이터 유형은 시간 기록만 사용합니다.
TIMESTAMP
을 Parquet로 익스포트하기 위한 NLS 형식 제한 사항에 대한 자세한 내용은 DBMS_CLOUD Package Oracle Data Type to Parquet Mapping을 참조하십시오.
데이터를 XML로 클라우드 객체 스토리지로 익스포트
질의를 지정하여 Autonomous Database에서 Cloud Object Storage로 테이블 데이터를 XML 데이터로 익스포트하는 단계를 보여줍니다.
이 익스포트 방법은 Autonomous Database에서 지원하는 모든 클라우드 객체 저장소를 지원합니다. ARN(Amazon Resource Names)을 사용하여 AWS Simple Storage Service(S3)에 액세스하거나, Azure 서비스 주체를 사용하여 Azure BLOB 스토리지에 액세스하거나, Google 서비스 계정을 사용하여 GCP(Google Cloud Platform) 리소스에 액세스할 수도 있습니다.
DBMS_CLOUD.EXPORT_DATA
를 사용한 내보내기 참고 사항:
-
필요한 경우
query
매개변수는 조인 또는 하위 질의를 포함하는 질의와 같은 고급 질의일 수 있습니다. -
출력 파일을 압축하려면
format
매개변수를compression
옵션과 함께 지정합니다. -
내보내는 파일이 더 이상 필요하지 않으면
DBMS_CLOUD.DELETE_OBJECT
절차를 사용하거나 고유의 Cloud Object Storage 명령을 사용하여 파일을 삭제합니다.
텍스트 출력에 대한 파일 이름 지정(CSV, JSON, Parquet 또는 XML)
DBMS_CLOUD.EXPORT_DATA
를 CSV, JSON, Parquet 또는 XML 텍스트 파일 출력과 함께 사용하여 출력 파일 이름 지정을 설명합니다.
DBMS_CLOUD.EXPORT_DATA
는 query
매개변수와 함께 지정된 질의를 수행하고 결과를 클라우드 객체 저장소 버킷 또는 디렉토리에 있는 텍스트 파일로 전송합니다. 출력 형식은 지정한 format
매개변수 type
(CSV, JSON, Parquet 또는 XML 중 하나)에 따라 달라집니다.
프로시저 속도를 높이고 출력을 최대한 빨리 생성하려면 DBMS_CLOUD.EXPORT_DATA
에서 작업을 나눕니다. 즉, 시스템 리소스에 따라 DBMS_CLOUD.EXPORT_DATA
를 실행할 때 프로시저는 클라우드 객체 저장소 버킷 또는 디렉토리에 여러 출력 파일을 만듭니다.
생성된 각 파일의 형식은 다음과 같습니다.
[FileNamePrefix | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]
-
FileNamePrefix: (선택 사항) FileNamePrefix가 제공된 경우
DBMS_CLOUD.EXPORT_DATA
는 파일 이름 접두어를 사용하여 결과에 대한 파일 이름을 생성합니다. FileNamePrefix는file_uri_list
매개변수 값에서 버킷 또는 디렉토리 이름 뒤에 제공된 텍스트를 사용하여 지정됩니다.file_uri_list
에서 FileNamePrefix에 대한 값을 여러 개 제공할 수 없습니다. -
client_info_모듈_작업: 파일 이름 접두어를
file_uri_list
매개변수와 함께 제공하지 않으면DBMS_CLOUD.EXPORT_DATA
는 client_info, 응용 프로그램 module 및 action의 조합을 파일 이름 접두어로 사용합니다(이 정보를 사용할 수 있는 경우). 이 프로시저는 query를 실행하는 데이터베이스 세션에 대한 응용 프로그램 정보에서 이러한 이름을 가져옵니다. client_info, module 이름 및 action 이름에 대한 자세한 내용은 Oracle Database 19c PL/SQL Packages and Types Reference의 DBMS_APPLICATION_INFO 또는 Oracle Database 23ai PL/SQL Packages and Types Reference를 참조하십시오.파일 이름 접두어를
file_uri_list
와 함께 제공하지 않고 데이터베이스 세션 속성을 사용할 수 없는 경우DBMS_CLOUD.EXPORT_DATA
는 파일 이름 접두어 "data
"을 사용합니다. -
sequenceNum:
DBMS_CLOUD.EXPORT_DATA
질의와 연관된 시퀀스 번호입니다. 질의, 데이터베이스 서비스 및 ECPU(데이터베이스에서 OCPU를 사용하는 경우 OCPU) 수에 따라 sequenceNum이 하나 이상 있습니다. 또한 결과 크기에 따라 각 sequenceNum에 대해 하나 이상의 출력 파일이 있습니다. -
timestamp: 파일이 업로드되는 시간 기록입니다.
-
format_extension: 기본값은
format
type
값에 따라 다릅니다.- CSV 형식:
.csv
- JSON 형식:
.json
- PARQUET 형식
.parquet
- XML 형식:
.xml
자세한 내용은 DBMS_CLOUD Package Format Options for EXPORT_DATA의
format
옵션fileextension
에 대한 설명을 참조하십시오. - CSV 형식:
-
compression_extension:
compression
옵션과 함께format
매개변수를gzip
값과 함께 포함하면"gz"
입니다.format
type
가parquet
인 경우compression
값snappy
도 지원되며 기본값입니다.
예를 들어, 다음 DBMS_CLOUD.EXPORT_DATA
프로시저의 파일 이름 접두어는 file_uri_list
매개변수에 dept_export
로 지정됩니다. 예제에서는 제공된 객체 저장소에 지정된 형식으로 출력을 생성합니다.
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;
/
파일 이름 접두어를 지정하면 다음과 유사한 파일 이름 접두어가 생성된 출력 파일에 포함됩니다.
dept_export_1_20210809T173033Z.json
dept_export_2_20210809T173034Z.json
dept_export_3_20210809T173041Z.json
dept_export_4_20210809T173035Z.json
생성된 출력 파일의 수는 결과의 크기, 데이터베이스 서비스 및 Autonomous Database 인스턴스의 ECPU(OCPU를 사용하는 경우 OCPU) 수에 따라 달라집니다.
다음 예제에서 file_uri_list
매개변수는 파일 이름 접두어를 포함하지 않으며 compression
매개변수가 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;
/
파일 이름 접두어가 file_uri_list
매개변수에 없는 경우 DBMS_CLOUD.EXPORT_DATA
는 client_info_module_action 형식의 파일 이름 접두어를 사용합니다. 이 예에서 생성된 출력 파일에는 다음과 같이 DBMS_CLOUD.EXPORT_DATA
에서 제공하는 파일 이름 접두어와 파일이 gzip으로 압축되고 파일 확장자 .gz
가 추가됩니다.
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
client_info_module_action 세션 정보를 DBMS_CLOUD.EXPORT_DATA
을 실행할 때 사용할 수 없는 경우 파일 이름 접두어가 data
로 설정됩니다. 예:
data_1_20210809T173033Z.json.gz
data_2_20210809T173034Z.json.gz
data_3_20210809T173041Z.json.gz
data_4_20210809T173035Z.json.gz
예를 들어, 다음 DBMS_CLOUD.EXPORT_DATA
프로시저의 파일 이름 접두어는 file_uri_list
매개변수에 dept_export
로 지정됩니다. 예제에서는 제공된 디렉토리에 지정된 형식으로 출력을 생성합니다.
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'DATA_PUMP_DIR:sales.json',
query => 'SELECT * FROM SALES',
format => JSON_OBJECT('type' value 'json'));
END;
/
파일 이름 접두어를 지정하면 다음과 유사한 파일 이름 접두어가 생성된 출력 파일에 포함됩니다.
sales_1_20230705T124523275915Z.csv
DBMS_CLOUD.EXPORT_DATA
를 사용한 파일 이름 지정에 대한 참고 사항:
-
DBMS_CLOUD.EXPORT_DATA
는 버킷이나 디렉토리를 만들지 않습니다. -
DBMS_CLOUD.EXPORT_DATA
에서 생성하는 파일 수는 ECPU(데이터베이스에서 OCPU를 사용하는 경우 OCPU) 수, 데이터베이스 서비스 및 결과 데이터의 크기에 따라 결정됩니다. -
file_uri_list
매개변수에 디렉토리 객체 이름을 제공할 때 다음 사항이 적용됩니다.-
제공된 디렉토리가 존재해야 하며 디렉토리에 대한
WRITE
액세스 권한이 있어야 합니다. -
디렉토리 이름은 큰 따옴표로 묶인 경우 대소문자를 구분합니다.
-
인증서 이름 매개변수를 제공하지 않아야 합니다.
-
-
CSV, JSON 또는 XML 출력의 경우, 생성된 파일에 10MB의 데이터가 포함된 경우 기본적으로 새 출력 파일이 생성됩니다. 그러나 결과 데이터가 10MB 미만인 경우 데이터베이스 서비스 및 Autonomous Database 인스턴스에 대한 ECPU(OCPU를 사용하는 경우 OCPU) 수에 따라 여러 출력 파일이 있을 수 있습니다.
기본 출력 파일 조각 크기는 CSV, JSON 또는 XML의 경우 10MB입니다.
format
매개변수maxfilesize
옵션을 사용하여 이 값을 변경할 수 있습니다. 자세한 내용은 DBMS_CLOUD Package Format Options for EXPORT_DATA을 참조하십시오. -
Parquet 출력의 경우 생성된 각 파일이 128MB 미만이며 여러 출력 파일이 생성될 수 있습니다. 그러나 결과 데이터가 128MB 미만인 경우 Autonomous Database 인스턴스에 대한 데이터베이스 서비스 및 ECPU 수(OCPU(데이터베이스에서 OCPU를 사용하는 경우 OCPU)에 따라 여러 출력 파일이 있을 수 있습니다.
Parquet 파일에 대해서는
format
매개변수maxfilesize
옵션이 적용되지 않습니다.