oracle 數據庫之間的鏈接

經過建立database link實現Oracle跨數據庫查詢的方法java

在Oracle本地數據庫端執行賦權dbuser賬號sql

SQL> grant create database link to dbuser;

配置本地數據庫服務器的tnsnames.ora文件 數據庫

$ vi $ORACLE_HOME/network/admin/tnsnames.ora

增長鬚要遠程鏈接服務器的鏈接配置,如:瀏覽器

ORCL_REMOTE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)


登陸到本地數據庫,建立database link服務器

執行以下查詢語句,其中ORCL_LINK爲database link名(可自定義),ORCL_REMOTE爲先前在tnsnames.ora中定義的鏈接名,ide

dbuser爲用戶名,password爲密碼
create database link ORCL_LINK connect to dbuser identified by password using 'ORCL_REMOTE';

如果全局dblink, 在create後加public 登錄名也必須是system,sys用戶spa

查詢建立database link的2中方式:.net

1)、執行SQL語句。code

select * from user_db_links; --用戶 DB Link
select * from dba_db_links; --dba DB Link
select * from v$dblink; --當前DB Link

2)、在PL/SQL中,在左邊瀏覽器中點擊database links就能夠看到數據庫鏈路了。orm

使用連接的數據庫

查詢、刪除和插入數據和操做本地的數據庫是同樣的,只不過表名須要寫成「表名@database link名」,如

select * from table_name@ORCL_LINK

其它:

刪除database link(本例中是ORCL_LINK)

SQL> Drop database link ORCL_LINK;

建立同義詞

 create [public] synonym emp for scott.emp;

public 不知道加不加

如果同服務器,通常不推薦使用dblink

這種狀況最好用schema   數據庫名.表名

相關文章
相關標籤/搜索