有效创建Oracle dblink的两种方式
有效創建Oracle dblink的兩種方式
兩臺不同的數據庫服務器,從一臺數據庫服務器的一個用戶讀取另一臺數據庫服務器下的某個用戶的數據,這個時候可以使用dblink。
其實dblink和數據庫中的view差不多,建dblink的時候需要知道待讀取數據庫的ip地址,ssid以及數據庫用戶名和密碼。
創建可以采用兩種方式:
1、已經配置本地服務
create?public?database?link?fwq12?connect?to?fzept?identified?by?neu?using?'fjept'?;
????CREATE?DATABASE?LINK數據庫鏈接名CONNECT?TO?用戶名???IDENTIFIED?BY?密碼?USING?‘本地配置的數據的實例名’;
2、未配置本地服務
create?database?link?linkfwq?connect?to?fzept?identified?by?neu?using?'(DESCRIPTION?=?(ADDRESS_LIST?=?(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?10.142.202.12)(PORT?=?1521))?)?(CONNECT_DATA?=?(SERVICE_NAME?=?fjept)?)?)';?
host=數據庫的ip地址,廣域網:service_name=數據庫的ssid、局域網SID=數據庫的ssid。
其實兩種方法配置dblink是差不多的,我個人感覺還是第二種方法比較好,這樣不受本地服務的影響。
數據庫連接字符串可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定義。
數據庫參數global_name=true時,要求數據庫鏈接名稱跟遠端數據庫名稱一樣。
數據庫全局名稱可以用以下命令查出:
SELECT?*?FROM?GLOBAL_NAME;查詢遠端數據庫里的表:
SELECT?……?FROM?表名@數據庫鏈接名;
查詢、刪除和插入數據和操作本地的數據庫是一樣的,只不過表名需要寫成“表名@dblink服務器”而已。
附帶說下同義詞創建:
CREATE?SYNONYM?同義詞名?FOR?表名;????CREATE?SYNONYM?同義詞名?FOR?表名@數據庫鏈接名;
?
刪除dblink:DROP PUBLIC DATABASE LINK linkfwq。
如果創建全局dblink,必須使用systm或sys用戶,在database前加public。
參考資料:
轉載于:https://www.cnblogs.com/skyblue/archive/2007/09/12/890664.html
總結
以上是生活随笔為你收集整理的有效创建Oracle dblink的两种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dynamic programming
- 下一篇: 【读书笔记】商业自传-PayPal程序员