如何建立dblink

2021-06-27 16:56:01 字數 1515 閱讀 1680

最近做的專案都是跟資料庫相關的一些東西,有時間就總結一下吧,首先總結一下dblink。

1.什麼時候會是用dblink

當使用者要跨本地資料庫,訪問另外乙個資料庫表中的資料時,本地資料庫就要建立遠端資料庫的dblink。通過dblink本地資料庫可以像訪問本地資料庫一樣訪問遠端資料表中的資料。

2.如何在本地建立dblink

建立dblink有兩種方式,不過在建立dblink之前使用者必須有建立dblink的許可權。檢視有關dblink的許可權,比如用tel25_yy/abc123@rco09 檢視本地dblink的許可權:

select * from user_sys_privs t where t.privilege like upper('%link%');

結果是:

tel25_yy drop public database link no

tel25_yy create public database link no

在資料庫中dblink有三種許可權create database link(所建立的dblink只能是建立者能使用,別的使用者使用不了),create public database link(public表示所建立的dblink所有使用者都可以使用),drop public database link。

建立dblink的第一種方式:在本地資料庫tnsname.ora檔案中配置了要遠端訪問的資料庫。

比如:在本地rco09 上建立dblink

create database link yy_telus_test

connect  to tel25_yy identified by abc123 using 'rco08';

其中yy_telus_test 是你建立的dblink的名字,tel25_yy 是你遠端訪問資料庫的使用者名稱,abc123是你遠端訪問資料庫的密碼,rco08 是你通過dblink要遠端訪問的資料庫。

建立完成後,你在本地

rco09上就可以訪問rc008上的表了。比如:檢視test_forall表:

select * from test_forall@rc008;

第二種方式:是在本地資料庫tnsnames.ora檔案中沒有配置要訪問的遠端資料庫,要把tnsnames.ora的資訊直接放在建立dblink語句後面。

rco08 = (description = (address = (protocol = tcp) 

(host = 192.168.1.5) (port = 1521))

(connect_data = (sid=rco08)))

其實兩種方法配置dblink是差不多的,但是還是第二種方法比較好,不受本地服務的影響。

3.如何檢視已經建好的dblink

select * from all_db_links where username='telus25_yy';

telus25_yy yy_tel_test2 telus25_yy rco07 16/12/14

telus25_yy yy_tel_test telus25_yy rco08 16/12/14

ORACLE如何建立DBLINK

當前使用者下執行 create database link testdblink connect to dbname identified by dbpassword using description address list address protocol tcp host 192.168.2...

oracle中如何建立dblink

當使用者要跨本地資料庫,訪問另外乙個資料庫表中的資料時,本地資料庫中必須建立了遠端資料庫的dblink,通過dblink本地資料庫可以像訪問本地資料庫一樣訪問遠端資料庫表中的資料。下面講介紹如何在本地資料庫中建立dblink.建立dblink一般有兩種方式,不過在建立dblink之前使用者必須有建立...

oracle中如何建立dblink

當使用者要跨本地資料庫,訪問另外乙個資料庫表中的資料時,本地資料庫中必須建立了遠端資料庫的dblink,通過dblink本地資料庫可以像訪問本地資料庫一樣訪問遠端資料庫表中的資料。下面講介紹如何在本地資料庫中建立dblink.建立dblink一般有兩種方式,不過在建立dblink之前使用者必須有建立...