达梦数据库DM8配置DBLink实现跨库访问

一、修改dm.ini配置

进入达梦数据库启动实例的文件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

二、配置dmmal.ini

    在实例数据文件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;

达梦数据库DM8配置DBLink实现跨库访问_第1张图片

测试:

查询DMSERVER1中的表

达梦数据库DM8配置DBLink实现跨库访问_第2张图片

在实例DMSERVER2中查询DMSERVER1中的表

达梦数据库DM8配置DBLink实现跨库访问_第3张图片

至此:达梦数据库dblink设置完成

更多讯息分享请前往:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

你可能感兴趣的:(数据库,oracle)