oracle dblink的建立與使用

2022-01-29 22:01:55 字數 1677 閱讀 5496

dblink,顧名思義就是資料庫的鏈結。

當我們要跨本地資料庫訪問另乙個資料庫中的表的資料時,在本地資料庫中就必須要建立遠端資料庫的dblink,通過該dblink就可以達到訪問遠端資料庫中表中資料的目的。

注意:dblink是單向的連線。

目的:

兩台資料庫伺服器db_a(本地)和db_b(遠端192.168.1.100),db_a下使用者user_a 需要訪問到db_b下user_b的資料。

步驟:

1、確定使用者user_a有沒有建立 dblink 的許可權:

登陸使用者user_a;

select * from user_sys_privs where privilege like upper('%database link%');
2、如果沒有,以sys使用者登入到本地資料庫 給使用者user_a賦權:

grant create public database link,drop public database link to user_a;
注:dblink有三種許可權:

create database link(所建立的dblink只能是建立者能使用,別的使用者使用不了)

create public database link(public表示所建立的dblink所有使用者都可以使用)

drop public database link

3、以使用者user_a登入本地資料庫,建立dblink

create public  database link dblink1 connect to user_b identified by user_bpass using '(description =(address_list =(address =(protocol = tcp)(host = 192.168.1.100)(port = 1521)))(connect_data =(service_name = orcl)))';

dblink1 表示dblink名稱;

user_b 表示遠端資料庫的使用者;

user_bpass 表示遠端資料庫的密碼;

port 表示遠端埠;

service_name 表示遠端資料庫例項名

4、使用dblink

-- 查詢、刪除和插入資料和操作本地的資料庫是一樣的,只不過表名需要寫成「表名@dblink伺服器」而已。

select * from user_btablename@dblink1 ;

#舉例#insert into test@dblink1 values (1);

1、刪除public的dblink

drop public database link dblink1;

刪除非public的dblink

drop  database link dblink1;

注*只有owner自己能刪除自己的非public型別dblink。

2、檢視資料庫所有使用者的dblink

select * from all_db_links;

oracle dblink建立過程

兩台不同的資料庫伺服器,從一台資料庫伺服器的乙個使用者讀取另一台資料庫伺服器下的某個使用者的資料,這個時候可以使用dblink。其實dblink和資料庫中的view差不多,建dblink的時候需要知道待讀取資料庫的ip位址,ssid以及資料庫使用者名稱和密碼。建立可以採用兩種方式 1 已經配置本地服...

建立oracle dblink 過程

建立dblink分為兩個步驟 1.建立本地服務名 2.create database link create database link test.us.oracle.com connect to user identified by pwd using description address li...

oracle dblink 建立過程

兩台不同的資料庫伺服器,從一台資料庫伺服器的乙個使用者讀取另一台資料庫伺服器下的某個使用者的資料,這個時候可以使用 dblink。例如 資料庫伺服器 a,資料庫伺服器 b,資料庫客戶端 c 通過客戶端c連到 a,在a 上操作訪問b。1 在資料庫客戶端c的 tnsnames 中配置資料庫伺服器 a的服...