dblink(database link)資料庫鏈結顧名思義就是資料庫的鏈結 ,就像**線一樣,是乙個通道,當我們要跨本地資料庫,訪問另外乙個資料庫表中的資料時,本地資料庫中就必須要建立遠端資料庫的dblink,通過dblink就可以像訪問本地資料庫一樣訪問遠端資料庫表中的資料。
建立dblink的語法
create [shared] [public] database link link_name
[connect to [user] [current_user] identified by password]
[authenticated by user identified by password]
[using 'connect_string']
方括號選項是可選的,其中public表示鏈結對資料庫所有使用者可用,而改為private則表示對建立使用者可用,current_user一般用在多個分布式資料庫中,connectstring表示資料庫網路服務名。
首先需要知道資料庫使用者是否具有許可權
開啟sqlplus登入後輸入返回對應許可權。
select * from user_sys_privs twhere t.privilege like upper('%link%');
1.create database link(預設private,所建立的dblink只能是建立者能使用,別的使用者使用不了) ,
2.create public database link(public表示所建立的dblink所有使用者都可以使用),
3.drop public database link。
如果沒有許可權需要管理員授予對應的許可權,grant create public database_link,drop public database link to username;
dblink的建立有兩種方式
1、已經配置本地服務
create public database link link_name
connect to username identified by password
using 'connect_string';
注:link_name是連線名字,可以自定義;
username是登陸資料庫的使用者名稱;
password是登陸資料庫的使用者密碼;
connect_string是資料庫連線字串,本地已配置則可直接使用tnsname.ora檔案中的別名,如orcl;
2、直接建立鏈結
create database link link_name
connect to username identified by password
using '(description =
(address_list =
(address = (protocol = tcp)(host = x.x.x.x )(port = 1521))
) (connect_data =
(service_name = ssid)
) )';
host=資料庫的ip位址,service_name=資料庫的ssid。
其實兩種方法配置dblink是差不多的,個人感覺還是第二種方法比較好,這樣不受本地服務的影響。
注意: 假如建立全域性dblink,則必須使用systm、sys等管理員使用者,在database前加public。
可以通過各種資料庫管理工具如plsql來建立,需要注意的是使用不同的版本資料庫來建立鏈結時會提示使用者名稱密碼錯誤,所以最好在使用者名稱和密碼上加上雙引號。
查詢資料庫版本的三種方法:
dblink的使用
sql>select owner,object_name from dba_objects where object_type='database link';
或者select * from dba_db_links;
刪除:drop public database link link_name;
使用:select……from 表名@資料庫鏈結名;
刪除和插入資料和操作本地的資料庫是一樣的,只不過也需要寫成「表名@dblink名稱」而已,當然也可用同義詞來替換,
create synonym 同義詞名 for 表名@資料庫鏈結名,這樣就可以用同義詞名代替表名@dblink名稱。
如:create synonym aliasname for tablename@dblinkname;
本人才接觸部落格不久,如內容有疑問或錯誤的地方,敬請諒解和指教,謝謝大家。
oracle 2 dblink的建立和使用
一 建立dblink 1 查詢建立dblink表 select from dba db links declare i number 22 begin select count into i from dba db links where db link zszq dblinknew if i 0t...
DBLINK的建立和資料抽取檢視使用
1.查詢dblink和許可權設定 select from sys.user sys privs t where t.privilege like upper link create database link 所建立的dblink只能是建立者能使用,別的使用者使用不了 create public d...
Oracle建立使用(公用)DB Link
1 檢視資料庫例項名 show parameter service names 2 給使用者授權建立link grant create public database link,create database link to 使用者名稱 3 建立db link create public datab...