자율운영 AI 데이터베이스에서 전자 지갑(mTLS)이 있는 공용 액세스 가능 Oracle Database로 데이터베이스 링크 생성

자율운영 AI 데이터베이스에서 퍼블릭 끝점에 있는 대상 Oracle 데이터베이스로의 데이터베이스 링크를 생성할 수 있습니다.

자율운영 AI 데이터베이스와 함께 데이터베이스 링크를 사용하려면 SSL(TCPS) 인증을 사용하는 TCP/IP를 사용하도록 대상 데이터베이스를 구성해야 합니다. 자율운영 AI 데이터베이스는 기본적으로 SSL(TCPS) 인증을 사용하는 TCP/IP를 사용하므로 다른 자율운영 AI 데이터베이스에 링크하기 위해 대상 데이터베이스에서 추가 구성을 수행할 필요가 없습니다. 다른 Oracle 데이터베이스는 TCP/IP 및 SSL(TCPS) 인증을 사용하도록 구성해야 합니다. 자세한 내용은 Oracle Database 19c 보안 설명서보안 소켓 계층 인증 구성 또는 Oracle Database 26ai 보안 설명서를 참조하십시오.

공용 대상에 대한 데이터베이스 링크를 생성하려면 대상 Oracle Database에 액세스할 수 있어야 합니다. 일부 데이터베이스는 액세스 제어 목록을 사용하는 등 액세스를 제한할 수 있습니다. 데이터베이스 링크가 작동하도록 원본 데이터베이스에서 액세스를 허용하도록 대상 데이터베이스를 활성화해야 합니다. ACL(액세스 제어 목록)로 액세스를 제한하는 경우 소스 자율운영 AI 데이터베이스의 아웃바운드 IP 주소를 찾고 해당 IP 주소가 대상 데이터베이스에 접속하도록 허용할 수 있습니다.

자세한 내용은 자율운영 AI 데이터베이스에서 Database Cloud Service 인스턴스로 데이터베이스 링크를 생성하는 방법을 참조하십시오.

To create database links to a target Oracle database with a wallet (mTLS):

  1. 대상 데이터베이스에 대한 인증서를 포함하는 대상 데이터베이스 전자 지갑(cwallet.sso)을 객체 저장소에 복사합니다.

    전자 지갑 파일의 경우 다음 사항에 유의하십시오.

    • 데이터베이스 사용자 ID 및 비밀번호와 함께 전자 지갑 파일을 사용하면 대상 Oracle Database의 데이터에 액세스할 수 있습니다. 전자 지갑 파일을 보안 위치에 저장합니다. 권한이 부여된 사용자와만 전자 지갑 파일을 공유합니다.

    • 전자 지갑 파일의 이름을 바꾸지 마십시오. 오브젝트 스토리지의 전자 지갑 파일 이름은 cwallet.sso이어야 합니다.

  2. 전자 지갑 파일 cwallet.sso을 저장하는 객체 저장소에 액세스하기 위한 인증서를 생성합니다. 여러 객체 스토리지 서비스의 사용자 이름 및 암호 매개변수에 대한 자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.

  3. 자율운영 AI 데이터베이스에서 전자 지갑 파일 cwallet.sso에 대한 디렉토리를 생성합니다.

    예:

     CREATE DIRECTORY *dblink_wallet_dir* AS '*directory_path_of_your_choice*';
    

    디렉토리 생성에 대한 자세한 내용은 자율운영 AI 데이터베이스에서 디렉토리 생성을 참조하십시오.

  4. DBMS_CLOUD.GET_OBJECT를 사용하여 이전 단계에서 생성한 디렉토리인 DBLINK_WALLET_DIR에 대상 데이터베이스 전자 지갑을 업로드합니다.

    예:

     BEGIN
         DBMS_CLOUD.GET_OBJECT(
             credential_name => 'DEF_CRED_NAME',
             object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/*namespace-string*/b/*bucketname*/o/cwallet.sso',
             directory_name => '*DBLINK_WALLET_DIR*');
     END;
     /
    

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

    주: 이 단계에서 사용하는 credential_name은 객체 저장소에 대한 인증서입니다. 다음 단계에서는 Target Database에 액세스할 수 있는 인증서를 생성합니다.

  5. 자율운영 AI 데이터베이스 인스턴스에서 대상 데이터베이스에 액세스하기 위한 인증서를 생성합니다. DBMS_CLOUD.CREATE_CREDENTIAL로 지정한 usernamepassword는 데이터베이스 링크를 생성하는 데 사용하는 대상 데이터베이스에 대한 인증서입니다.

    주: credential_name 매개변수를 제공해야 합니다.

    예:

     BEGIN
         DBMS_CLOUD.CREATE_CREDENTIAL(
             credential_name => 'DB_LINK_CRED',
             username => 'NICK',
             password => '*password*');
     END;
     /
    

    username 매개변수의 문자는 모두 대문자여야 합니다.

    이 작업은 인증서를 암호화된 형식으로 데이터베이스에 저장합니다. 인증서 이름에 임의의 이름을 사용할 수 있습니다.

  6. DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK를 사용하여 대상 데이터베이스에 대한 데이터베이스 링크를 생성합니다.

    예:

     BEGIN
         DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK(
             db_link_name => 'SALESLINK',
             hostname => 'adb.eu-frankfurt-1.oraclecloud.com',
             port => '1522',
             service_name => '*example*_medium.atpc.example.oraclecloud.com',
             ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
             credential_name => 'DB_LINK_CRED',
             directory_name => '*DBLINK_WALLET_DIR*');
     END;
     /
    

    ADMIN 이외의 사용자에게는 DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK를 실행할 수 있는 권한이 필요합니다.

    directory_name로 지정된 디렉토리의 전자 지갑 파일이 cwallet.sso가 아닌 경우 프로시저는 ORA-28759: failure to open file와 같은 오류를 보고합니다.

  7. 생성한 데이터베이스 링크를 사용하여 Target Database의 데이터에 액세스합니다.

    예:

     SELECT * FROM employees@SALESLINK;
    

5단계에서 생성한 인증서의 경우 대상 데이터베이스 인증서(대상 유저의 암호가 변경된 경우 다음과 같이 대상 유저의 인증서가 포함된 인증서를 갱신할 수 있음)

BEGIN
    DBMS_CLOUD.UPDATE_CREDENTIAL (
        credential_name => 'DB_LINK_CRED',
        attribute => 'PASSWORD',
        value => '*password*' );
END;
/

여기서 password는 새 암호입니다.

이 작업 후에 이 인증서를 사용하는 기존 데이터베이스 링크는 데이터베이스 링크를 삭제하고 다시 만들 필요 없이 계속 작동합니다.

추가 정보는 다음을 참조하십시오.

대상 Oracle Database에 대한 데이터베이스 링크 노트

대상이 자율운영 AI 데이터베이스가 아닌 경우 대상 Oracle 데이터베이스에 대한 데이터베이스 링크를 생성하기 위한 메모를 제공합니다.

다른 Oracle 데이터베이스에 대한 데이터베이스 링크에 대한 참고 사항:

관련 콘텐츠

DBMS_CLOUD_ADMIN 패키지