1、dblink(Database Link)数据库链接:当我们跨本地数据库,访问另一个数据库中的数据时,需创建远程数据库的链接来访问。
2、dblink的分类:
(1)普通dblink:只有创建语句中标识的用户才可以访问远程数据库
(2)公用dblink:本地数据库的所有用户均可访问远程数据库
3、配置前准备
服务器1:ip:10.22.10.119 port:5236 实例名:DMSERVER
服务器2:ip:10.22.10.115 port:5236 实例名:DMSERVER1
但是本次使用自己本地数据库进行测试:
第一个:ip:127.0.0.1 port:5236 实例名:DMSERVER
第二个:ip:127.0.0.1 port:5237 实例名:DMSERVER1
4、操作步骤
(1)创建dblink:(在5236中想访问5237中的数据库)
create public link "LINK1" connect 'DAMENG' with "SYSDBA" identified by "SYSDBA" using '127.0.0.1/5237'
(2)分别修改两个的dm.ini文件:修改MAL_INI=1
(3)dmmal.ini文件:如果没有就新建
两个dmmal.ini文件内容一致,写好一个,直接复制就可以了。
内容如下:(我的是建的两个数据库实例DMSERVER和DMSERVER1,所以修改的是对应下的dm.ini和dmmal.ini文件)
[MAL_INST1]
MAL_INST_NAME =DMSERVER #和dm.ini中的INSTANCE_NAME保持一致(实例名)
MAL_HOST = 127.0.0.1
MAL_PORT = 5251
MAL_INST_HOST = 127.0.0.1 #服务ip地址
MAL_INST_PORT = 5236 #和dm.ini中的PORT_NUM保持一致(端口号)
[MAL_INST2]
MAL_INST_NAME = DMSERVER1
MAL_HOST = 127.0.0.1
MAL_PORT = 5250
MAL_INST_HOST = 127.0.0.1
MAL_INST_PORT = 5237
(4)重启服务
因为我的是windows,所以直接是打开服务查看器重启服务
5、测试:
/*
Select * from 外部链接实例中的模式名.表名@外部连接名
例如: 实例2:模式:AA 表名:TEST
*/
Select * from aa.test@LINK1