当前位置:Gxlcms > mysql > ORA-19815,FlashbackLogs-Spacemanagement

ORA-19815,FlashbackLogs-Spacemanagement

时间:2021-07-01 10:21:17 帮助过:55人阅读

ORA-19815, Flashback Logs-Space management (文档 ID 369755.1) 适用于: Ora【本文来自鸿网互联 (http://www.68idc.cn)】cle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11.2] Information in this document applie

ORA-19815, Flashback Logs-Space management (文档 ID 369755.1)

适用于:
Ora【本文来自鸿网互联 (http://www.68idc.cn)】cle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11.2]
Information in this document applies to any platform.
***Checked for relevance on 08-Jan-2014***

目标:
recovery file dest被flashback log 撑爆了,在alert日志中报ora-19815错误,需要remove or reuse 掉flashback log(FBL)

解决方案:
flashback logs 是被oracle 内部处理的,dba不能控制flashback logs。这意味着dba不能手工delete flashback logs,唯一的方法是disable掉 flashback


The FlashBack Logs can ONLY be deleted by DISABLING FLASHBACK on database level
SQL> startup mount
alter database flashback off;
alter database open;


当遇到空间压力时,flashback log 基于如下2种情况被deleted

1)当一个归档日志被deleted时,oracle 会delete 掉 被归档日志所依赖的flashback logs

2)当quota被收缩时,flashback log 被deleted以回收disk space
减小DB_RECOVERY_FILE_DEST_SIZE参数值到一个特定值,以便让flashback log 遇到space pressure,老的flashback log 将会被deleted

我们可能遇见下面的bug:即使遇到fra区中的空间压力,flashback log 也不会被deleted。

Bug 5106952 FLASHBACK LOG SPACE NOT BEING RECLAIMED
Fixed In Ver: 11.0
Also the bug is fixed in patch set 10.1.0.6 and 10.2.0.3 .

虽然Bug 5106952 在11g中被fix了,这个过程依然可以被用来delete flashback log

1.- First of all we need to check if there is any guaranteed restore point defined:

     SQL> select name,scn,time,database_incarnation#,guarantee_flashback_database,storage_size from v$restore_point;

 2.- Remove all the restore points

     SQL> Drop restore point ;

  3.- Check how much space is used before turning off Flashback 

    SQL> select * from v$flash_recovery_area_usage;

 4.- SQL> ALTER DATABASE FLASHBACK OFF;

 5.-  Now you can delete the Flashback logs manually

 6.- SQL> ALTER DATABASE FLASHBACK ON;

 7.- Check that there are no flashback logs before turning back on

       SQL> select * from v$flash_recovery_area_usage;


人气教程排行