达梦数据库在同一服务器上配置多个 AP 服务

一、问题背景

在实际环境中,我们有时需要在同一台服务器上运行两个不同版本的达梦数据库。这时会遇到一个常见问题:默认的 AP 服务(辅助进程)会占用 4236 端口,导致第二个 AP 服务无法启动,进而导致第二个数据库服务的定时备份作业报错:-134 执行码版本不匹配。解决思路很简单——为第二个数据库实例配置另一个的 AP 服务,并指定一个新的端口。下面是具体操作步骤。

二、问题解决

2.1 创建新的 dmap.ini 配置文件

在第二个数据库实例的数据目录下(例如 /data/dmdata/DAMENG/)新建 dmap.ini 文件,并设置一个未被占用的端口号,比如 4237。

# 文件路径:/data/dmdata/DAMENG/dmap.ini
AP_PORT = 4237

2.2 重新注册 AP 服务

使用达梦自带的脚本注册新的 AP 服务,并通过 -dmap_ini 参数明确指定刚才创建的配置文件。这样系统就会根据新端口来启动服务。

# 需要用 root 用户执行
/data/dmdbms/script/root/dm_service_installer.sh -t dmap -dmap_ini /data/dmdata/DAMENG/dmap.ini

2.3 修改数据库参数

登录到第二个数据库实例,执行以下 SQL 语句,将 EXTERNAL_AP_PORT 参数修改为刚才配置的端口 4237。这样数据库在需要进行备份等操作时,就会自动连接到新的 AP 服务。

SP_SET_PARA_VALUE(1, 'EXTERNAL_AP_PORT', 4237);

参数介绍:执行C外部函数或AP备份还原使用的AP的端口号,DMAP的监听端口,监听方配置此参数。

执行后参数立即生效,无需重启数据库。

三、验证与总结

完成上述三步后,第二个 AP 服务就会使用 4237 端口运行,与占用 4236 端口的第一个 AP 服务互不干扰。可以手动执行之前报错的定时作业验证是否可以成功备份。希望这篇小记能帮助遇到同样问题的朋友少走弯路。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