达梦数据库间DBlink配置

实验环境说明

达梦数据库1:192.168.80.40 DMSERVER RHEL 6.5 64位

达梦数据库2:192.168.80.41 DMSERVER2 RHEL 6.5 64位

达梦数据库版本:

DM Database Server x64 V7.1.5.117-Build(2016.09.29-73607)ENT

要求具备条件1:

两台服务器之间能通,且将两台数据库服务器之间防火墙,SELINUX 关闭。(本人在实验的时候做了一次蠢事,防火墙使用service iptable stop 停掉后,后面有重启主机忘记再次停了,之后做DBLINK的测试,死活不行,建议在开始就将防火墙给禁掉。chkconfig iptables off)

要求具备条件2:

达梦安装需要用dm.key 否则DBLINK配置开启MAL不成功,必须进行安全功能设置,如果不配置dm.key就无法进行安全功能配置。

要求具备条件3:

两台数据库的实例名不能一致,如果一致则配置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

达梦数据库间DBlink配置_第1张图片

该配置默为0:MAL_INI = 0,将该参数开启,设置为1

#configuration file

MAL_INI = 1 #dmmal.ini

ARCH_INI = 0 #dmarch.ini

REP_INI = 0 #dmrep.ini

LLOG_INI = 0 #dmllog.ini

TIMER_INI = 0 #dmtimer.ini

MPP_INI = 0 #dmmpp.ini

两个达梦数据库均以上配置,开启MAL后,需要配置dmmal.ini

2、配置dmmal.ini 文件,设置MAL相关参数

两个达梦数据库均配置dmmal.ini文件,该文件可以参考dmmal_example.ini ,可复制下来可以修改,也可以自己编辑,内容如下:

[dmdba@oracleadg1 DAMENG]$ cat dmmal.ini

[mal_inst1]

mal_inst_name = DMSERVER

mal_host = 192.168.80.40

mal_port = 5400

[mal_inst2]

mal_inst_name = DMSERVER2

mal_host = 192.168.80.41

mal_port = 5400

[mal_inst1] :表示达梦实例1,

[mal_inst2] :表示达梦实例2,下面配置对于该实例的一些配置。

mal_inst_name:MAL实例名与数据库实例保持一致

mal_host :数据库实例服务器地址

mal_port :数据库定义mal端口,不能配置为5236,需配置其他的端口名。

两台数据库均配置一样,配置后需要重启达梦数据库

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

[root@oracleadg1 dameng7]#

能正常监听,则配置成功,否则需检查那个地方配置有误。

4、建立DBLINK并测试

在源机192.169.80.40上创建DBLINK,如下:

[root@oracleadg1 ~]# /dameng7/dmdbms/bin/disql sysdba/oracle

服务器[LOCALHOST:5236]:处于普通打开状态

使用普通用户登录

登录使用时间: 51.697(毫秒)

disql V7.1.5.117-Build(2016.09.29-73607)ENT

Connected to: DM 7.1.5.117

SQL> CREATE or replace PUBLIC LINK LINK02 CONNECT 'DAMENG' WITH SYSDBA IDENTIFIED BY oracle USING '192.168.80.41/5400';

操作已执行

已用时间: 38.163(毫秒). 执行号:9.

SQL> select * from v$version@LINK02;

行号 BANNER

---------- --------------------------------------------------------------

1 DM Database Server x64 V7.1.5.117-Build(2016.09.29-73607)ENT

2 DB Version: 0x70009

已用时间: 00:00:02.423. 执行号:10.

也可以在192.169.80.41上创建DBLINK连接40上的达梦数据库,如下:

[root@oracleadg2 ~]# /dameng7/dmdbms/bin/disql sysdba/oracle

服务器[LOCALHOST:5236]:处于普通打开状态

使用普通用户登录

登录使用时间: 680.260(毫秒)

disql V7.1.5.117-Build(2016.09.29-73607)ENT

Connected to: DM 7.1.5.117

SQL> CREATE or replace PUBLIC LINK LINK02 CONNECT 'DAMENG' WITH SYSDBA IDENTIFIED BY oracle USING '192.168.80.40/5400';

操作已执行

已用时间: 00:00:02.190. 执行号:10.

SQL> select * from v$version@LINK02;

行号 BANNER

---------- --------------------------------------------------------------

1 DM Database Server x64 V7.1.5.117-Build(2016.09.29-73607)ENT

2 DB Version: 0x70009

已用时间: 578.159(毫秒). 执行号:11.

测试验证OK,达梦数据库之间的DBLINK配置完成。

注意事项

1、达梦数据库服务器之间通信要通,且防火墙,SELINUX关闭,否则提示如下报错

SQL> select * from v$version@LINK02;

select * from v$version@LINK02;

第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[v$version]失败.

已用时间: 26.456(毫秒). 执行号:5.

2、达梦数据库安装配置时必须要配置dm.key,否则无法开启MAL。

3、配置端口不要配置数据库访问端口,如5236 ,配置其他端口。

4、创建DBLINK一定要使用MAL端口,否则提示如下错误信息:

CREATE or replace PUBLIC LINK LINK02 CONNECT 'DAMENG' WITH SYSDBA IDENTIFIED BY oracle USING '192.168.80.40/5236';

第1 行附近出现错误[-8707]:实例不存在.

已用时间: 00:00:01.003. 执行号:11.

5、注意SQL串中用户为大写,否则提示如下错误信息:

SQL> select * from v$version@LINK02;

select * from v$version@LINK02;

第1 行附近出现错误[-2251]:DBLINK远程服务器获取对象[v$version]失败.

已用时间: 26.456(毫秒). 执行号:5.

 

你可能感兴趣的:(数据库,服务器,java)