程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle不同數據庫訪問DBLink

Oracle不同數據庫訪問DBLink

編輯:Oracle數據庫基礎
數據庫之間的鏈接建立在DATABASE LINK上。要創建一個DB LINK,必須先
在每個數據庫服務器上設置鏈接字符串。
  
  1、  鏈接字符串即服務名,首先在本地配置一個服務名,地址指向遠程的數據庫地址,服務名取為將來你要使用的數據庫鏈名:
  
2、創建數據庫鏈接,
進入系統管理員SQL>操作符下,運行命令:
  
SQL>create public database link beijing connect to scott identifIEd by tiger  
            using ''tobeijing'';
  
則創建了一個以scott用戶和北京數據庫的鏈接beijing,我們查詢北京的scott數據:
  
SQL>select * from emp@beijing;  
  
這樣就可以把深圳和北京scott用戶的數據做成一個整體來處理。
  
3、建立同義詞,為了使有關分布式操作更透明,Oracle數據庫裡有同義詞的對象synonym
  
SQL>create synonym bJScottemp for emp@beijing;
  
於是就可以用bJScottemp來替代帶@符號的分布式鏈接操作emp@beijing。
  
4、查看所有的數據庫鏈接,進入系統管理員SQL>操作符下,運行命令:
  
SQL>select owner,object_name from dba_objects where object_type=''DATABASE LINK'';


剛好用到, 取消dblink
3、查看數據庫連接
sql> select owner, db_link from dba_db_links;
ower    db_link
public   TEST.US.Oracle.COM

4、刪除數據庫連接
先從第三步中查看數據庫連接,取得其db_link的名稱

sql>drop public database link TEST.US.Oracle.COM
數據庫連接巳丟棄

比如:在一個數據庫B中訪問數據庫A中的表:

1.在數據庫B中創建數據庫鏈:
CREATE PUBLIC DATABASE LINK 數據庫鏈接名 CONNECT TO 用戶名 identifIEd by 密碼 using ''連接說明''
其中,連接說明必須為如下格式:
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.10.201)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME=ORCL)
)
)

2.訪問鏈接數據庫中的對象的語法:
用戶名.數據庫對象@數據庫鏈接名

3.查看所有的數據庫鏈接:
select owner,object_name from dba_objects where object_type=''DATABASE LINK'';

4.例子:
創建一個數據庫鏈接:
CREATE PUBLIC DATABASE LINK DBL_ORCL CONNECT TO province identifIEd by province_pwd
using ''(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.10.201)(PORT = 1521))
)
(CONNECT_DATA =
(service_name=ORCL)
)
)'';

在B庫中執行下面的語句,訪問A庫中的province.tj_ryxx 表:
select * from province.tj_ryxx@DBL_ORCL;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved