자율운영 AI 데이터베이스에서 프라이빗 끝점의 Oracle Database로 데이터베이스 링크 생성
자율운영 AI 데이터베이스에서 프라이빗 끝점에 있는 대상 Oracle Database로의 데이터베이스 링크를 생성할 수 있습니다.
주: 프라이빗 끝점에 있는 대상 Oracle 데이터베이스로의 데이터베이스 링크는 상용 지역 및 미국 정부 지역에서만 지원됩니다. 이 기능은 모든 상업 지역에서 기본적으로 사용으로 설정됩니다. 이 기능은 새로 프로비전된 데이터베이스에 대해 미국 정부 지역에서 기본적으로 사용으로 설정됩니다. 프라이빗 끝점에 있는 기존 US Government 데이터베이스의 경우 자율운영 AI 데이터베이스에서 미국 정부 지역의 대상으로 데이터베이스 링크를 생성하려는 경우 Oracle Cloud Support에서 서비스 요청을 제출하고 정부 지역의 데이터베이스 연결 기능에서 프라이빗 끝점 사용을 요청할 수 있습니다. 미국 정부 지역은 다음과 같습니다.
대상 Oracle 데이터베이스의 유형 및 구성에 따라 다음 사항이 적용됩니다.
-
SSL(TCPS)에 대해 구성된 프라이빗 끝점에 온프레미스 또는 Database Cloud Service 데이터베이스와 같은 다른 Oracle Database: 이 경우 전자 지갑으로 데이터베이스 링크를 생성할 수 있으며, 데이터베이스 링크는 TCPS와 통신합니다. See Create Database Links from Autonomous AI Database to Oracle Databases on a Private Endpoint with a Wallet (mTLS) for details.
-
TCP에 대해 구성된 프라이빗 끝점에 온프레미스 또는 Database Cloud Service 데이터베이스와 같은 Oracle Database: 이 경우 전자 지갑 없이 데이터베이스 링크를 생성하고 데이터베이스 링크는 TCP와 통신합니다. 자세한 내용은 전자 지갑 없이 프라이빗 끝점에 있는 Oracle 데이터베이스에 대한 데이터베이스 링크 생성을 참조하십시오.
자율운영 AI 데이터베이스에서 프라이빗 끝점의 Oracle 데이터베이스로의 데이터베이스 링크 필요 조건
자율운영 AI 데이터베이스에서 프라이빗 끝점에 있는 대상 Oracle 데이터베이스로의 데이터베이스 링크를 생성하기 위한 필요 조건을 나열합니다.
프라이빗 끝점에 대상 Oracle 데이터베이스에 대한 데이터베이스 링크를 생성하려면 다음과 같이 하십시오.
-
대상 데이터베이스는 소스 데이터베이스의 Oracle Cloud Infrastructure VCN에서 액세스할 수 있어야 합니다. 예를 들어, 다음과 같은 경우에 Target Database에 연결할 수 있습니다.
-
대상 데이터베이스가 프라이빗 끝점에 있습니다.
-
소스 데이터베이스와 대상 데이터베이스는 모두 동일한 Oracle Cloud Infrastructure VCN에 있습니다.
-
소스 데이터베이스와 대상 데이터베이스는 페어링된 서로 다른 Oracle Cloud Infrastructure VCN에 있습니다.
-
대상 데이터베이스는 FastConnect 또는 VPN을 사용하여 소스 데이터베이스의 Oracle Cloud Infrastructure VCN에 연결된 온프레미스 데이터베이스입니다.
-
-
Target Database를 지정하는 두 가지 옵션이 있으며,
hostname파라미터 또는rac_hostnames파라미터를 사용합니다.-
프라이빗 끝점의 대상인 경우
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK는hostname매개변수로 단일 호스트 이름 지정을 지원합니다. 프라이빗 끝점에서는 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다(대상이 퍼블릭 끝점에 있는 경우CREATE_DATABASE_LINK는 IP 주소, SCAN IP 또는 SCAN 호스트 이름 사용을 지원함). -
대상이 Oracle RAC 데이터베이스인 경우
rac_hostnames매개변수를 사용하여DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK로 하나 이상의 호스트 이름을 지정합니다. 이를 통해 Oracle RAC의 고가용성 기능을 활용할 수 있습니다.rac_hostnames값에서 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다.rac_hostnames매개변수에 호스트 이름 목록을 지정하면CREATE_DATABASE_LINK는 지정된 모든 호스트 이름을 접속 문자열의 주소로 사용합니다. 지정된 호스트 중 하나를 대상 Oracle RAC 데이터베이스에서 사용할 수 없는 경우 Autonomous Database는 목록에서 다른 호스트 이름을 사용하여 자동으로 접속을 시도합니다.
-
-
프라이빗 끝점에 대해 다음 수신 및 송신 규칙을 정의해야 합니다.
-
대상 데이터베이스의 IP 주소 및 포트 번호에 대해 TCP를 통한 트래픽이 허용되도록 소스 데이터베이스의 서브넷 보안 목록 또는 네트워크 보안 그룹에서 송신 규칙을 정의합니다.
-
소스 데이터베이스 IP 주소에서 대상 포트로의 TCP를 통한 트래픽이 허용되도록 대상 데이터베이스의 서브넷 보안 목록 또는 네트워크 보안 그룹에서 수신 규칙을 정의합니다.
-
전자 지갑 없이 프라이빗 끝점에 있는 Oracle 데이터베이스에 대한 데이터베이스 링크 생성
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK를 사용하여 자율운영 AI 데이터베이스에서 프라이빗 끝점에 있고 전자 지갑(TCP) 없이 접속하는 대상 Oracle 데이터베이스로의 데이터베이스 링크를 생성할 수 있습니다.
주: 이 옵션은 프라이빗 끝점에 있고 SSL/TCPS가 구성되지 않은 대상 Oracle 데이터베이스용입니다.
필요에 따라 필요 조건 단계를 수행합니다. 자세한 내용은 자율운영 AI 데이터베이스에서 프라이빗 끝점의 Oracle 데이터베이스로의 데이터베이스 링크 필요 조건을 참조하십시오.
전자 지갑 없이 보안 TCP 접속을 사용하여 프라이빗 끝점에 대상 데이터베이스에 대한 데이터베이스 링크를 생성하려면 다음과 같이 하십시오.
-
자율운영 AI 데이터베이스에서 대상 데이터베이스에 액세스하기 위한 인증서를 생성합니다.
DBMS_CLOUD.CREATE_CREDENTIAL로 지정하는username및password는 데이터베이스 링크(VCN을 통해 대상 데이터베이스에 액세스됨) 내에서 사용되는 대상 데이터베이스에 대한 인증서입니다.예:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'PRIVATE_ENDPOINT_CRED', username => 'NICK', password => '*password*' ); END; /username매개변수의 문자는 모두 대문자여야 합니다.이 작업은 인증서를 암호화된 형식으로 데이터베이스에 저장합니다. 인증서 이름에 임의의 이름을 사용할 수 있습니다.
-
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK를 사용하여 대상 데이터베이스에 대한 데이터베이스 링크를 생성합니다.예:
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'PRIVATE_ENDPOINT_LINK', hostname => 'exampleHostname', port => '1522', service_name => '*exampleServiceName*', ssl_server_cert_dn => NULL, credential_name => 'PRIVATE_ENDPOINT_CRED', directory_name => NULL, private_target => TRUE); END; /프라이빗 끝점의 대상인 경우
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK는hostname매개변수로 단일 호스트 이름 지정을 지원합니다. 프라이빗 끝점에서는 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다(대상이 퍼블릭 끝점에 있는 경우CREATE_DATABASE_LINK는 IP 주소, SCAN IP 또는 SCAN 호스트 이름 사용을 지원함).대상이 Oracle RAC 데이터베이스인 경우
rac_hostnames매개변수를 사용하여DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK로 하나 이상의 호스트 이름을 지정합니다. 이를 통해 Oracle RAC의 고가용성 기능을 활용할 수 있습니다.rac_hostnames값에서 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다.예를 들어, 대상 Oracle RAC 데이터베이스의 경우
rac_hostnames매개변수를 사용합니다.BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'PRIVATE_ENDPOINT_LINK', rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com", "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com", "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]', port => '1522', service_name => '*exampleServiceName*', ssl_server_cert_dn => NULL, credential_name => 'PRIVATE_ENDPOINT_CRED', directory_name => NULL, private_target => TRUE); END; /DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK는hostname또는rac_hostnames매개변수에 대해localhost값을 지원하지 않습니다.ADMIN 이외의 사용자에게는
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK를 실행할 수 있는 권한이 필요합니다.예제에 표시된 것과 같이, 전자 지갑 없이 보안 TCP 연결을 사용하여 프라이빗 끝점의 대상 데이터베이스에
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK로 데이터베이스 링크를 생성하려면 다음이 모두 필요합니다.-
directory_name매개변수는NULL이어야 합니다. -
ssl_server_cert_dn매개변수는NULL이어야 합니다. -
private_target매개변수는TRUE여야 합니다.
-
-
생성한 데이터베이스 링크를 사용하여 Target Database의 데이터에 액세스합니다.
예:
SELECT * FROM employees@PRIVATE_ENDPOINT_LINK;
1단계에서 생성한 인증서인 Oracle Database 인증서의 경우 대상 유저의 암호가 변경되면 다음과 같이 대상 유저의 인증서가 포함된 인증서를 갱신할 수 있습니다.
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => '*password*');
END;
/
여기서 password는 새 암호입니다.
이 작업 후에 이 인증서를 사용하는 기존 데이터베이스 링크는 데이터베이스 링크를 삭제하고 다시 만들 필요 없이 계속 작동합니다.
자세한 내용은 CREATE_DATABASE_LINK Procedure를 참조하십시오.
전자 지갑(mTLS)이 있는 프라이빗 끝점에서 자율운영 AI 데이터베이스에서 Oracle 데이터베이스로 데이터베이스 링크 생성
자율운영 AI 데이터베이스에서 프라이빗 끝점에 있는 대상 Oracle 데이터베이스로의 데이터베이스 링크를 생성할 수 있습니다.
주: 이 옵션은 SSL/TCPS가 구성되어 있고 프라이빗 끝점에 있는 대상 Oracle 데이터베이스용입니다.
대상 Oracle 데이터베이스에 SSL/TCPS가 구성되지 않은 경우 다음 두 가지 옵션이 있습니다.
-
TCP/IP with SSL(TCPS) 인증을 사용하도록 대상 Oracle 데이터베이스를 구성할 수 있습니다. SSL/TCPS 구성에 대한 자세한 내용은 Oracle Database 19c 보안 설명서의 전송 계층 보안 인증 구성 또는 Oracle Database 26ai 보안 설명서를 참조하십시오.
-
TCP를 사용하여 대상 Oracle 데이터베이스에 연결할 수 있습니다. 자세한 내용은 전자 지갑 없이 프라이빗 끝점에 있는 Oracle 데이터베이스에 대한 데이터베이스 링크 생성을 참조하십시오.
필요에 따라 필요 조건 단계를 수행합니다. 자세한 내용은 자율운영 AI 데이터베이스에서 프라이빗 끝점의 Oracle 데이터베이스로의 데이터베이스 링크 필요 조건을 참조하십시오.
SSL(TCPS) 인증을 사용하는 TCP/IP를 사용하여 프라이빗 끝점에 대상 Oracle 데이터베이스에 대한 데이터베이스 링크를 생성하려면 다음과 같이 하십시오.
-
대상 데이터베이스에 대한 인증서를 포함하는 대상 데이터베이스 전자 지갑(
cwallet.sso)을 객체 저장소에 복사합니다.주: 전자 지갑 파일은 데이터베이스 사용자 ID 및 비밀번호와 함께 대상 Oracle 데이터베이스의 데이터에 대한 액세스를 제공합니다. 전자 지갑 파일을 보안 위치에 저장합니다. 권한이 부여된 사용자와만 전자 지갑 파일을 공유합니다.
-
cwallet.sso을 저장하는 객체 저장소에 액세스하기 위한 인증서를 생성합니다. 여러 객체 스토리지 서비스의 사용자 이름 및 암호 매개변수에 대한 자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오. -
자율운영 AI 데이터베이스에서 전자 지갑 파일
cwallet.sso에 대한 디렉토리를 생성합니다.예:
CREATE DIRECTORY *wallet_dir* AS '*directory_path_of_your_choice*';디렉토리 생성에 대한 자세한 내용은 자율운영 AI 데이터베이스에서 디렉토리 생성을 참조하십시오.
-
DBMS_CLOUD.GET_OBJECT를 사용하여 이전 단계에서 생성한 디렉토리인 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 => '*WALLET_DIR*'); END; /이 예에서
*namespace-string*은 Oracle Cloud Infrastructure 오브젝트 스토리지 네임스페이스이고bucketname은 버킷 이름입니다. 자세한 내용은 객체 스토리지 네임스페이스 이해를 참조하십시오.주: 이 단계에서 사용하는
credential_name은 객체 저장소에 대한 인증서입니다. 다음 단계에서는 Target Database에 액세스할 수 있는 인증서를 생성합니다. -
자율운영 AI 데이터베이스에서 대상 데이터베이스에 액세스할 인증서를 생성합니다.
DBMS_CLOUD.CREATE_CREDENTIAL로 지정하는username및password는 데이터베이스 링크(VCN을 통해 대상 데이터베이스에 액세스됨) 내에서 사용되는 대상 데이터베이스에 대한 인증서입니다.주:
credential_name매개변수를 제공해야 합니다.예:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'DB_LINK_CRED', username => 'NICK', password => '*password*'); END; /username매개변수의 문자는 모두 대문자여야 합니다.이 작업은 인증서를 암호화된 형식으로 데이터베이스에 저장합니다. 인증서 이름에 임의의 이름을 사용할 수 있습니다.
-
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK를 사용하여 대상 데이터베이스에 대한 데이터베이스 링크를 생성합니다.예:
BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'PEDBLINK1', hostname => 'example1.adb.ap-osaka-1.oraclecloud.com', port => '1522', service_name => '*example_high.adb.oraclecloud.com*', ssl_server_cert_dn => '*ssl_server_cert_dn*', credential_name => 'DB_LINK_CRED', directory_name => '*WALLET_DIR*', private_target => TRUE); END; /프라이빗 끝점의 대상인 경우
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK는hostname매개변수로 단일 호스트 이름 지정을 지원합니다. 프라이빗 끝점에서는 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다(대상이 퍼블릭 끝점에 있는 경우CREATE_DATABASE_LINK는 IP 주소, SCAN IP 또는 SCAN 호스트 이름 사용을 지원함).대상이 Oracle RAC 데이터베이스인 경우
rac_hostnames매개변수를 사용하여DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK로 하나 이상의 호스트 이름을 지정합니다. 이를 통해 Oracle RAC의 고가용성 기능을 활용할 수 있습니다.rac_hostnames값에서 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다.예를 들어, 대상 Oracle RAC 데이터베이스의 경우
rac_hostnames매개변수를 사용합니다.BEGIN DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK( db_link_name => 'PEDBLINK1', rac_hostnames => '["sales1-svr1.*example*.adb.us-ashburn-1.oraclecloud.com", "sales1-svr2.*example*.adb.us-ashburn-1.oraclecloud.com", "sales1-svr3.*example*.adb.us-ashburn-1.oraclecloud.com"]', port => '1522', service_name => '*example_high.adb.oraclecloud.com*', ssl_server_cert_dn => '*ssl_server_cert_dn*', credential_name => 'DB_LINK_CRED', directory_name => '*WALLET_DIR*', private_target => TRUE); END; /DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK는hostname또는rac_hostnames매개변수에 대해localhost값을 지원하지 않습니다.ADMIN 이외의 사용자에게는
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK를 실행할 수 있는 권한이 필요합니다. -
생성한 데이터베이스 링크를 사용하여 Target Database의 데이터에 액세스합니다.
예:
``sql SELECT * FROM employees@PEDBLINK1;
5단계에서 생성한 인증서인 Oracle Database 인증서의 경우 대상 유저의 암호가 변경되면 다음과 같이 대상 유저의 인증서가 포함된 인증서를 갱신할 수 있습니다.
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL (
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => '*password*');
END;
/
여기서 password는 새 암호입니다.
이 작업 후에 이 인증서를 사용하는 기존 데이터베이스 링크는 데이터베이스 링크를 삭제하고 다시 만들 필요 없이 계속 작동합니다.
자세한 내용은 CREATE_DATABASE_LINK Procedure를 참조하십시오.
대상 Oracle Database에 대한 데이터베이스 링크 노트
대상이 자율운영 AI 데이터베이스가 아닌 경우 대상 Oracle 데이터베이스에 대한 데이터베이스 링크를 생성하기 위한 메모를 제공합니다.
다른 Oracle 데이터베이스에 대한 데이터베이스 링크 노트:
-
디렉토리당 하나의 전자 지갑 파일만 데이터베이스 링크와 함께 사용할 수 있습니다. 전자 지갑 파일에 대해 선택한 디렉토리(예: DBLINK_WALLET_DIR)에는 한 번에 하나의
cwallet.sso만 업로드할 수 있습니다. 즉, DBLINK_WALLET_DIR의cwallet.sso을 사용할 경우 해당 디렉토리의 전자 지갑이 유효한 데이터베이스에 대한 데이터베이스 링크만 생성할 수 있습니다. 데이터베이스 링크와 함께 여러cwallet.sso파일을 사용하려면 추가 디렉토리를 만들고 각cwallet.sso를 다른 디렉토리에 배치해야 합니다.DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK로 데이터베이스 링크를 생성할 때는directory_name매개변수로 전자 지갑을 포함하는 디렉토리를 지정합니다.디렉토리 생성에 대한 자세한 내용은 자율운영 AI 데이터베이스에서 디렉토리 생성을 참조하십시오.
-
다른 Oracle Database에 대한 데이터베이스 링크에 대해 지원되는 대상 Oracle 데이터베이스 버전은 19c, 12.2.0 및 12.1.0입니다.
주: 지원되는 버전에 대한 자세한 내용은 Client Server Interoperability Support Matrix for Different Oracle Versions (문서 ID 207303.1)을 참조하십시오.
-
자율운영 AI 데이터베이스는
SEC_CASE_SENSITIVE_LOGON매개변수를true로 설정하며 이 값은 변경할 수 없습니다. 대상 데이터베이스가 자율운영 AI 데이터베이스가 아닌 경우 `SEC_CASE_SENSITIVE_LOGONparameter totrueon the target database. IfSEC_CASE_SENSITIVE_LOGONis set tofalseon the target database, then errorORA-28040: No matching authentication protocol`을 설정해야 합니다. -
데이터베이스 링크를 나열하려면
ALL_DB_LINKS뷰를 사용합니다. 자세한 내용은 Oracle Database 19c Database Reference의 ALL_DB_LINKS 또는 Oracle Database 26ai Database Reference를 참조하십시오. -
전자 지갑 파일은 데이터베이스 유저 ID 및 암호와 함께 대상 Oracle 데이터베이스의 데이터에 대한 액세스를 제공합니다. 전자 지갑 파일을 보안 위치에 저장합니다. 권한이 부여된 사용자와만 전자 지갑 파일을 공유합니다.
-
자율운영 AI 데이터베이스 인스턴스가 프라이빗 끝점에 있는 경우 대상 데이터베이스를 지정하는 두 가지 옵션이 있습니다.
hostname매개변수 또는rac_hostnames매개변수를 사용하십시오.-
프라이빗 끝점의 대상인 경우
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK는hostname매개변수로 단일 호스트 이름 지정을 지원합니다. 프라이빗 끝점에서는 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다(대상이 퍼블릭 끝점에 있는 경우CREATE_DATABASE_LINK는 IP 주소, SCAN IP 또는 SCAN 호스트 이름 사용을 지원함). -
대상이 Oracle RAC 데이터베이스인 경우
rac_hostnames매개변수를 사용하여DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK로 하나 이상의 호스트 이름을 지정합니다. 이를 통해 Oracle RAC의 고가용성 기능을 활용할 수 있습니다.rac_hostnames값에서 IP 주소, SCAN IP 또는 SCAN 호스트 이름을 사용할 수 없습니다.rac_hostnames매개변수에 호스트 이름 목록을 지정하면CREATE_DATABASE_LINK는 지정된 모든 호스트 이름을 접속 문자열의 주소로 사용합니다. 지정된 호스트 중 하나를 대상 Oracle RAC 데이터베이스에서 사용할 수 없는 경우 Autonomous Database는 목록에서 다른 호스트 이름을 사용하여 자동으로 접속을 시도합니다. -
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK는hostname또는rac_hostnames매개변수에 대해localhost값을 지원하지 않습니다.
-