AnyBackup-Oracle 定时备份任务发起异客户端恢复失败,执行输出中提示错误信息:数据源为空,请检查恢复环境是否授权。
关键字
Oracle、数据源
适用产品
- AnyBackup Express 7.0.x
- AnyBackup Enterprise 7.0.x
- AnyBackup CDM 7.0.x
问题描述
登录 AnyBackup 管理控制台,依次点击定时数据保护 > 数据恢复 > 新建,新建 Oracle 数据恢复任务,选择数据恢复到异客户端,数据恢复任务开始执行后,点击恢复任务右侧的查看详情按钮,再点击执行信息 > 执行输出,查看到执行输出中显示下列错误提示:
数据源为空,请检查恢复环境是否授权。

问题影响
Oracle 数据库异客户端恢复失败。
问题原因
可能出现此问题的原因如下:
1. 恢复目的客户端未进行数据源授权。
2. 恢复目的客户端上的 Oracle 数据库名与原备份任务的数据库名不一致。
3. 恢复目的客户端实例授权时填写的数据库名字母大小写与原客户端授权时填写的数据库名不完全一致。
解决方案
场景一:恢复目的客户端未进行数据源授权。
为了解决此问题,需要登录 AnyBackup 管理控制台,输入恢复目的客户端上 Oracle 数据库实例的数据库名、数据库用户名及其密码对实例进行授权,重新发起数据恢复。具体操作步骤如下:
1. 登录 AnyBackup 管理控制台,点击资源 > 客户端,选择需要授权的目的客户端。
2. 选中目的客户端后,点击右边导航栏的权限配置,进入权限配置窗口,点击 Oracle 数据库的图标,选择用户名称后展开数据源可以看到未授权的实例状态。
3. 点击实例右边的未授权按钮,弹出对话框,如下图所示:

输入正确的数据库名、用户名、密码,点击测试按钮验证输入信息是否正确,测试成功后,然后点击确定。
4. 目的客户端实例授权成功后,重新发起 Oracle 数据库恢复任务。
场景二:恢复目的客户端上的 Oracle 数据库名与原备份任务的数据库名不一致。
为了解决此问题,需要重新准备与原备份任务数据库名完全一致的 Oracle 数据库环境再进行恢复。
场景三:恢复目的客户端实例授权时填写的数据库名字母大小写与原客户端授权时填写的数据库名不完全一致。
为了解决此问题,需要根据原客户端授权信息重新对恢复目的客户端 Oracle 数据库实例进行授权。具体操作步骤如下:
1. 登录 AnyBackup 管理控制台,点击定时数据保护 > 数据恢复 > 新建,选择要恢复的任务,点击下一步,选择要恢复的时间点,点击 + 号展开要恢复的数据,如下图所示,可以获取到原客户端授权时填写的数据库名为 orcl。

2. 在获取到原客户端授权信息后重新对恢复目的客户端实例进行授权。具体操作参考场景一操作步骤。
更多信息
1. 数据源授权时填写的 Oracle 数据库用户是需要具有 sysdba 权限的用户,建议使用 sys 用户。
2. Oracle 数据库恢复时要求备份和恢复端的数据名完全一致,恢复前需要对恢复目的客户端进行数据源授权。