进入达梦数据库启动实例的文件dm.ini中启动MAL_INI参数,并修改互通的库实例名字
ps:先停掉两个数据库实例服务,修改的dm.ini必须是启动达梦数据库实例的配置文件
修改/home/dmdba/dm/dmdbms/bin/dm.ini 中MAL_INI=1
如下例子:修改对应数据库的实例名称
数据库1的INSTANCE_NAME=DMSERVER1
数据库2的INSTANCE_NAME=DMSERVER2
在实例数据文件DAMENG中创建dmmal.ini文件进行如下配置
配置dmmal.ini 放到/dbdata/dmdata/DAMENG下
ps:两台数据库的dmmal.ini配置一样
如下面例子:
vi dmmal.ini
[MAL_INST1]
MAL_INST_NAME = DMSERVER1
MAL_HOST = 192.168.163.141 #数据库1的ip
MAL_PORT = 6437 #数据库1的mal 端口
MAL_INST_HOST = 192.168.163.141 #数据库1的ip
MAL_INST_PORT = 5236 #实例端口,默认都是5236
[MAL_INST2]
MAL_INST_NAME = DMSERVER2
MAL_HOST = 192.168.163.145 #数据库2的ip
MAL_PORT = 6438 #数据库2的mal 端口
MAL_INST_HOST = 192.168.163.145 #数据库2的ip
MAL_INST_PORT = 5236 #实例端口,默认都是5236
重启数据库服务进入bin目录中(ps:下面服务脚本是之前设定的,按照自己实际情况启动即可)
./dmservserd start
进入disql工具执行如下操作
ps:解释
1、create link: 这是创建数据库链接的命令。
2、"SYSDBA"."DM1": 这指定了链接的名称为 "DM1",属于 "SYSDBA" 用户。
3、connect 'DAMENG': 这表明链接将连接到 "DAMENG" 数据库。
4、with "SYSDBA" identified by "SYSDBA": 这指定了在连接时使用的用户名和密码。在这里,用户名是 "SYSDBA",密码也是 "SYSDBA"。
5、using 'DMSERVER1': 这指定了链接使用的服务器名称或地址,这里是 'DMSERVER1'。
因此,整个命令的目的是创建一个名为 "DM1" 的数据库链接,连接到 "DAMENG" 数据库,使用 "SYSDBA" 用户名和密码,并在 'DMSERVER1' 服务器上进行连接。
A、实例dmserver 1 中,创建连接
./disql SYSDBA/SYSDBA
create link "SYSDBA"."DM2" connect 'DAMENG' with "SYSDBA" identified by "SYSDBA" using 'DMSERVER2';
B、实例dmserver 2 中,创建连接
./disql SYSDBA/SYSDBA
create link "SYSDBA"."DM1" connect 'DAMENG' with "SYSDBA" identified by "SYSDBA" using 'DMSERVER1';
创建nc用户之间的public link
ps:解释:
1、create public link peerdb: 这是创建公共数据库链接的命令。"peerdb" 是链接的名称,这表示可以被其他用户访问。
2、connect 'DAMENG': 这表明链接将连接到 "DAMENG" 数据库。
3、with nc identified by "pubuser6186": 这指定了在连接时使用的用户名和密码。在这里,用户名是 "nc",密码是 "pubuser6186"。
4、using 'DMSERVER2': 这指定了链接使用的服务器名称或地址,这里是 'DMSERVER2'。
因此,整个命令的目的是创建一个名为 "peerdb" 的公共数据库链接,连接到 "DAMENG" 数据库,使用 "nc" 用户名和 "pubuser6186" 密码,并在 'DMSERVER2' 服务器上进行连接。这意味着其他用户可以访问并使用这个公共链接。
A、实例dmserver 1中
./disql SYSDBA/SYSDBA
create public link peerdb connect 'DAMENG' with nc identified by "pubuser6186" using 'DMSERVER2';
B、实例dmserver 2 中
./disql SYSDBA/SYSDBA
create public link peerdb connect 'DAMENG' with nc identified by "pubuser6186" using 'DMSERVER1';
查询设置dblink信息:
select * from dba_db_links;
测试:
查询DMSERVER1中的表
在实例DMSERVER2中查询DMSERVER1中的表
至此:达梦数据库dblink设置完成
更多讯息分享请前往:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台