Standby_file_management参数导致日志无法应用

来源:这里教程网 时间:2026-03-03 18:29:29 作者:

最近在加主库添加数据文件时导致备库无法被应用,警告日志报如下错误:

Media Recovery Waiting for thread 1 sequence 921276 (in transit)

Recovery of Online Redo Log: Thread 1 Group 72 Seq 921276 Reading mem 0

  Mem# 0: +DATA/ractd/onlinelog/group_72.393.965631001

File #2172 added to control file as 'UNNAMED02172' 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

Errors in file /u01/app/oracle/diag/rdbms/ractd/racdb1/trace/racdb1_pr00_8585508.trc:

ORA-01274: cannot add datafile '+ /data/tb01' - file could not be created

Mon Apr 18 17:21:10 2018

Managed Standby Recovery not using Real Time Apply

Mon Apr 18 17:21:17 2018

Recovery interrupted!

Mon Apr 18 17:21:39 2018

Recovered data files to a consistent state at change 15893497106246

Mon Apr 18 17:21:39 2018

……………….

Mon Apr 18 17:21:40 2018

Mon Apr 18 17:21:40 2018

 LMS 3: 0 GCS shadows cancelled, 0 closed, 0 Xw survived

 LMS 1: 0 GCS shadows cancelled, 0 closed, 0 Xw survived

Mon Apr 18 17:21:40 2018

 LMS 2: 0 GCS shadows cancelled, 0 closed, 0 Xw survived

 Set master node info

 Submitted all remote-enqueue requests

 Dwn-cvts replayed, VALBLKs dubious

 All grantable enqueues granted

Mon Apr 18 17:22:00 2018

 Submitted all GCS remote-cache requests

 Fix write in gcs resources

Mon Apr 18 17:22:01 2018

RFS[233]: Selected log 71 for thread 1 sequence 921277 dbid -357299396 branch 822617764

Mon Apr 18 17:22:01 2018

RFS[218]: Selected log 108 for thread 2 sequence 83914 dbid -357299396 branch 822617764

Mon Apr 18 17:22:01 2018

Archived Log entry 124723 added for thread 2 sequence 83913 ID 0xffffffffeab48e3c dest 1:

Reconfiguration complete

Mon Apr 18 17:22:02 2018

Block change tracking service stopping.

Mon Apr 18 17:22:02 2018

Stopping background process CTWR

Mon Apr 18 17:22:03 2018

MRP0: Background Media Recovery process shutdown (racdb1)

Mon Apr 18 17:22:06 2018

Archived Log entry 124724 added for thread 1 sequence 921276 ID 0xffffffffeab48e3c dest 1:

Mon Apr 18 17:23:13 2018

RFS[233]: Selected log 72 for thread 1 sequence 921278 dbid -357299396 branch 822617764

Mon Apr 18 17:23:19 2018

Archived Log entry 124725 added for thread 1 sequence 921277 ID 0xffffffffeab48e3c dest 1:

Mon Apr 18 17:24:20 2018 RFS[233]: Selected log 71 for thread 1 sequence 921279 dbid -357299396 branch   从警告日志 看,备库中一些归档日志无法被应用。原本以为是添加数据文件加到本地(asm),查看主库时添加的数据文件,一切正常,查看从备库的日志来看,File #2172 added to control file as 'UNNAMED02172' because the parameter STANDBY_FILE_MANAGEMENT is set to MANUAL 原来是参数STANDBY_FILE_MANAGEMENT设置了手动,导致MRP0进程无法启动。   为什么这样 原理如下: 以上问题主要是因为:Standby_file_management参数为STANDBY_FILE_MANAGEMENT =MANUAL造成不会自动管理数据文件,主库增加了数据文件,备库不会自动增加,

正常备库应用的是归档文件,但主库添加数据文件时,,此时会有一部分数据不在归档日志中,但这部分数据会等主数据库恢复完后 'UNNAMED02172' 等这样的文件命名保存此数据,此文件保存在DBS中,从操作系统中进去查看却看不到这个文件。同时这个数据也会传到备库对应的目录中。

若数据库应用日志的先后顺序是这样:redo1->redo2->redo3 ……..,在添加数据文件时,当时redo用到了                                                 因此若不处理UNNAMED02172这个数据文件的话,则备库在应用redo时就会出错,提示找到文件,就会出现不能应用日志的情况。要想能正常应用日志,先处理UNNAMED02172的文件,处理后备库先应用unname文件,然后才能按日志的顺序应用。   处理过程如下: 1. 调整standby_file_management参数为 manual alter system set standby_file_management= manual scope=both sid=’*’;  

2. 通过 control file 手工创建数据文件

SQL>  alter database create datafile ' /u01/app/oracle/product/11.2.0/db_1/dbs/UNNAMED02162 ' as '+data/datafile/';

 3. standby_file_management 设置为 auto

SQL>  alter system set standby_file_management=auto scope=both sid=’*’;

 

4.  启动恢复

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

 

5. 检查一下是否同步

SQL> select to_char(checkpoint_time,'yyyy-mm-dd hh24:mi:ss') from v$datafile;

 

结论:

一般在添加数据文件时需要主要如下参数:

备库

standby_file_management

db_FILES

DB_FILE_NAME_convert

LOG_FILE_NAME_CONVERT

查看应用日志状态:

select value from v$dataguard_stats where name='apply lag';       

相关推荐