达梦数据使用DBLINK,实现DM到DM的跨库访问

配置环境

IP操作系统数据库版本
192.168.10.11centos 7.4DM8
192.168.10.12centos 7.4DM8

修改两个实例数据目录下的dmmal.ini文件,如果没有这个文件则创建,修改内容如下:

[DMSERVER1]
MAL_INST_NAME = DMSERVER1       #实例名和dm.ini中的INSTANCE_NAME保持一致
MAL_INST_HOST = 192.168.10.11   #对外开放的服务IP地址
MAL_INST_PORT = 5236            #对外开放的服务端口和dm.ini中的PORT_NUM保持一致
MAL_HOST = 192.168.10.11        #系统监听TCP连接IP地址
MAL_PORT = 61142                #系统监听TCP连接端口

[DMSERVER2]
MAL_INST_NAME = DMSERVER2
MAL_INST_HOST = 192.168.10.12
MAL_INST_PORT = 5236
MAL_HOST = 192.168.10.12
MAL_PORT = 61142

分别修改两个实例数据目录下的dm.ini文件,修改内容如下:

将MAL_INI = 0	修改成	MAL_INI = 1 #启用MAL系统

重启两个数据库实例使参数修改生效:

[dmdba@localhost ~]$ DmServiceDMSERVER restart
Stopping DmServiceDMSERVER:                                [ OK ]
Starting DmServiceDMSERVER:                                [ OK ]

打开达梦数据库客户端登陆需要创建DBLINK的实例执行如下SQL语句:

create link <实例用户>.<自定义外部连接名> connect '<数据库类型>' with <登陆用户> identified by <用户密码> using '外部连接实例的IP地址/端口号'
示例:disql登录192.168.10.11的实例创建DBLINK
create link "SYSDBA"."LINK1" connect 'DAMENG' with "SYSDBA" identified by "SYSDBA" using '192.168.10.12/61142';

测试连接:

select * from <外部连接实例中的模式名>.<外部连接实例中的表名>@<外部连接名>
示例:连接192.168.10.11的实例,查询192.168.10.12实例上的test表
SQL> select * from test@LINK1;

行号     ID         
---------- -----------
1          1

注意事项:
1.dmmal.ini 中必须设置不同的实例名
2.注意防火墙是否关闭
3.DBLINK两个实例的的数据库大版本必须一致,DM7和DM7或者DM8和DM8之间可以配置成功,DM7和DM8之间会报错
4.如果是在同一台机器上的两个实例间进行配置,DMSERVER1和DMSERVER2的MAL_INST_PORT 、MAL_PORT 需要配置成不同的端口,否则会端口冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值