[Oracle]为何Archivelog 没有马上被删除
Posted 健哥的数据花园
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Oracle]为何Archivelog 没有马上被删除相关的知识,希望对你有一定的参考价值。
[Oracle]为何Archivelog 没有马上被删除
客户设置了 Archivelog 的 deletion policy 是 CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
所以,他认为只要在Standby 端提交了,就应该将此 Archivelog 自动删除。
但是,客户仍然发现 FRA 满了,所以提出了质疑。
经过调查,我认为,
删除不是马上发生的,只有当系统有需要时,才会进行。
Applied,只是保证这个Archivelog 成为了 删除的候选对象(reclaimable)
论据:
======================================================================
Oracle Database does not
delete eligible files from the flash recovery area
until the space must be reclaimed for some other purpose. ***1
......
Oracle Database automatically deletes eligible files to reclaim space in the recovery area as needed. ***2
...
- Archived redo logs are not eligible for deletion
until all the consumers of the logs have satisfied their requirements ( If Archived Redo Log Deletion Policy is set ) . ***4
论点:
======================================================================
上面的 ***4 说:
applied 之后,它们只是变成 eligible 。
上面的 ***1 和 ***2 说:
FRA有需要的时候,才会 删除的。
结论:
======================================================================
applied 了,也不是马上就删除的。有需要的时候,由系统自动来删除。
以上是关于[Oracle]为何Archivelog 没有马上被删除的主要内容,如果未能解决你的问题,请参考以下文章
Oracle数据库的归档模式(archivelog mode)
Oracle Logminer 分析重做日志RedoLog和归档日志ArchiveLog
How to Delete Archivelog Using RMAN in Oracle
『ORACLE』修改归档时报错:instance recovery required, cannot set ARCHIVELOG mode