DBMS_CLOUD.EXPORT_DATA를 사용하여 텍스트로 객체 저장소에 데이터 익스포트

DBMS_CLOUD.EXPORT_DATA를 사용하여 데이터를 자율운영 AI 데이터베이스에서 클라우드 객체 저장소로 텍스트로 익스포트합니다. 텍스트 형식 익스포트 옵션은 CSV, JSON 또는 XML입니다.

클라우드 오브젝트 스토리지로 JSON 데이터 익스포트

쿼리를 지정하여 자율운영 AI 데이터베이스에서 클라우드 오브젝트 스토리지로 JSON 데이터로 테이블 데이터를 익스포트하는 단계를 보여줍니다.

이 익스포트 방법은 Autonomous Database에서 지원되는 모든 클라우드 객체 저장소를 지원하며, Oracle Cloud Infrastructure 리소스 주체를 사용하여 Oracle Cloud Infrastructure 객체 저장소, Amazon 리소스 이름(ARN)에 액세스하여 AWS Simple Storage Service(S3), Azure BLOB 스토리지에 액세스하기 위한 Azure 서비스 주체 또는 Google 서비스 계정을 사용하거나 Google Cloud Platform(GCP) 리소스에 액세스할 수 있습니다.

  1. 자율운영 AI 데이터베이스 인스턴스에 접속합니다.

    자세한 내용은 자율운영 AI 데이터베이스에 연결을 참조하십시오.

  2. DBMS_CLOUD.CREATE_CREDENTIAL를 사용하여 클라우드 오브젝트 스토리지 인증서를 저장합니다.

    예:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    usernamepassword에 대해 제공하는 값은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다.

  3. DBMS_CLOUD.EXPORT_DATA를 실행하고 format 매개변수 typejson 값으로 지정하여 결과를 Cloud Object Storage의 JSON 파일로 익스포트합니다.

    JSON 출력 파일을 생성하려면 file_uri_list 매개변수에 대한 두 가지 옵션이 있습니다.

    • file_uri_list 값을 클라우드 오브젝트 스토리지의 기존 버킷에 대한 URL로 설정합니다.

    • file_uri_list 값을 클라우드 오브젝트 스토리지의 기존 버킷에 대한 URL로 설정하고 익스포트된 JSON에 대한 파일 이름을 생성할 때 사용할 파일 이름 접두어를 포함합니다.

    file_uri_list에 파일 이름 접두어를 포함하지 않을 경우 DBMS_CLOUD.EXPORT_DATA는 파일 이름 접두어를 제공합니다. 자세한 내용은 텍스트 출력에 대한 파일 이름 지정(CSV, JSON, Parquet 또는 XML)을 참조하십시오.

    예를 들어, 다음은 file_uri_list에 지정된 파일 이름 접두어가 있는 DBMS_CLOUD.EXPORT_DATA를 보여줍니다.

     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;
     /
    

    이 예에서 *namespace-string*은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.

    레코드 구분자가 이스케이프 문자(예: \r\n 또는 \t)를 포함하는 경우 레코드 구분자를 큰따옴표로 묶습니다. 예를 들어, 레코드 구분자 \r\n를 사용하려면 값을 큰 따옴표로 묶습니다. "\r\n".

     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', 'recorddelimiter' value '"\r\n"' format json));
     END;
     /
    

    이 예에서 *namespace-string*은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.

    매개변수에 대한 자세한 내용은 EXPORT_DATA 프로시저를 참조하십시오.

    DBMS_CLOUD.EXPORT_DATA에서 사용할 수 있는 format 매개변수에 대한 자세한 내용은 EXPORT_DATA에 대한 DBMS_CLOUD 패키지 형식 옵션을 참조하십시오.

DBMS_CLOUD.EXPORT_DATA로 내보내기에 대한 참고 사항:

CSV로 Cloud Object Storage로 데이터 익스포트

쿼리를 지정하여 자율운영 AI 데이터베이스에서 클라우드 오브젝트 스토리지로 테이블 데이터를 CSV 데이터로 익스포트하는 단계를 보여줍니다.

