要求具备条件1:
两台服务器之间能通,且将两台数据库服务器之间防火墙,SELINUX 关闭
要求具备条件2:
两台服务器之间的实例名不能一致,如果一致则配置MAL时会报错,达梦数据库无法启动。
1、配置dm.ini 开启MAL,打通两台主机之间的通信链路
停止两台达梦数据库的实例
[root@oracleadg1 dameng7]# etc/init.d/DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[root@oracleadg2 dameng7]# etc/init.d/DmServiceDMSERVER2 stop
Stopping DmServiceDMSERVER2: [ OK ]
修改dm.ini文件,开启MAL【修改之前记得备份dm.ini文件】
该配置默为0:MAL_INI = 0,将该参数开启,设置为1
2、配置dmmal.ini 文件,设置MAL相关参数
[dmdba@oracleadg1 DAMENG]$ cat dmmal.ini
[MAL_INST1]
MAL_INST_NAME = DMSERVER
MAL_HOST = 10.51.13.83
MAL_PORT = 5282
[MAL_INST2]
MAL_INST_NAME = DMSC
MAL_HOST = 172.25.11.104
MAL_PORT = 5282
[mal_inst1] :表示达梦实例1,
[mal_inst2] :表示达梦实例2,下面配置对于该实例的一些配置。
mal_inst_name:MAL实例名与数据库实例保持一致(与dm.ini文件里面的)
mal_host :数据库实例服务器地址
mal_port :数据库定义mal端口,不能配置为数据库本身的端口,需配置其他的端口名。
两台数据库均配置一样,配置后需要重启达梦数据库服务
3、重启两台主机上的达梦数据库
root@oracleadg1 dameng7]# etc/init.d/DmServiceDMSERVER restart
Stopping DmServiceDMSERVER: [ OK ]
Starting DmServiceDMSERVER: [ OK ]
[root@oracleadg2 dameng7]# etc/init.d/DmServiceDMSERVER2 restart
Stopping DmServiceDMSERVER2: [ OK ]
Starting DmServiceDMSERVER2: [ OK ]
重启后可以通过netstat 验证MAL端口是否正常监听
[root@oracleadg1 dameng7]# netstat -an|grep 5400
tcp 0 0 192.168.80.40:42931 192.168.80.41:5400 ESTABLISHED
tcp 0 0 192.168.80.40:60899 192.168.80.40:5400 ESTABLISHED
tcp 0 0 :::5400 :::* LISTEN
tcp 0 0 ::ffff:192.168.80.40:5400 ::ffff:192.168.80.41:33685 ESTABLISHED
tcp 0 0 ::ffff:192.168.80.40:5400 ::ffff:192.168.80.40:60899 ESTABLISHED
4、建立DBLINK并测试
create or replace public link LINKTEST
CONNECT with SC identified by 123456789 using '172.25.11.104/5282'
CONNECT 和WITH之间不加任何内容默认是DPI方式连接,也可以指定连接库方式是“dameng”
create or replace public link LINKTEST
CONNECT 'DAMENG' with SC identified by 123456789 using '172.25.11.104/5282'
数据库dblink的使用如下
SELECT * FROM AUDIT_DATA@LINKTEST
标签:OK,数据库,192.168,DBLINK,实例,之间,MAL,达梦 From: https://www.cnblogs.com/dll102/p/18393162