为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm v8
【操作系统】:Windows Server 2022
【CPU】:intel x86_64
【问题描述】*:麻烦各位大牛帮忙看一下,在使用DRMAN进行脱机恢复测试时,执行DMRMAN命令时,DMRMAN报错:DM-7169:bakres与DMAP消息通信失败,经过检查确认,dmap服务已经启动,任务管理器可找到dmap进程,且已进行过dmap服务重启。
但netstat命令下未找到dmap进程占用4236端口的记录。
以下是日志信息:
2024-12-12 08:04:14 sbtrestore(filepath=F:\bakfile\databak\DB_TDB_FULL_20241210\DB_TDB_FULL_20241210_3\DB_TDB_FULL_20241210_3.bak)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 4096)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 512)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 1392640)
2024-12-12 08:04:14 sbtclose()
2024-12-12 08:04:14 sbtrestore(filepath=F:\bakfile\databak\DB_TDB_FULL_20241210\DB_TDB_FULL_20241210_0\DB_TDB_FULL_20241210_0.bak)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 4096)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 512)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 10469376)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 512)
2024-12-12 08:04:14 sbtread(buf != NULL, buf_len = 24576)
2024-12-12 08:04:14 sbtclose()
2024-12-12 08:04:14 sbtend(del_flag=FALSE), sbt_sys = 0x48e02c8
2024-12-12 08:04:13.669 [INFO] dmap_br P0000002444 T0000000000000002716 dmap_br V8
2024-12-12 08:04:13.685 [INFO] dmap_br P0000002444 T0000000000000002716 dmap_br 2444 start with command .\dmap_br.exe 2964 41232720
2024-12-12 08:04:13.685 [INFO] dmap_br P0000002444 T0000000000000002716 dmap_br open socket 4
2024-12-12 08:04:14.879 [INFO] dmap_br P0000002444 T0000000000000002716 dmap_br exit successfully
2024-12-12 08:04:20.614 [INFO] dmap_br P0000004412 T0000000000000003540 dmap_br V8
2024-12-12 08:04:20.630 [INFO] dmap_br P0000004412 T0000000000000003540 dmap_br 4412 start with command .\dmap_br.exe 2964 43329360
2024-12-12 08:04:20.630 [INFO] dmap_br P0000004412 T0000000000000003540 dmap_br open socket 4
2024-12-12 08:04:20.824 [INFO] dmap_br P0000004412 T0000000000000003540 dmap_br exit successfully
2024-12-12 08:04:13.606 [INFO] dmap P0000002964 T0000000000000006740 accept connection 127.0.0.1:63447
2024-12-12 08:04:13.622 [INFO] dmap P0000002964 T0000000000000001096 create subprocess dmap_br by path: .\dmap_br.exe!
2024-12-12 08:04:13.622 [INFO] dmap P0000002964 T0000000000000001096 dmap_os_prcs_create create subprocess with command .\dmap_br.exe 2964 41232720
2024-12-12 08:04:13.622 [INFO] dmap P0000002964 T0000000000000001096 create subprocess dmap_br successfully
2024-12-12 08:04:20.533 [INFO] dmap P0000002964 T0000000000000006740 accept connection 127.0.0.1:63448
2024-12-12 08:04:20.533 [INFO] dmap P0000002964 T0000000000000005316 create subprocess dmap_br by path: .\dmap_br.exe!
2024-12-12 08:04:20.549 [INFO] dmap P0000002964 T0000000000000005316 dmap_os_prcs_create create subprocess with command .\dmap_br.exe 2964 43329360
2024-12-12 08:04:20.549 [INFO] dmap P0000002964 T0000000000000005316 create subprocess dmap_br successfully
2024-12-12 08:04:20.824 [INFO] dmrman P0000005812 T0000000000000006252 socket_err_should_retry errno:10054
2024-12-12 08:04:20.824 [ERROR] dmrman P0000005812 T0000000000000006252 dmap_msg_recv failed, errno = 183, desc = 当文件已存在时,无法创建该文件。
已成功进行异机还原操作,忽略备份集校验失败报错后,直接进行restore archive log和restore database,可成功进行数据库恢复。目前报错原因不确定,怀疑可能与虚拟机硬件性能瓶颈有关,后续待验证。
你是远程在做备份还原吗?看途中路径又像是本地的备份与还原测试;DMSERVER服务去哪了?
1、使用非AP的方式备份,配置参数BAK_USE_AP=2,需要重启数据库。
2、重启下操作系统后启动AP服务,再测试下。
3、确认相关目录权限。
4、是否有过版本变更?
不使用AP时的备份相关备份或检查动作,需要提前修改不使用AP的参数
设置数据库参数备份不使用AP进程(可动态修改):
sp_set_para_value(1,'BAK_USE_AP',2);
BAK_USE_AP:
备份还原实现策略。
1:DMAP辅助进程方式,要求必须启动DMAP服务,可支持第三方备份。DMAP插件执行,改造了备份还原任务子系统,允许指定并行度,大幅提升了备份还原的效率,特别是加密、压缩的处理效率。
2:无辅助进程方式,不依赖DMAP,由主进程DMSERVER自身执行备份还原,但不支持第三方备份
可以使用非AP的方式备份,配置参数BAK_USE_AP=2