Home  >  Article  >  Database  >  ORA-19815,Flashback Logs-Space management

ORA-19815,Flashback Logs-Space management

WBOY
WBOYOriginal
2016-06-07 16:13:201141browse

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 <name>;

  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;


 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn