1.描述生产环境dg 10.2.0.4,是由RMAN异机恢复,主库存在的redo路径在备库并未提取创建,也并未rename 日志文件,因此recover databaes完毕之后,其余MRP进程,同步应用日志,发现redo备库不存在,如下是操作日志2.操作尝试取消mrp
alter database recover managed standby database cancel;
确认dg角色
SQL> select dbid,
name,
database_role,
open_mode,
SWITCHOVER_STATUS,
FLASHBACK_ON,
PROTECTION_MODE,
FORCE_LOGGING
from v$database;
DBID NAME DATABASE_ROLE
----------- ---------- --------------------
3xx9 WxxxB PHYSICAL STANDBY
参数调整
SQL> alter system set standby_file_management=manual;
查询日志组状态
SQL> select group# ,thread#,bytes/1024/1024,status from v$log;
GROUP# THREAD# BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 1024 CLEARING
2 1 1024 CLEARING
3 1 1024 CLEARING_CURRENT
4 1 1024 CLEARING
5 1 1024 CLEARING
6 1 1024 CLEARING
7 1 1024 CLEARING
8 1 1024 CLEARING
8 rows selected.
手工对日志组进行clear后续进行drop 发现报错!
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
alter database drop logfile group 6;
ORA-01624: log 6 needed for crash recovery of instance webdb (thread 1)ORA-00312: online log 6 thread 1: '/oracle/oradata/redolog/redo6.log'
根据MOS文档,Drop Redo Logs on Standby操作失败!!!Sync Redo Logs on Primary and Standby 这部分区域存在一句话描述
7. Start Redo Apply:
When using Oracle Database >=10.2.0.1 and LOG_FILE_NAME_CONVERT is configured the online redo logs will
be automatically cleared and physically created when starting recovery.
因此采用上述建议恢复参数
SQL> alter system set standby_file_management=auto;
设置参数,与主库相同,本次并不做转换
alter system set LOG_FILE_NAME_CONVERT ='/oracle/oradata/redolog/','/oracle/oradata/redolog/' scope=spfile;
SQL> startup force mount;
重启dg生效参数开启mrp进程
SQL>recover managed standby database disconnect from session;
观察db_alert
Managed Standby Recovery not using Real Time Apply
parallel recovery started with 16 processes
Tue Nov 26 22:57:15 2019
Waiting for all non-current ORLs to be archived...
Tue Nov 26 22:57:15 2019
Errors in file /oracle/admin/webdb/bdump/webdb_mrp0_13806.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/oracle/oradata/redolog/redo1.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Tue Nov 26 22:57:15 2019
操作系统验证-日志存在
[oracle@ytwebdb redolog]$ cd /oracle/oradata/redolog/
[oracle@ytwebdb redolog]$ ls -lrt
total 8388672
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo1.log
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo2.log
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo3.log
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo4.log