欢迎访问机房运维工作室

爱数知识库

AnyBackup-Oracle 定时备份恢复失败,执行输出提示:ORA-19870,Failed to restore the Oracle data to

频道:爱数知识库 日期: 浏览:29

AnyBackup-Oracle 定时备份恢复失败,执行输出提示:ORA-19870,Failed to restore the Oracle data to be read

关键字

ORA-19870,Failed to restore the Oracle data to be read

适用产品

  • AnyBackup Enterprise 7.0.x
  • AnyBackup Express 7.0.x
  • AnyBackup CDM 7.0.x

问题描述

在使用 AnyBackup 进行 Oracle 定时备份进行恢复时,任务执行失败。执行输出中提示如下错误:

Failed to restore the Oracle data to be read,please check whether this file recovery directory has write permission and storage space sufficient.(Error provider: oracleschedule,error value 425984049,error location: ncOracleExecThread.cpp:396)

问题影响

AnyBackup 无法完成 Oracle 定时备份恢复。

问题原因

Oracle 数据库恢复时使用的 Blksize 和备份时使用的 Blksize 大小不一致,导致 AnyBackup 读取 Oracle 数据库备份数据时无法正常读取,从而出现该错误。

解决方案

为了解决该问题,需要在进行数据库恢复前将 Blksize 参数设置为和备份时一致。具体步骤如下:

1. 检查 Oracle 数据库备份时使用的 Blksize 大小。

a. 使用操作员或租户登录 AnyBackup web页面;

b. 点击【定时数据保护】-【数据备份】-【历史记录】;

c. 找到并查看恢复选择对应备份时间点的执行输出中 allocate channel 相关信息,获取备份时使用的 Blksize 。如下

注: 示例图中使用的 Blksize 大小为 4M。

2. ​执行恢复任务前,设置 Blksize 大小与备份时一致。

a. 使用 ssh 工具以 root 用户登录恢复目的端;

b. 使用 vi 命令编辑 AnyBackup 客户端安装目录/etc/ClientService/oracleEnv.config 配置文件,修改 Blksize 参数值与备份时一致。如下:

vi /aishu/AnyBackupClient/etc/ClientService/oracleEnv.config 找到 Blksize 参数并修改为如下内容:

Blksize = 4M

键入 ESC ,再输入 :wq 保存退出。

注:其中 /aihsu 为 AnyBackup 客户端安装目录,实际环境请修改为对应目录。​

3. ​重新发起 Oracle 定时恢复即可。

更多信息

Blksize 在未设置的情况下,默认大小为 0.25 MB.