在 Oracle Database 中,
若要連接其他資料庫, 進行查詢, 維護, 執行等處理,
可以透過 DB Link,
相關的語法與注意事項, 參考如下 :
建立方式 1: DB Server 需先設定好 Host_Name
create [public] database link <Gateway_name> connect to <User_name> identified by <Password> Using '<Host_name>';
-- 其中 Host Name 需設定在 Database Server 端的 tnsnames.ora 檔案中.
建立方式 2: DB Server 無需設定好 Host_Name
create [public] database link <Gateway_name> connect to <User_name> identified by <Password> Using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(COMMUNITY = tcp.world)
(PROTOCOL = TCP)
(Host = <Remote_DB_IP_Address>)
(Port = <Remote_DB_Port>)
)
)
(CONNECT_DATA = (SID = <Remote_DB_SID>)
)
)';
執行 SQL
Select * from <Table_Name>@<Gateway_Name>;
執行 Package
<Package_Name>.<Procedure_Name>@<Gateway_Name>( parameter1, parameter2, ... );
注意事項
雖然用 DB Link, 開發人員不知道登入遠端 DB 的帳號密碼, 但是開發人員仍可處理給予權限的事情.
所以, 不要讓 DB Link 連上遠端 DB 重要的帳號.