Rumah  >  Artikel  >  pangkalan data  >  ORA-19815,Flashback Logs-Space management

ORA-19815,Flashback Logs-Space management

WBOY
WBOYasal
2016-06-07 16:13:201190semak imbas

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;


 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn