欢迎访问机房运维工作室

爱数知识库

AnyBackup-Linux 环境下 Oracle 数据库表级恢复失败,执行输出提示错误信息:Oracle表级恢复中选择的表:_表名_ 存在于原生产中,为了数

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

AnyBackup-Linux 环境下 Oracle 数据库表级恢复失败,执行输出提示错误信息:Oracle表级恢复中选择的表:<表名> 存在于原生产中,为了数据操作安全,请在备份生产库中重命名此表。

关键字

表级恢复、重命名

适用产品

  • AnyBackup 6.0.x
  • AnyBackup 5.0.x
  • 超易备5.0.x

问题描述

在 AnyBackup 管理控制台发起 Linux 环境下 Oracle 单机数据库表级恢复任务,任务执行失败,执行输出中提示如下错误信息:

Oracle恢复异常。(错误提供者:oracleBackup,错误值:e050001b,错误位置:ncOracleRestoreSchedule.cpp:52)(附加信息:Oracle表级恢复中选择的表:SYS.SCHOOL1存在于原生产库中,为了数据操作安全,请在备份生产库中重命名此表。(错误提供者:oracleBackup,错误值:e0500017,错误位置:ncOracleDatabaseManager.cpp:812)

问题影响

AnyBackup 无法完成 Oracle 数据库表级恢复。

问题原因

Oracle表级恢复中选择的表:<表名> 仍存在原生产库中,恢复时为了数据安全,无法直接覆盖该表,从而导致恢复失败。

解决方案

为了解决该问题,需要将原库中该表重命名后进行恢复,步骤如下:

警告:重命名表属于高危操作,请与数据库管理员确认后执行;Oracle 表级恢复只能恢复到原机,请与数据库管理员确认后执行任务恢复。

​1. 命令行登录异机 Oracle 数据库服务器,执行以下命令,登录到恢复的 Oracle 数据库并重命名需要恢复的表。

su - oracle

export ORACLE_SID=sid

sqlplus / as sysdba

alter table school1 rename to school1bak;

注意: sid 为数据库实例名。

2.在 AnyBackup 管理控制台重新发起恢复任务。

更多信息

Oracle 表级恢复要确保数据库中不存在同名表,否则会恢复失败,建议恢复前在生产库中 rename 或者 drop 相关表。