最近的项目遇到要使用Oracle的DB Link功能,记录一下私有DB Link的整个建立过程。
假设你有两个服务器A和B,需要在A连接B。
建立DB Link的语句很简单,如下:
create database link DBLink名称
connect to 用户名 identified by 密码
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ×.×.×.×)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';
DB Link名称使用服务器B的全局名称,可以在服务器B中使用下面的语句获得:
SELECT * FROM GLOBAL_NAME
当然,不使用B的全局名称作为DB Link的名称也可以,但是要设置服务器A的global_names=false,这样就可以随意使用任何名字。
用户名和密码用来登录服务器B。
using后面的连接字符串可以使用服务器A的本地服务名代替,但最好用上面的写法,这样不用再配置本地服务名。
使用DB Link的语法如下,以查询为例:
SELECT * FROM 表名@DBLink名称