达梦数据库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;

测试:

查询DMSERVER1中的表

在实例DMSERVER2中查询DMSERVER1中的表

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

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

  • 49
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
达梦数据库提供了全局搜索表的功能。通过对达梦常见表操作、各类对象的创建和注意事项、视图、同义词、函数、DBlink等进行学习和介绍,可以进行单表查询。此外,达梦数据库还支持数据库连接的删除操作,可以使用DROP LINK语句来删除数据库链接。对于大型的企业应用或企业级的数据库应用中的大量数据,达梦数据库提供了分区技术,可以将表和索引中的数据分割成小的单位,存放在单独的段中,以提高数据库在大数据量读写操作和查询时的效率。水平分区方式包括范围、哈希和列表三种方式,企业可以根据需求选择合适的分区方法对大量数据进行分区。这样的分区方式可以满足企业对高可用性、均衡IO、降低维护成本、提高查询性能的要求。因此,达梦数据库提供了全局搜索表的功能,可以满足用户在大型应用系统中对数据的快速查询需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [深入浅出达梦SQL(基础篇)](https://blog.csdn.net/weixin_42018955/article/details/123819991)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [达梦数据库对象管理之分区表](https://blog.csdn.net/weixin_42018955/article/details/124994880)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值