Oracle|创建 DB Link

用途

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

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

创建

-- 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 目标服务器端口

删除

-- Drop existing database link
drop public database link UTMS_TEST_81;

测试

 SQL均在A服务器窗口执行

--查看A服务器实例名称,主机名,版本号
SELECT instance_name,host_name,version FROM v$instance;

Oracle|创建 DB Link-每日运维

--查看dblink服务器实例名称,主机名,版本号
SELECT instance_name,host_name,version FROM v$instance@UTMS_TEST_81;

Oracle|创建 DB Link-每日运维

验证

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

--A服务器用户密码
select pn_password from person where id = 'w06549';

Oracle|创建 DB Link-每日运维

--dblink服务器用户密码
select pn_password from person@UTMS_TEST_81 where id = 'w06549';

Oracle|创建 DB Link-每日运维

--执行更新语句,将dblink用户密码更新到A服务器用户密码
update person set pn_password = (select pn_password from person@UTMS_TEST_81 where id = 'w06549') where id = 'w06549';

Oracle|创建 DB Link-每日运维

--再次查看A服务器用户密码
select pn_password from person where id = 'w06549';

Oracle|创建 DB Link-每日运维

end

Oracle|创建 DB Link-每日运维