欢迎访问机房运维工作室

爱数知识库

AnyBackup-Linux 环境下 Oracle 数据库浏览恢复失败,执行输出提示 ORA-01078 的错误。_2

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

AnyBackup-Linux 环境下 Oracle 数据库浏览恢复失败,执行输出提示 ORA-01078 的错误。

关键字

ORA-01078、浏览恢复

适用产品

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

问题描述

在 AnyBackup 管理控制台发起 Linux 环境下 Oracle 数据库异机浏览恢复任务时,恢复策略中勾选恢复控制文件以及恢复后使数据库联机选项,恢复任务执行失败,任务执行输出中提示如下错误信息:

数据库RMAN进程执行出现异常。(错误位置:ncOracleExecThread.cpp:455)(附加信息:RMAN输出线程出现错误,错误原因是: startup failed: ORA-01078: failure in processing system parameters 。(错误提供者:oracleBackup,错误值:e0500027,错误位置:ncOracleExecThread.cpp:386))

问题影响

AnyBackup 无法完成 Oracle 数据库异机浏览恢复。

问题原因

AnyBackup 执行数据库恢复时,会关闭需要恢复的数据库,然后重新启动到 nomount 状态,数据库启动时会优先使用 $ORACLE_HOME/dbs 下默认的参数文件,若该库路径下的 spfile 文件不存在或者命名不满足参数文件的规范,则会导致恢复时执行 startup failed 。

解决方案

为了解决上述问题,需要在 $ORACLE_HOME/dbs/ 目录下创建 spfile 文件,重新启动到 nomount 或者 mount 状态执行恢复操作,步骤如下:
1.在 Oracle 安装用户下,执行以下命令,登录到异机恢复的 Oracle 数据库,并关闭数据库。

export ORACLE_SID=sid
sqlplus / as sysdba
shutdown immediate


注意:sid 为 Oracle 数据库实例名,实例名区分大小写。

2.利用当前使用的 pfile 参数文件在默认位置创建 spfile 文件,并启动数据库到 nomount 状态,命令如下:

create spfile from pfile='/aishu/pfile_oracle:orcl.ora';
startup nomount;


注意:/aishu/pfile_oracle:orcl.ora 为当前数据库实例启动所用的 pfile 参数文件,具体以实际环境为主。

3.在 AnyBackup 管理控制台重新发起浏览恢复即可。

更多信息

Linux 下 Oracle 数据库 startup 依次寻找参数文件:pfileSID.ora > spfile.ora > initSID.ora。如果 $ORACLE_HOME/dbs/ 下面以上三个文件都没有,则 Oracle 启动不起来。