Skip to content

RMAN : Freeing FRA Space in an Emergency

The flashback recovery area has run out of space. You see a message in the alert log similar to the following :

Can not open flashback thread because there is no more space in flash recovery area.

sql>alter database open;
alter database open
*
ERROR at line 1:
ORA-38760 : This database instance failed to turn on flashback database.

Solution :

1.Increase space:-

You can increase the size of the flashback area.

sql>alter system set db_recovery_file_dest_size=10G;

2.Remove Restore Points

The alternative to increasing the size of the flashback area is to remove some of the older restore points that you no longer need.

sql>col name format a25
sql>select name , storage_size from v$restore_points;
Name                              Storage_size
RP0                                207028224
RP1                                                0
RP2                                915701760
PRE_TEST1                                    0
POST_TEST1                                  0
GOOD_ONE                                   0
QA_GOLD                                      0
BRANCH_1                                    0
AFTER_BRANCH_2                        0
AFTER_BRANCH_3                        0

10 rows selected.

restore points RP0 and RP2 have torage associated with them.this is because guaranteed restore points. You should remove them to make some room in the flash recovery area.

sql>drop restore point rp2;

Restore point dropped.

sql>drop restore point rp0;

Restore poing rp0;

Restore point dropped.

you may be able to start the database.
3.Disable Flashback

If solutions 1 and 3 fail or not applicable, you may want to disable flashback in the database temporarily.

sql>shutdown immediate

Oracle instance shutdown.

sql>startup mount

Database mounted.

sql>alter database flashback off;
Database altered.

This will stop the flashback operations and will stop generating flashback logs. To free up some space , you may want to delete some more files such as archived redo logs, unneeded backups and so on.

$ rman target /

Recovery Manager: Release 10.2.0.1.0 – Production on Wed Dec 23 14:20:52 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: RIYADH (DBID=3624306176)

RMAN> delete noprompt archivelog all;

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=153 devtype=DISK

List of Archived Log Copies
Key     Thrd Seq     S Low Time  Name
——- —- ——- – ——— —-
1       1    2       A 28-OCT-09 D:\ORACLE\ARCHIVE_01\ARC00002_0701448453.001
2       1    2       A 28-OCT-09 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RI
YADH\ARCHIVELOG\2009_12_19\O1_MF_1_2_5LRWHYC7_.ARC
3       1    3       A 19-DEC-09 D:\ORACLE\ARCHIVE_01\ARC00003_0701448453.001
4       1    3       A 19-DEC-09 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RI
YADH\ARCHIVELOG\2009_12_20\O1_MF_1_3_5LVJOJ5C_.ARC
5       1    4       A 20-DEC-09 D:\ORACLE\ARCHIVE_01\ARC00004_0701448453.001
6       1    4       A 20-DEC-09 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RI
YADH\ARCHIVELOG\2009_12_23\O1_MF_1_4_5M3FN1N0_.ARC
7       1    5       A 23-DEC-09 D:\ORACLE\ARCHIVE_01\ARC00005_0701448453.001
deleted archive log
archive log filename=D:\ORACLE\ARCHIVE_01\ARC00002_0701448453.001 recid=1 stamp=
706008375
deleted archive log
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RIYADH\ARCHIVE
LOG\2009_12_19\O1_MF_1_2_5LRWHYC7_.ARC recid=2 stamp=706008375
deleted archive log
archive log filename=D:\ORACLE\ARCHIVE_01\ARC00003_0701448453.001 recid=3 stamp=
706094569
deleted archive log
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RIYADH\ARCHIVE
LOG\2009_12_20\O1_MF_1_3_5LVJOJ5C_.ARC recid=4 stamp=706094569
deleted archive log
archive log filename=D:\ORACLE\ARCHIVE_01\ARC00004_0701448453.001 recid=5 stamp=
706353596
deleted archive log
archive log filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RIYADH\ARCHIVE
LOG\2009_12_23\O1_MF_1_4_5M3FN1N0_.ARC recid=6 stamp=706353596
deleted archive log
archive log filename=D:\ORACLE\ARCHIVE_01\ARC00005_0701448453.001 recid=7 stamp=
706370138
Deleted 7 objects.

Similarly…

RMAN>delete noprompt backup of database;
RMAN>delete noprompt copy of database;

sql>alter database open;
Database altered.

The database is now fully functional , but without the flashback ability. if you want to reenable flashback later ,you can do. because you’ve cleared unneeded files, the flash recovery area is fully usable whenever you choose to againg enable flashback.

I asked Mr.Surachart about Restore Point…

Mohamed Says : What is Restore point?
Surachart Says : A restore point is a user defined name that can be substituted for an SCN or clock time when used in conjuction with flashback database, flashback table and RMAN.

Mohamed Says : If i am go to delete restore point means m what’s happen?

Surachart Says : If you delete restore point , flashback not guarantee to that time or scn.

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: