데이터베이스 링크를 사용하여 Oracle 및 비Oracle 데이터베이스에서 데이터 로드

이 문서 섹션에서는 데이터베이스 링크를 생성한 다음 Data Studio를 사용하여 다양한 비Oracle 데이터베이스에서 자율운영 AI 데이터베이스로 데이터를 전송하는 방법에 대해 설명합니다.

데이터베이스 링크를 사용하여 Oracle 및 비Oracle 데이터베이스에서 데이터를 로드하려면 먼저 데이터베이스 링크를 생성해야 합니다.

데이터베이스 링크를 사용하여 Oracle 데이터베이스 또는 비Oracle 데이터베이스의 데이터를 자율운영 AI 데이터베이스로 로드하려면 다음 단계를 실행합니다.

  1. Database Actions instance에 로그인합니다. 개발 메뉴에서 SQL을 누릅니다. SQL Worksheet를 볼 수 있습니다.
  2. 인증서 및 데이터베이스 링크를 생성하여 자율운영 AI 데이터베이스에 액세스합니다.

    DBMS_CLOUD.CREATE_CREDENTIAL 프로시저를 사용하여 지정한 usernamepassword 값이 대상 데이터베이스에 대한 인증서인 인증서를 생성합니다.

    DBMS_CLOUD.CREATE_CREDENTIAL 프로시저는 인증서를 암호화된 형식으로 저장합니다.

    인증서를 생성한 후 데이터 로드 툴을 사용하여 비Oracle 데이터베이스에서 Data Studio의 데이터를 로드하는 데이터베이스 링크를 생성합니다.

    다음은 인증서를 생성한 다음 동일한 인증서를 사용하여 데이터베이스 링크를 생성하기 위해 실행할 샘플 코드입니다.
    1. MySQL에서 데이터베이스 링크 생성:
      BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'MYSQLPE_CRED',
          username => 'admin',
          password => <enter password here> );
      
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'MYSQLPE_DBLINK',
          hostname => 'scottmysql.scottprivate.com',
          port => '3306',
          service_name => 'scott',
          ssl_server_cert_dn => NULL,
          credential_name => 'MYSQLPE_CRED',
          private_target => TRUE,
          gateway_params => JSON_OBJECT('db_type' value 'MYSQL'));
      END;
      /
      
    2. Microsoft Azure에서 데이터베이스 링크 생성:
      BEGIN 
        DBMS_CLOUD.CREATE_CREDENTIAL( 
          credential_name => 'AZURE_CRED', 
          username => 'oracle', 
          password => <enter password here> );
      
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'AZURE_DBLINK',
          hostname => 'scott-server.database.windows.net',
          port => '1433',
          service_name => 'scottdb',
          ssl_server_cert_dn => NULL,
          credential_name => 'AZURE_CRED',
          gateway_params => JSON_OBJECT('db_type' value 'AZURE'));
      END;
      /
    3. Snowflake에서 데이터베이스 링크 생성:
      BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'SNOWFLAKE_CRED',
          username => 'SCOTT',
          password => <enter password here> ); 
      
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'SNOWFLAKE_DBLINK',
          hostname => 'https://abcdefg-hij12345.snowflakecomputing.com',
          port => '443',
          service_name => 'SCOTTDB',
          credential_name => 'SNOWFLAKE_CRED',
          gateway_params => JSON_OBJECT('db_type' value 'SNOWFLAKE'),
          directory_name => NULL,
          ssl_server_cert_dn => NULL);
      END;
      /
      
    4. 고유 OCI 인증서를 사용하여 Oracle Cloud Object Storage에서 데이터베이스 링크 생성
      BEGIN
        DBMS_CLOUD.GET_OBJECT(
          object_uri => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/abcdefgh12ij/b/scott-bucket/o/cwallet.sso',
          credential_name => 'OCI_NATIVE_CRED',
          directory_name => 'REG_WALLET_DIR');
      
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'ADBS_CRED',
          username => 'ADMIN',
          password => <enter password here> );
      
        DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
          db_link_name => 'ADBS_DBLINK',
          hostname => 'adb.us-ashburn-1.oraclecloud.com',
          port => '1522',
          service_name => 'ab1cdefgh2i3jkl_scottadbs_high.adb.oraclecloud.com',
          credential_name => 'ADBS_CRED',
          directory_name => 'REG_WALLET_DIR');
      END;
      /

      매개변수 및 해당 값에 대한 자세한 내용은 Create_Database_Link 프로시저를 참조하십시오.

    주:

    • DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK 프로시저를 실행하려면 ADMIN 권한이 필요합니다.
    • 데이터베이스 링크에서 대상 데이터베이스 인증서에 저장소 암호 인증서를 사용할 수 있습니다. 자세한 내용은 저장소 암호 인증서 사용을 참조하십시오.
    1. 데이터 로드 툴을 사용하여 Oracle 및 비Oracle 데이터베이스에서 데이터를 로드합니다.

      생성한 데이터베이스 링크를 사용하여 Data Studio에서 액세스 데이터를 로드할 수 있습니다. 데이터베이스 링크를 생성한 후에는 [데이터 로드] 툴에서 생성한 데이터베이스 링크 목록을 보고 사용할 수 있으며 Oracle 및 비Oracle 데이터베이스에서 데이터에 액세스할 수 있습니다.

      • Data Studio 도구 모음 아래의 데이터 로드를 누르고 데이터 로드 카드를 선택합니다.
      • 데이터베이스 탭을 누르고 생성한 사용 가능한 데이터베이스 링크 목록에서 데이터베이스 링크를 선택합니다. 이 예에서는 AZURE_DBLINK를 사용합니다.



        주:

        MySQL에서 생성한 데이터베이스 링크는 VCN(가상 클라우드 네트워크) 내에 있고, 자율운영 AI 데이터베이스는 해당 VCN 내의 프라이빗 서브넷에 위치하거나 접속해야 하기 때문에 볼 수 없습니다.
      • sample 테이블을 데이터베이스에서 끌어 데이터 로드 카트에 놓아 자율운영 AI 데이터베이스에 데이터를 로드합니다.



      • 시작을 눌러 로드 프로세스를 시작합니다.
      • 툴에서 테이블이 로드된 후 데이터 로드 대시보드에서 테이블 및 뷰 로드 섹션 아래의 결과를 볼 수 있습니다.



    2. 데이터 로드 툴을 사용하여 Oracle 및 비Oracle 데이터베이스의 데이터 링크:

      또는 데이터 로드를 사용하여 데이터베이스 링크를 통해 클라우드 데이터베이스에 직접 액세스하여 데이터 뷰를 생성하는 데이터를 링크할 수 있습니다.

      • Data Studio 아래의 데이터 로드 메뉴에서 데이터 링크를 선택합니다.
      • 데이터베이스 탭을 누릅니다. 이 예에서는 ADBS_DBLINK 링크를 사용합니다.
      • 데이터베이스에서 customer 테이블을 끌어 데이터 링크 카트에 놓아 자율운영 AI 데이터베이스의 데이터를 연결합니다.



      • 시작을 눌러 Data Studio에서 데이터 링크를 시작합니다.
      • 데이터가 연결된 후에는 데이터 로드 대시보드테이블 및 뷰 로드 섹션 아래에 있는 데이터 링크 작업 결과를 봅니다.



Data Studio의 데이터베이스 링크를 사용하여 Oracle 및 비Oracle 데이터베이스에서 데이터를 성공적으로 로드했습니다.