Oracle|创建 DB Link

2022-05-23 12:37:21 浏览数 (2)

用途

dblink主要用于不同服务器数据库之间的关联操作。比如:想在A服务器之间从B服务器某表中取得数据,更新到A服务器某表中。

这样就可以使用dblink来操作,在查询A库表名加“@dblink”就行了,这个dblink是属于A库。

创建

代码语言:javascript复制
-- Create database link 
create public database link UTMS_TEST_81
  connect to UTMS identified by Vi_ts#81
  using '(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.200.136.207)(PORT = 17632)))(CONNECT_DATA = (SERVICE_NAME = UTMS) ) )';

关键字

中文含义

UTMS_TEST_81

dblink名称

UTMS

实例名

Vi_ts#81

密码

10.200.136.201

目标服务器IP

17632

目标服务器端口

删除

代码语言:javascript复制
-- Drop existing database link 
drop public database link UTMS_TEST_81;

测试

SQL均在A服务器窗口执行

代码语言:javascript复制
--查看A服务器实例名称,主机名,版本号
SELECT instance_name,host_name,version FROM v$instance;
代码语言:javascript复制
--查看dblink服务器实例名称,主机名,版本号
SELECT instance_name,host_name,version FROM v$instance@UTMS_TEST_81;

验证

验证从dblink服务器将用户密码更新到A服务器用户密码中

代码语言:javascript复制
--A服务器用户密码
select pn_password from person where id = 'w06549';
代码语言:javascript复制
--dblink服务器用户密码
select pn_password from person@UTMS_TEST_81 where id = 'w06549';
代码语言:javascript复制
--执行更新语句,将dblink用户密码更新到A服务器用户密码
update person set pn_password = (select pn_password from person@UTMS_TEST_81 where id = 'w06549') where id = 'w06549';
代码语言:javascript复制
--再次查看A服务器用户密码
select pn_password from person where id = 'w06549';

end

0 人点赞