AnyBackup-达梦数据库备份失败,执行输出提示错误:err_msg = 没有[V$DM_ARCH_INI]对象的查询权限, err_code = -5504
关键字
达梦、查询权限
适用产品
- 超易备 5.0.x
- AnyBackup 6.0.x
- AnyBackup CDM 7.0.9.1 及以上版本
- AnyBackup Express 7.0.9.1 及以上版本
问题描述
在 AnyBackup 管理控制台上,对达梦数据库进行备份时,执行输出中显示如下错误信息:
err_msg = 没有[V$DM_ARCH_INI]对象的查询权限, err_code = -5504(错误提供者:dmBackup,错误值:452132864) 异常提供者:dmschedule,异常号:451936257。
问题影响
AnyBackup 无法成功完成达梦数据库备份。
问题原因
AnyBackup 备份达梦数据库时会查询 V$DM_ARCH_INI 视图获取归档路径等信息,因此需要使用具有 DBA 权限的用户授权数据源,当授权数据源的用户不具有 DBA 权限时,会导致 AnyBackup 备份达梦数据库失败。
解决方案
为了解决此问题,需要使用具有 DBA 权限的用户授权数据源或在数据库中授予授权数据源时使用的用户 DBA 权限。
方案一,使用 sysdba 用户及其密码重新授权数据源。
1.使用操作员登录 AnyBackup 管理控制台,依次点击资源 > 客户端。
2.选中达梦数据库对应的客户端,点击权限配置后,选择达梦数据库,点击+依次展开达梦数据库备份服务器至看到数据库实例。点击[已授权],弹出授权达梦数据库实例提示框,填写 sysdba 及其密码和端口号后点击确定。


3.重新发起达梦数据库备份任务。
方案二,在数据库中授予授权数据源时使用的用户 DBA 权限。
1.通过 SSH 工具登录达梦数据库所在的服务器,切换至达梦数据库安装用户,以达梦数据库安装用户为 dmdba 为例。
su - dmdba
2.执行以下命令并输入 sysdba 用户的密码,登录目标数据库实例。
disql sysdba
3.执行以下命令授予用户 DBA 权限,以授权数据源时使用的用户为 aishu 为例。
GRANT DBA TO aishu;
4.返回 AnyBackup 管理控制台重新发起达梦数据库备份任务。
更多信息
查询达梦数据库用户是否具有 DBA 权限请登录数据库执行以下命令,以授权数据源时使用的用户为 aishu 为例。
SELECT GRANTEE,GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE='DBA' AND GRANTEE='AISHU';