oracle database link使用说明
? ??
作用:將多個oracle數據庫邏輯上看成一個數據庫,也就是說在一個數據庫中可以操作另一個數據庫中的對象
簡易語法:
??? 注意:你必須有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的權限,另外,在你要連接的數據庫上,你必須有CREATE SESSION的權限.
語法解釋:?
??? dblink:以后在sql語句中使用的連接名, 在init.ora文件中,如果GLOBAL_NAMES=true,則這個dblink必須與數據庫全局名(SELECT * FROM GLOBAL_NAME;)相同.為了方便,可以ALTER SYSTEM SET GLOBAL_NAMES=FALSE;?
??? user和password:要連接的數據庫的合法用戶名和密碼?
??? connect_string:可以是經過Net Configuration Assistant配置的(tnsnames.ora)且經測試可以連接的別名,例如:orcl123,不過容易出問題,老提示出錯:無法解析字符串.最好寫成這種形式 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.78)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
使用:?
SELECT * FROM?USER_TABLES@dblink;?
UPDATE?jobs@dblink?SET min_salary = 3000 WHERE job_id = 'SH_CLERK';
數據庫之間的鏈接建立在DATABASE LINK上。要創建一個DB LINK,必須先在每個數據庫服務器上設置鏈接字符串。?
1、鏈接字符串即服務名,首先在本地配置一個服務名,地址指向遠程的數據庫地址,服務名取為將來你要使用的數據庫鏈名:???
2、創建數據庫鏈接,進入系統管理員SQL>操作符下,運行命令:?
SQL>CREATE PUBLIC DATABASE LINK DBL_mesdb15?
CONNECT TO scott identified by tiger?
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.190.113.15)(PORT = 1521))
)
(CONNECT_DATA =
(service_name=mesdb)
)
)';
則創建了一個以scott用戶和MESDB數據庫的鏈接DBL_mesdb15,我們查詢MESDB的scott數據:?
SQL>select * from?emp@DBL_mesdb15;?
3、建立同義詞,為了使有關分布式操作更透明,ORACLE數據庫里有同義詞的對象synonym?
SQL>create synonym bjscottemp for?emp@DBL_mesdb15;?
于是就可以用bjscottemp來替代帶@符號的分布式鏈接操作emp@DBL_mesdb15。?
4、查看所有的數據庫鏈接,進入系統管理員SQL>操作符下,運行命令:?
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
5、查看數據庫連接
sql> select owner, db_link from dba_db_links;?
ower db_link
public TEST.US.ORACLE.COM
6、刪除數據庫連接
先從第三步中查看數據庫連接,取得其db_link的名稱
sql>drop public database link DBL_mesdb15.US.ORACLE.COM
數據庫連接巳丟棄
轉載于:https://blog.51cto.com/11106335/1858591
總結
以上是生活随笔為你收集整理的oracle database link使用说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode 7中http通信出现如下错误
- 下一篇: Python 学习笔记 - socket