이 익스포트 방법은 자율운영 AI 데이터베이스에서 지원되는 모든 클라우드 객체 저장소를 지원합니다. 또한 ARN(Amazon Resource Names)을 사용하여 AWS Simple Storage Service(S3), Azure BLOB 스토리지에 액세스하기 위한 Azure 서비스 주체 또는 Google 서비스 계정에 액세스하여 GCP(Google Cloud Platform) 리소스에 액세스할 수도 있습니다.

  1. 자율운영 AI 데이터베이스 인스턴스에 접속합니다.

    자세한 내용은 자율운영 AI 데이터베이스에 연결을 참조하십시오.

  2. DBMS_CLOUD.CREATE_CREDENTIAL를 사용하여 클라우드 오브젝트 스토리지 인증서를 저장합니다.

    예:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    usernamepassword에 대해 제공하는 값은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다.

  3. DBMS_CLOUD.EXPORT_DATA를 실행하고 format 매개변수 typecsv 값과 함께 지정하여 Cloud Object Storage에서 결과를 CSV 파일로 익스포트합니다.

    CSV 출력 파일을 생성하려면 file_uri_list 매개변수에 대해 두 가지 옵션이 있습니다.

    • file_uri_list 값을 클라우드 오브젝트 스토리지의 기존 버킷에 대한 URL로 설정합니다.

    • file_uri_list 값을 클라우드 오브젝트 스토리지의 기존 버킷에 대한 URL로 설정하고 내보낸 CSV 파일의 파일 이름을 생성할 때 사용할 파일 이름 접두어를 포함합니다.

    file_uri_list에 파일 이름 접두어를 포함하지 않을 경우 DBMS_CLOUD.EXPORT_DATA는 파일 이름 접두어를 제공합니다. 자세한 내용은 텍스트 출력에 대한 파일 이름 지정(CSV, JSON, Parquet 또는 XML)을 참조하십시오.

    예를 들어, 다음은 file_uri_list에 지정된 파일 이름 접두어가 있는 DBMS_CLOUD.EXPORT_DATA를 보여줍니다.

     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 'csv', 'delimiter' value '|', 'compression' value 'gzip'));
     END;
     /
    

    이 예에서 *namespace-string*은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.

    매개변수에 대한 자세한 내용은 EXPORT_DATA 프로시저를 참조하십시오.

    DBMS_CLOUD.EXPORT_DATA에서 사용할 수 있는 사용 가능한 format 매개변수에 대한 자세한 내용은 EXPORT_DATA용 DBMS_CLOUD 패키지 형식 옵션을 참조하십시오.

DBMS_CLOUD.EXPORT_DATA로 내보내기에 대한 참고 사항:

데이터를 Parquet로 Cloud Object Storage로 익스포트

쿼리를 지정하여 자율운영 AI 데이터베이스에서 클라우드 오브젝트 스토리지로 테이블 데이터를 Parquet 데이터로 익스포트하는 단계를 보여줍니다.

이 익스포트 방법은 Autonomous Database에서 지원되는 모든 클라우드 객체 저장소를 지원하며, Oracle Cloud Infrastructure 리소스 주체를 사용하여 Oracle Cloud Infrastructure 객체 저장소, Amazon 리소스 이름(ARN)에 액세스하여 AWS Simple Storage Service(S3), Azure BLOB 스토리지에 액세스하기 위한 Azure 서비스 주체 또는 Google 서비스 계정을 사용하거나 Google Cloud Platform(GCP) 리소스에 액세스할 수 있습니다.

  1. 자율운영 AI 데이터베이스 인스턴스에 접속합니다.

    자세한 내용은 자율운영 AI 데이터베이스에 연결을 참조하십시오.

  2. DBMS_CLOUD.CREATE_CREDENTIAL를 사용하여 클라우드 오브젝트 스토리지 인증서를 저장합니다.

    예:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    usernamepassword에 대해 제공하는 값은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다.

  3. DBMS_CLOUD.EXPORT_DATA를 실행하고 format 매개변수 typeparquet 값과 함께 지정하여 Cloud Object Storage에서 결과를 parquet 파일로 익스포트합니다.

    Parquet 출력 파일을 생성하려면 file_uri_list 매개변수에 대해 두 가지 옵션이 있습니다.

    • file_uri_list 값을 클라우드 오브젝트 스토리지의 기존 버킷에 대한 URL로 설정합니다.

    • file_uri_list 값을 Cloud Object Storage의 기존 버킷에 대한 URL로 설정하고 내보낸 parquet 파일에 대한 파일 이름을 생성할 때 사용할 파일 이름 접두어를 포함합니다.

    file_uri_list에 파일 이름 접두어를 포함하지 않을 경우 DBMS_CLOUD.EXPORT_DATA는 파일 이름 접두어를 제공합니다. 자세한 내용은 텍스트 출력에 대한 파일 이름 지정(CSV, JSON, Parquet 또는 XML)을 참조하십시오.

    예를 들어, 다음은 file_uri_list에 지정된 파일 이름 접두어가 있는 DBMS_CLOUD.EXPORT_DATA를 보여줍니다.

     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 'parquet', 'compression' value 'snappy'));
     END;
     /
    

    이 예에서 *namespace-string*은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.

    매개변수에 대한 자세한 내용은 EXPORT_DATA 프로시저를 참조하십시오.

    DBMS_CLOUD.EXPORT_DATA에서 사용할 수 있는 format 매개변수에 대한 자세한 내용은 EXPORT_DATA에 대한 DBMS_CLOUD 패키지 형식 옵션을 참조하십시오.

DBMS_CLOUD.EXPORT_DATA로 내보내기에 대한 참고 사항:

클라우드 오브젝트 스토리지에 XML로 데이터 익스포트

쿼리를 지정하여 자율운영 AI 데이터베이스에서 클라우드 오브젝트 스토리지로 테이블 데이터를 XML 데이터로 익스포트하는 단계를 보여줍니다.

이 익스포트 방법은 자율운영 AI 데이터베이스에서 지원되는 모든 클라우드 객체 저장소를 지원합니다. 또한 ARN(Amazon Resource Names)을 사용하여 AWS Simple Storage Service(S3), Azure BLOB 스토리지에 액세스하기 위한 Azure 서비스 주체 또는 Google 서비스 계정에 액세스하여 GCP(Google Cloud Platform) 리소스에 액세스할 수도 있습니다.

  1. 자율운영 AI 데이터베이스 인스턴스에 접속합니다.

    자세한 내용은 자율운영 AI 데이터베이스에 연결을 참조하십시오.

  2. DBMS_CLOUD.CREATE_CREDENTIAL를 사용하여 클라우드 오브젝트 스토리지 인증서를 저장합니다.

    예:

     BEGIN
       DBMS_CLOUD.CREATE_CREDENTIAL(
         credential_name => 'DEF_CRED_NAME',
         username => 'user1@example.com',
         password => 'password'
       );
     END;
     /
    

    usernamepassword에 대해 제공하는 값은 사용 중인 클라우드 오브젝트 스토리지 서비스에 따라 달라집니다.

  3. DBMS_CLOUD.EXPORT_DATA를 실행하고 format 매개변수 typexml 값과 함께 지정하여 Cloud Object Storage에서 결과를 XML 파일로 익스포트합니다.

    XML 출력 파일을 생성하려면 file_uri_list 매개변수에 대해 다음 두 가지 옵션이 있습니다.

    • file_uri_list 값을 클라우드 오브젝트 스토리지의 기존 버킷에 대한 URL로 설정합니다.

    • file_uri_list 값을 클라우드 오브젝트 스토리지의 기존 버킷에 대한 URL로 설정하고 익스포트된 JSON에 대한 파일 이름을 생성할 때 사용할 파일 이름 접두어를 포함합니다.

    file_uri_list에 파일 이름 접두어를 포함하지 않을 경우 DBMS_CLOUD.EXPORT_DATA는 파일 이름 접두어를 제공합니다. 자세한 내용은 텍스트 출력에 대한 파일 이름 지정(CSV, JSON, Parquet 또는 XML)을 참조하십시오.

    예를 들어, 다음은 file_uri_list에 지정된 파일 이름 접두어가 있는 DBMS_CLOUD.EXPORT_DATA를 보여줍니다.

     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 'xml', 'compression' value 'gzip'));
     END;
     /
    

    이 예에서 *namespace-string*은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고 bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.

    매개변수에 대한 자세한 내용은 EXPORT_DATA 프로시저를 참조하십시오.

    DBMS_CLOUD.EXPORT_DATA에서 사용할 수 있는 사용 가능한 format 매개변수에 대한 자세한 내용은 EXPORT_DATA용 DBMS_CLOUD 패키지 형식 옵션을 참조하십시오.

DBMS_CLOUD.EXPORT_DATA로 내보내기에 대한 참고 사항:

텍스트 출력에 대한 파일 이름 지정(CSV, JSON, Parquet 또는 XML )

CSV, JSON, Parquet 또는 XML 텍스트 파일 출력과 함께 DBMS_CLOUD.EXPORT_DATA를 사용하는 출력 파일 이름 지정에 대해 설명합니다.

DBMS_CLOUD.EXPORT_DATAquery 매개변수로 지정된 질의를 수행하고 결과를 클라우드 객체 저장소 버킷 또는 디렉토리에 있는 텍스트 파일로 전송합니다. 출력 형식은 지정한 format 매개변수 type(CSV, JSON, Parquet 또는 XML 중 하나)에 따라 달라집니다.

프로시저의 속도를 높이고 출력을 가능한 한 빨리 생성하기 위해 DBMS_CLOUD.EXPORT_DATA는 해당 작업을 나눕니다. 즉, 시스템 리소스에 따라 DBMS_CLOUD.EXPORT_DATA를 실행할 때 프로시저가 클라우드 객체 저장소 버킷 또는 디렉토리에 여러 출력 파일을 생성합니다.

생성된 각 파일의 형식은 다음과 같습니다.

[파일이름접두어 | client_info_module_action]_sequenceNum_timestamp.format_extension.[compression_extension]

예를 들어, 다음 DBMS_CLOUD.EXPORT_DATA 프로시저의 파일 이름 접두어는 file_uri_list 매개변수에서 dept_export로 지정됩니다. 예제에서는 제공된 Object Store에 지정된 형식으로 출력을 생성합니다.

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

생성된 출력 파일 수는 자율운영 AI 데이터베이스 인스턴스의 결과 크기, 데이터베이스 서비스 및 ECPU 수(데이터베이스에서 OCPU를 사용하는 경우 OCPU)에 따라 달라집니다.

다음 예제에서 file_uri_list 매개변수는 파일 이름 접두어를 포함하지 않으며 gzip 값과 함께 compression 매개변수가 제공됩니다.

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_DATAclient_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

DBMS_CLOUD.EXPORT_DATA를 실행할 때 client_info_module_action 세션 정보를 사용할 수 없는 경우 파일 이름 접두어가 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를 사용한 파일 이름 지정 참고 사항:

관련 콘텐츠