备用控制文件错误

sne*_*eha 6 oracle dataguard

我在做数据卫士。我已经手动完成了备用数据库的备份。它工作正常。当我使用备用控制文件时出现问题。在主服务器上,我创建了一个备用控制文件并将其传输到备用。

scp test_sdy oracle@db3.oracle.com:/u03/app/oracle/oradata/TEST1/control01.ctl
cp /u03/app/oracle/oradata/TEST1/control01.ctl \
   /u03/app/oracle/flash_recover_area/TEST1/control02.ctl
Run Code Online (Sandbox Code Playgroud)

备用设备init.ora包含:

*.control_files='/u03/app/oracle/oradata/TEST1/control01.ctl','/u03/app/oracle/flash_recovery_area/TEST1/control02.ctl'
Run Code Online (Sandbox Code Playgroud)

当我使用 pfile 启动备用数据库时,出现此错误:

ORA-10458: standby database requires recovery
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/u03/app/oracle/oradata/TEST1_SDY/system01.dbf'
Run Code Online (Sandbox Code Playgroud)

我是不是对备用控制文件做错了什么?我怎样才能解决这个问题?

小智 1

我认为你的问题出在备用数据库的参数文件中,可能是你定义了一些东西:

LOG_FILE_NAME_CONVERT='/u03/app/oracle/oradata/TEST1','/u03/app/oracle/oradata/TEST1_SDY'

此参数更改备用版本的 dbfiles 上的位置。这里是文档的链接:

https://docs.oracle.com/cd/B19306_01/server.102/b14237/initparams112.htm#REFRN10098

如果您在备用数据库的参数文件中删除此行并重新启动应该可以工作,并且使用之前创建的相同控制文件备用版本。