12C ADG出现问题,描述如下:
主库向表空间添加数据文件48GB,备库应用数据变化时由于ASM磁盘空间仅剩下5GB,无法满足扩充需求将read only with apply自动变为read only。 启用asmca向备库ASM磁盘组扩充了600GB,然后执行alter database recover managed standby database disconnect from session;想要变回read only with apply没有成功,报错如下:
根据报错信息可以初步判断136号数据文件没有创建成功,也就是主库添加的数据文件在备库创建失败。第136号数据文件应该为+DATA1/bc/up/datacore08.dbf
tail -100f alert*
Reconfiguration complete (total time 0.7 secs)
Mon May 04 13:55:53 2015
Managed Standby Recovery starting Real Time Apply
Mon May 04 13:55:53 2015
Errors in file /u01/12.1.0.1/oracle/diag/rdbms/bcst/bc2/trace/bc2_dbw0_21081.trc:
ORA-01186: file 136 failed verification tests
ORA-01157: cannot identify/lock data file 136 - see DBWR trace file
ORA-01111: name for data file 136 is unknown - rename to correct file
ORA-01110: data file 136: '/u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136'
Mon May 04 13:55:53 2015
File 136 not verified due to error ORA-01157
Mon May 04 13:55:54 2015
Managed Standby Recovery not using Real Time Apply
Mon May 04 13:55:54 2015
Reconfiguration started (old inc 42, new inc 44)
List of instances:
1 2 (myinst: 2)
Global Resource Directory frozen
Communication channels reestablished
Mon May 04 13:55:54 2015
more /u01/12.1.0.1/oracle/diag/rdbms/bcst/bc2/trace/bc2_dbw0_21081.trc
Loading kcnibr
DDE: Problem Key 'ORA 1110' was flood controlled (0x1) (no incident)
ORA-01110: data file 136: '/u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136'
DDE: Problem Key 'ORA 1110' was flood controlled (0x1) (no incident)
ORA-01110: data file 136: '/u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136'
ORA-01157: cannot identify/lock data file 136 - see DBWR trace file
ORA-01111: name for data file 136 is unknown - rename to correct file
ORA-01110: data file 136: '/u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136'
*** 2015-05-04 13:17:30.836141 4705 krsh.c
MRP0: Background Media Recovery terminated with error 1111
ORA-01111: name for data file 136 is unknown - rename to correct file
ORA-01110: data file 136: '/u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136'
ORA-01157: cannot identify/lock data file 136 - see DBWR trace file
ORA-01111: name for data file 136 is unknown - rename to correct file
ORA-01110: data file 136: '/u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136'
查看控制文件中的信息,能证实推断是正确的。
SYS@jzdbc2 >select file#,name from v$datafile;
FILE# NAME
---------- --------------------------------------------------------------------------------
133 +DATA1/bc/up/datacore05.dbf
134 +DATA1/bc/up/datacore06.dbf
135 +DATA1/bc/up/datacore07.dbf
136 /u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136
解决方案:
1. 修改备库为手动管理
SYS@bc2 >show parameter standby
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_archive_dest string ?/dbs/arch
standby_file_management string AUTO
SYS@bc2 >alter system set standby_file_management=manual;
2. 登录pdb,重新创建该数据文件到正确的路径
SYS@bc2 >alter session set container=up;
Session altered.
SYS@bc2 >alter database create datafile '/u01/12.1.0.1/oracle/product/db_1/dbs/UNNAMED00136' as '+DATA1/bc/up/datacore08.dbf';
Database altered.
3. 返回CDB,修改备库为自动管理
SYS@bc2 >conn /as sysdba
Connected.
SYS@bc2 >alter system set standby_file_management=AUTO;
4. 备库应用redo日志
SYS@bc2 >alter database recover managed standby database disconnect from session;
Database altered.
5. 验证read only with apply并跟踪alert日志,问题解决。
SYS@bc2 >select OPEN_MODE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from v$database;
OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
-------------------- -------------------- ----------------------------------------
READ ONLY WITH APPLY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY NOT ALLOWED
由于需要同步的redo比较多,所以SWITCHOVER_STATUS还处于NOT ALLOWED状态。
全文完
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29047826/viewspace-1622137/
,如需转载,请注明出处,否则将追究法律责任。