ITPub博客

首页 > 数据库 > Oracle > 物理standby取消应用日志,出现ORA-16136

物理standby取消应用日志,出现ORA-16136

原创 Oracle 作者:xing2999 时间:2012-09-18 16:55:06 0 删除 编辑


在物理备库取消日志应用时,出现ORA-16136的错误

SQL> alter database recover managed standby database cancel;

alter database recover managed standby database cancel

*

ERROR at line 1:

ORA-16136: Managed Standby Recovery not active


由错误提示看来,就是备库本没有启用应用日志的功能的,所以发出取消命令的话就出现了ORA-16136错误了。现在的问题是,备库的应用日志功能一直

都是启用的,现在怎么变成了没有启用了呢?

检查备库告警日志文件内容

[oracle@lonion bdump]$ cat alert_standby.log

Tue Sep 18 15:01:16 2012

RFS[1]: Successfully opened standby log 4: '/u01/app/oracle/oradata/standby/standbyredo01.log'

Tue Sep 18 15:01:20 2012

Media Recovery Log /u01/app/oracle/archivelog/1_38_760823283.arc

File #6 added to control file as 'UNNAMED00006' because

the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL

The file should be manually created to continue.

MRP0: Background Media Recovery terminated with error 1274

Tue Sep 18 15:01:23 2012

Errors in file /u01/app/oracle/admin/standby/bdump/standby_mrp0_5715.trc:

ORA-01274: cannot add datafile '/u01/app/oracle/oradata/lonion/test01.dbf' - file could not be created

Some recovered datafiles maybe left media fuzzy

Media recovery may continue but open resetlogs may fail

Tue Sep 18 15:01:23 2012

Errors in file /u01/app/oracle/admin/standby/bdump/standby_mrp0_5715.trc:

ORA-01274: cannot add datafile '/u01/app/oracle/oradata/lonion/test01.dbf' - file could not be created

Tue Sep 18 15:01:23 2012

MRP0: Background Media Recovery process shutdown (standby)

Tue Sep 18 15:02:29 2012

alter database recover managed standby database cancel

Tue Sep 18 15:02:29 2012

ORA-16136 signalled during: alter database recover managed standby database cancel...


由上述日志内容发现,主库新创建了表空间或添加了新的数据文件,在备库应用日志的时候,由于初始化参数standby_file_management设置为了manual

使得应用日志失败,中断MRP0进程(MRP0: Background Media Recovery terminated with error 1274)。

知道了问题出现的原因,解决问题就比较简单了。

首先,在主库中查询数据文件路径

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/lonion/system01.dbf

/u01/app/oracle/oradata/lonion/undotbs01.dbf

/u01/app/oracle/oradata/lonion/sysaux01.dbf

/u01/app/oracle/oradata/lonion/users01.dbf

/u01/app/oracle/oradata/lonion/lonion01.dbf

/u01/app/oracle/oradata/lonion/test01.dbf

6 rows selected.


在备库中查询数据文件路径

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/standby/system01.dbf

/u01/app/oracle/oradata/standby/undotbs01.dbf

/u01/app/oracle/oradata/standby/sysaux01.dbf

/u01/app/oracle/oradata/standby/users01.dbf

/u01/app/oracle/oradata/standby/lonion01.dbf

/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00006

6 rows selected.


重新设置备库不能识别的数据文件的路径

在备库中执行

SQL> alter database create datafile '/u01/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00006' as

'/u01/app/oracle/oradata/standby/test01.dbf

Database altered.


再次在备库中查询数据文件路径

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/standby/system01.dbf

/u01/app/oracle/oradata/standby/undotbs01.dbf

/u01/app/oracle/oradata/standby/sysaux01.dbf

/u01/app/oracle/oradata/standby/users01.dbf

/u01/app/oracle/oradata/standby/lonion01.dbf

/u01/app/oracle/oradata/standby/test01.dbf

6 rows selected.


此时,备库数据文件路径正确更正过来,重新应用日志

SQL> alter database recover managed standby database disconnect from session;

Database altered.


尝试取消应用日志,没有再出现ORA-16136错误了

SQL> alter database recover managed standby database cancel;

Database altered.


BTW:一般说来,在设置初始参数standby_file_management的时候,我们都是将其设置为auto。

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24389441/viewspace-1059458/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-09-29

  • 博文量
    42
  • 访问量
    148197