Oracle归档日志异常被删除的原因

问题现象:
因业务组需求,需查一个表的历史操作记录,当时这个表没做审计,于是只能用logmnr日志挖掘的功能去查,后来发现前一日的某个时间段的归档日志消失了,应该是中间出现一个间隔,这个问题比较奇怪,因为备份任务清理过期归档日志并不在这个时间段,而且经查实并没有人为删除操作。

问题分析:
经分析排查,判断如下:
这是由于自动维护任务调用进程VKRM进程清理可回收空间引起的,以下为归档被删除的alert 日志:

Sat Nov 02 03:00:00 2013
Setting Resource Manager plan DEFAULT_MAINTENANCE_PLAN via parameter
Sat Nov 02 03:00:00 2013
Starting background process VKRM
Sat Nov 02 03:00:00 2013
VKRM started with pid=100, OS id=19638 
Sat Nov 02 03:05:05 2013
Thread 1 advanced to log sequence 42518 (LGWR switch)
  Current log# 1 seq# 42518 mem# 0: +REDOLOG1/erprac/onlinelog/group_1.256.788892321
  Current log# 1 seq# 42518 mem# 1: +REDOLOG2/erprac/onlinelog/group_1.256.788892321
Sat Nov 02 03:05:05 2013
Deleted Oracle managed file +ERPFRA/erprac/archivelog/2013_11_02/thread_2_seq_24595.7712.830393561
Deleted Oracle managed file +ERPFRA/erprac/archivelog/2013_11_02/thread_1_seq_42513.7717.830393709
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6618.7748.800372925
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6619.7749.800372929
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6621.7751.800372937
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_5871.2270.800369903
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6622.7753.800372941
Archived Log entry 67025 added for thread 1 sequence 42517 ID 0xda5588ea dest 1:
Sat Nov 02 04:09:13 2013
Thread 1 advanced to log sequence 42519 (LGWR switch)
  Current log# 2 seq# 42519 mem# 0: +REDOLOG1/erprac/onlinelog/group_2.257.788892333
  Current log# 2 seq# 42519 mem# 1: +REDOLOG2/erprac/onlinelog/group_2.257.788892333
Sat Nov 02 04:09:15 2013
Archived Log entry 67027 added for thread 1 sequence 42518 ID 0xda5588ea dest 1:
Sat Nov 02 04:25:06 2013
Thread 1 advanced to log sequence 42520 (LGWR switch)
  Current log# 3 seq# 42520 mem# 0: +REDOLOG1/erprac/onlinelog/group_3.258.788892339
  Current log# 3 seq# 42520 mem# 1: +REDOLOG2/erprac/onlinelog/group_3.258.788892339
Sat Nov 02 04:25:07 2013
Deleted Oracle managed file +ERPFRA/erprac/archivelog/2013_11_02/thread_2_seq_24596.7725.830394587
Deleted Oracle managed file +ERPFRA/erprac/archivelog/2013_11_02/thread_1_seq_42514.7737.830396251
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6630.7762.800372973
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6632.7765.800372981
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6633.7766.800372987
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6634.7767.800372991
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_6635.7768.800372995
Deleted Oracle managed file +ERPFRA/erprac/flashback/log_984.3809.803987449
Archived Log entry 67028 added for thread 1 sequence 42519 ID 0xda5588ea dest 1:

从删除的时间来看,是经过一定时间间隔进行的,这个被删除的归档日志是经过RMAN成功备份后才删除回收的,由于当时归档日志的占了整个快速恢复区的大部分容量,而且整个快速恢复区也接近90%,所以从资源考虑,会把可回收的日志清理,这里主要是对闪回日志和可释放的归档日志进行删除,注意在5号后,由于数据归档任务已完成,并且4号那天晚上我对该区进行了手工释放大批空间,所以5号后的警告日志已无出现这些自动清理日志信息。

另外对于这个进程的官方注解:

RKRM:
VKRM manages the CPU scheduling for all managed Oracle processes. The process schedules managed processes in accordance with
an active resource plan.

这个应该是11G后的新特性,为了保护快速恢复区,对于该功能的描述无太详细的资料,还需要进一步研究。