1、如果需要建立全域性 dblink,則需要先確定使用者有建立 dblink 的許可權:
[c-sharp]view plain
copy
print?
select * from user_sys_privs where privilege like upper(
'%database link%'
);
如果沒有,則需要使用 sysdba 角色給使用者賦權:
[c-sharp]view plain
copy
print?
grant create
public
database link to dbusername;
2、使用該使用者登入 pl/sql,使用命令:
[c-sharp]view plain
copy
print?
-- 第一種方法:要求資料庫伺服器 a 上 tnsnames.ora 中有 資料庫 b 的對映
-- -- create database link 資料庫鏈結名 connect to 使用者名稱 identified by 密碼 using
'本地配置的資料的例項名'
;
採用圖形配置介面則如下所示:
-- 第二種方法:直接配置
-- 如果建立全域性 dblink,必須使用 systm 或 sys 使用者,在 database 前加 public
。 create /* public */
database link dblink1
connect to dbusername identified by dbpassword
using
'(description =(address_list =(address =(protocol = tcp)(host = 192.168.0.1)(port = 1521)))(connect_data =(service_name = orcl)))'
; -- 資料庫引數 global_name=true
時要求資料庫鏈結名稱跟遠端資料庫名稱一樣。資料庫全域性名稱可以用以下命令查出
-- select * from global_name;
3、查詢資料:
[c-sharp]view plain
copy
print?
-- 查詢、刪除和插入資料和操作本地的資料庫是一樣的,只不過表名需要寫成「表名@dblink伺服器」而已。
select *** from 表名@資料庫鏈結名;
4、刪除 dblink
[c-sharp]view plain
copy
print?
drop
/* public */
database link dblink1;
5、建立和刪除同義詞
[c-sharp]view plain
copy
print?
create or replace synonym 同義詞名
for表名;
create or replace synonym 同義詞名 for
使用者.表名;
create or replace synonym 同義詞名 for
表名@資料庫鏈結名;
drop synonym 同義詞名;
6、建立和刪除檢視
[c-sharp]view plain
copy
print?
create or replace view 檢視名
as(select 字段 from 使用者.表名@dblink1);
drop view 檢視名;
7、注意:
建立 dblink 很簡單,但是在使用中後台卻出現鎖,檢視這個鎖的方法可以去 console 中看到或者查詢資料庫。每次使用dblink查詢的時候,均會與遠端資料庫建立乙個連線,dblink 應該不會自動釋放這個連線,如果是大量使用 dblink 查詢,會造成 web 專案的連線數不夠,導致系統無法正常執行,導致系統無正常執行。
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的DB Link實戰
當有在一台資料庫伺服器上集合或者分類篩選位於其他資料庫伺服器上的資料時,如果從應用層面上來解決問題,可能需要占用大量記憶體並且很費事。oracle資料庫本身提供了db link的機制來達到這個目的,以下以具體步驟來實現這個操作。1.首先在管理資料庫上建立到乙個資料庫的db link.drop exi...