建立從 Autonomous Database 到專用端點上 Oracle Database 的資料庫連結
您可以建立從 Autonomous Database 到位於專用端點之目標 Oracle Database 的資料庫連結。
附註:
僅商業區域和美國政府區域支援從 Autonomous Database 到專用端點上的目標 Oracle 資料庫的資料庫連結。所有商業區域預設都會啟用此功能。
美國政府區域預設會對新佈建的資料庫啟用此功能。
對於專用端點上的現有美國政府資料庫,如果您想要建立從 Autonomous Database 到美國政府區域目標的資料庫連結,可以在 Oracle Cloud 支援提出服務要求,並要求在政府區域資料庫連結功能中啟用專用端點。
美國政府區域包括:
視目標 Oracle 資料庫的類型與組態而定:
-
另一個 Oracle Database (例如內部部署或 Database Cloud Service 資料庫) 位於為 SSL (TCPS) 設定的專用端點上:在此情況下,您可以使用公事包建立資料庫連結,資料庫連結則與 TCPS 通訊。請參閱使用公事包 (mTLS) 建立從 Autonomous Database 到專用端點上 Oracle 資料庫的資料庫連結以瞭解詳細資訊。
-
針對 TCP 設定之專用端點上的 Oracle Database (例如內部部署或 Database Cloud Service 資料庫) :在此情況下,建立不含公事包的資料庫連結,而資料庫連結則與 TCP 通訊。請參閱在不使用公事包的專用端點上建立 Oracle 資料庫的資料庫連結以瞭解詳細資訊。
從 Autonomous Database 到專用端點上 Oracle 資料庫的資料庫連結先決條件
列出從 Autonomous Database 建立資料庫連結到位於專用端點之目標 Oracle 資料庫的先決條件。
在專用端點上建立目標 Oracle 資料庫的資料庫連結:
-
目標資料庫必須能夠從來源資料庫的 Oracle Cloud Infrastructure VCN 存取。例如,您可以在下列情況時連線至目標資料庫:
-
目標資料庫位於專用端點。
-
來源資料庫和目標資料庫都位於相同的 Oracle Cloud Infrastructure VCN 中。
-
來源資料庫和目標資料庫位於不同的 Oracle Cloud Infrastructure VCN 中。
-
目標資料庫是使用 FastConnect 或 VPN 連線至來源資料庫 Oracle Cloud Infrastructure VCN 的內部部署資料庫。
-
-
有兩個選項可用來指定目標資料庫,請使用
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 的高可用性功能。不支援使用 IP 位址、SCAN IP 或rac_hostnames
值中的 SCAN 主機名稱。rac_hostnames
參數中指定主機名稱清單時,CREATE_DATABASE_LINK
會使用所有指定的主機名稱作為連線字串中的位址。如果目標 Oracle RAC 資料庫上沒有其中一個指定的主機,Autonomous Database 會自動嘗試使用清單中的另一個主機名稱連線。
-
-
必須為專用端點定義下列傳入和傳出規則:
-
在來源資料庫的子網路安全清單或網路安全群組中定義傳出規則,以允許目標資料庫的 IP 位址和連接埠號碼透過 TCP 的流量。
-
在目標資料庫的子網路安全清單或網路安全群組中定義傳入規則,以允許從來源資料庫 IP 位址到目的地連接埠的 TCP 流量。
-
在不使用公事包的專用端點上建立資料庫連結至 Oracle 資料庫
使用 DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
建立資料庫連結,從 Autonomous Database 到位於專用端點上的目標 Oracle 資料庫,並且無須使用公事包 (TCP) 進行連線。
附註:
此選項適用於位於專用端點且未設定 SSL/TCPS 的目標 Oracle 資料庫。視需要執行必要步驟。請參閱資料庫連結 (從 Autonomous Database 到專用端點上的 Oracle 資料庫) 的先決條件以瞭解詳細資訊。
使用不含公事包的安全 TCP 連線,建立專用端點上目標資料庫的資料庫連結:
附註:
對於您在步驟 1 中建立的證明資料,Oracle Database 證明資料,如果目標使用者的密碼變更,您可以更新包含目標使用者證明資料的證明資料,如下所示:BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
其中,password 是新密碼。
此作業之後,使用此證明資料的現有資料庫連結會繼續運作,而不需要刪除並重新建立資料庫連結。
請參閱 CREATE_DATABASE_LINK 程序以瞭解其他資訊。
使用公事包 (mTLS) 建立從 Autonomous Database 到專用端點上 Oracle 資料庫的資料庫連結
您可以建立從 Autonomous Database 到位於專用端點之目標 Oracle 資料庫的資料庫連結。
附註:
此選項適用於已設定 SSL/TCPS 且位於專用端點上的目標 Oracle 資料庫。如果目標 Oracle 資料庫未設定 SSL/TCPS,則有兩個選項:
-
您可以將目標 Oracle 資料庫設定為搭配 SSL (TCPS) 認證使用 TCP/IP。請參閱 Oracle Database 19c Security Guide 中的 Configuring Transport Layer Security Authentication 或 Oracle Database 23ai Security Guide ,瞭解設定 SSL/TCPS 的相關資訊。
-
您可以使用 TCP 連線至目標 Oracle 資料庫。請參閱在不使用公事包的專用端點上建立 Oracle 資料庫的資料庫連結以瞭解詳細資訊。
視需要執行必要步驟。請參閱資料庫連結 (從 Autonomous Database 到專用端點上的 Oracle 資料庫) 的先決條件以瞭解詳細資訊。
若要使用 TCP/IP 與 SSL (TCPS) 認證,在專用端點上建立目標 Oracle 資料庫的資料庫連結:
附註:
對於您在步驟 5 中建立的證明資料,Oracle Database 證明資料,如果目標使用者的密碼變更,您可以更新包含目標使用者證明資料的證明資料,如下所示:BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'DB_LINK_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
其中,password 是新密碼。
此作業之後,使用此證明資料的現有資料庫連結會繼續運作,而不需要刪除並重新建立資料庫連結。
請參閱 CREATE_DATABASE_LINK 程序以瞭解其他資訊。
具有目標 Oracle Database 的資料庫連結注意事項
提供用於建立目標 Oracle 資料庫之資料庫連結的注意事項 (當目標不是 Autonomous Database 時)
資料庫連結至其他 Oracle 資料庫的注意事項:
-
每個目錄只有一個有效的公事包檔案,才能與資料庫連結搭配使用。您一次只能將一個
cwallet.sso
上傳至您為公事包檔案選擇的目錄 (例如 DBLINK_WALLET_DIR)。這表示在 DBLINK_WALLET_DIR 中使用cwallet.sso
,您只能建立資料庫連結到該目錄中公事包有效的資料庫。若要使用多個含有資料庫連結的cwallet.sso
檔案,您必須建立其他目錄,並將每個cwallet.sso
放在不同的目錄中。使用DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
建立資料庫連結時,請指定包含公事包的目錄以及directory_name
參數。請參閱在 Autonomous Database 中建立目錄,瞭解建立目錄的相關資訊。
-
其他 Oracle Database 之資料庫連結的支援目標 Oracle 資料庫版本為:19c、12.2.0 和 12.1.0。
-
Autonomous Database 會將
SEC_CASE_SENSITIVE_LOGON
參數設為true
,且無法變更此值。如果您的目標資料庫不是 Autonomous Database ,則必須在目標資料庫上將SEC_CASE_SENSITIVE_LOGON
參數設為true
。如果目標資料庫上的SEC_CASE_SENSITIVE_LOGON
設為false
,則會產生錯誤ORA-28040: No matching authentication protocol
。 -
若要列出資料庫連結,請使用
ALL_DB_LINKS
視觀表。請參閱 Oracle Database 19c Database Reference 中的 ALL_DB_LINKS 或 Oracle Database 23ai Database Reference ,瞭解詳細資訊。 -
公事包檔案以及資料庫使用者 ID 和密碼,可讓您存取目標 Oracle 資料庫中的資料。將公事包檔案儲存在安全位置。只與授權的使用者共用公事包檔案。
-
當 Autonomous 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 的高可用性功能。不支援使用 IP 位址、SCAN IP 或rac_hostnames
值中的 SCAN 主機名稱。rac_hostnames
參數中指定主機名稱清單時,CREATE_DATABASE_LINK
會使用所有指定的主機名稱作為連線字串中的位址。如果目標 Oracle RAC 資料庫上沒有其中一個指定的主機,Autonomous Database 會自動嘗試使用清單中的另一個主機名稱連線。 -
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
不支援hostname
或rac_hostnames
參數中的localhost
值。
-