DM8-DM8 DBLINK连接
1 环境介绍
环境 | 库1 | 库2 |
---|---|---|
IP地址 | 192.168.111.150 | 192.168.111.155 |
OS版本 | CentOS Linux release 7.8.2003 | CentOS Linux release 7.8.2003 |
DB版本 | V8 1-2-84-21.10.21-149328-10032-ENT | V8 1-2-84-21.10.21-149328-10032-ENT |
实例名 | DMTEST | DMTEST02 |
端口 | 5236 | 5236 |
MAL IP | 192.168.111.150 | 192.168.111.155 |
MAL端口 | 5251 | 5251 |
2 测试步骤
测试:在库1建立到库2的DBLINK。
2.1 配置dm.ini
库1修改MAL_INI为1,
[dmdba@dmtest ~]$ cat /dmdata/dmdb/dm.ini |grep MAL_INI
MAL_INI = 1 #dmmal.ini
库2修改MAL_INI为1,
[dmdba@dmhs01 ~]$ cat /opt/dm/data/DAMENG/dm.ini |grep MAL_INI
MAL_INI = 1 #dmmal.ini
2.2 配置dmmal.ini
库1与库2的DMMAL.INI配置文件内容一致如下(实例名不一样)
库1,
[dmdba@dmtest DAMENG]$ cat /dm/dmdata/DAMENG/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = DMTEST
MAL_HOST = 192.168.111.150
MAL_PORT = 5251
MAL_INST_HOST = 192.168.111.150
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = DMTEST02
MAL_HOST = 192.168.111.155
MAL_PORT = 5251
MAL_INST_HOST = 192.168.111.155
MAL_INST_PORT = 5236
库2,
[dmdba@dmhs01 ~]$ cat /opt/dm/data/DAMENG/dmmal.ini
[MAL_INST1]
MAL_INST_NAME = DMTEST
MAL_HOST = 192.168.111.150
MAL_PORT = 5251
MAL_INST_HOST = 192.168.111.150
MAL_INST_PORT = 5236
[MAL_INST2]
MAL_INST_NAME = DMTEST02
MAL_HOST = 192.168.111.155
MAL_PORT = 5251
MAL_INST_HOST = 192.168.111.155
MAL_INST_PORT = 5236
2.3 重启数据库
重启库1与库2的数据库。(根据各自节点的服务方式选择重启方式)
库1,
[root@dmtest bin]# systemctl restart DmServiceDMTEST
库2,
[root@dmhs01 ~]# systemctl restart DmServiceDMTEST02
2.4 创建DBLINK
2.4.1 使用DM管理工具创建
打开DM管理工具,连接库1,选择外部链接,配置如下,点击确定。
名称:testlink(dblink名,我写的小写,它没有自动转成大写)
连接源类型:DAMENG
用户名:库2的用户名
口令:库2用户名的密码
链接字符串:选择库2的链接名(根据dmmal.ini配置,这里面会有两个字符串)
注:勾选了公共,即创建的公共DBLINK。
选择创建的dblink名,然后右键测试,
显示测试成功。
2.4.2 使用SQL语句创建
库1,创建public dblink,
SQL> create public link testlink02 connect ‘DAMENG’ with sysdba identified by SYSDBA using ‘192.168.111.155/5236’;
解释:
public指每个用户都可以使用;
connect ‘DAMENG’ 指连接的是DAMENG数据库;
‘192.168.111.155/5236’ 指库2的连接符。测了一下,端口号用5251或者5236都可以。
如果要创建私有的dblink,不添加public即可。
2.5 测试DBLINK
假设:库2已提前创建了一个test01表(sysdba用户下),并含有几条数据。
使用testlink测试,
SQL> select * from test01@“testlink”;
LINEID C1 C2
1 3 third
2 4 hh
3 5 ow
4 6 victory
used time: 9.287(ms). Execute id is 901.
注:link名加了双引号,因为使用工具创建时写的是小写,数据库直接加了双引号,没有自动转成大写,自己创建的时候要注意一下。
使用testlink02测试,
SQL> select * from test01@testlink02;
LINEID C1 C2
1 3 third
2 4 hh
3 5 ow
4 6 victory
used time: 262.022(ms). Execute id is 900.
https://eco.dameng.com