1、问题描述
下午社区的小伙伴提问,DG进行switchovert时报错无法进行切换
操作系统版本:windows 2012r2
数据库版本:11.2.0.4
进行切换时报错如下图所示,提示ORA-19809和ORA-19804

2、问题分析
首先是分析报错ORA-19809和ORA-19804
我这里没有windows环境,就找了套LINUX的环境,直接用oerr查看一下报错
ORA-19809报错原因如下
[oracle@rac1 ~]$ oerr ora 19809
19809, 00000, "limit exceeded for recovery files"
//*Cause: The limit for recovery files specified by the
// DB_RECOVERY_FILE_DEST_SIZE was exceeded.
// *Action: There are five possible solutions:
// 1) Take frequent backup of recovery area using RMAN.
// 2) Consider changing RMAN retention policy.
// 3) Consider changing RMAN archived log deletion policy.
// 4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
// 5) Delete files from recovery area using RMAN.
ORA-19804报错原因如下
[oracle@rac1 ~]$ oerr ora 19804
19804, 00000, "cannot reclaim %s bytes disk space from %s limit"
// *Cause: Oracle cannot reclaim disk space of specified bytes from the
// DB_RECOVERY_FILE_DEST_SIZE limit.
// *Action: There are five possible solutions:
// 1) Take frequent backup of recovery area using RMAN.
// 2) Consider changing RMAN retention policy.
// 3) Consider changing RMAN archived log deletion policy.
// 4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
// 5) Delete files from recovery area using RMAN.
报错里都提到了DB_RECOVERY_FILE_DEST_SIZE这个参数,建议是释放闪回空间。
3、问题处理
按报错指引,我建议他加大闪回空间,可以临时调大点。
调整完毕后,反馈再次尝试切换没有报错了

虽然没看到闪回空间的使用情况,估计大概率时归档大多了。
之后还是建议再检查下闪回空间并进行清理。