Flash Recovery area space is not enough to cause the database to open or hang to live
1. Problem and resolution process
Sql> select status from V$instance;
STATUS
------------
Mounted
sql> ALTER DATABASE open;
ALTER DATABASE Open
*
Line 1th Error:
ORA-16014: Log 2 's serial number 27 is not archived and no destinations are available
ORA-00312: Online log 2 thread 1:
' D:/oracle/product/10.2.0/oradata/orcl/redo02. LOG '
Sql> Show Parameter Db_recovery_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
Db_recovery_file_dest string D:/oracle/product/10.2.0/flash_recovery_area
Db_recovery_file_dest_size Big Integer 2G
Sql> alter system archive log current;
Alter system archive Log current
*
Line 1th Error:
ORA-01109: Database not open
sql> alter system switch logfile;
ALTER SYSTEM switch logfile
*
Line 1th Error:
ORA-01109: Database not open
sql> shutdown immediate;
ORA-01109: Database not open
The database has been unloaded.
The ORACLE routine has been closed.
Sql> Startup
The ORACLE routine has started.
Total System Global area 201326592 bytes
Fixed Size 1248092 bytes
Variable Size 88081572 bytes
Database buffers 109051904 bytes
Redo buffers 2945024 bytes
See more highlights of this column: http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/
Database loading complete.
ORA-16038: Log 2 serial number 27 cannot be archived
ORA-19809: Exceeded the number of restore files limit
ORA-00312: Online log 2 thread 1:
' D:/oracle/product/10.2.0/oradata/orcl/redo02. LOG '
sql> ALTER DATABASE open;
ALTER DATABASE Open
*
Line 1th Error:
ORA-16014: Log 2 's serial number 27 is not archived and no destinations are available
ORA-00312: Online log 2 thread 1:
' D:/oracle/product/10.2.0/oradata/orcl/redo02. LOG '
Sql> Show Parameter Db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
Db_recovery_file_dest string D:/oracle/product/10.2.0/flash_recovery_area
Db_recovery_file_dest_size Big Integer 2G
Sql> alter system set DB_RECOVERY_FILE_DEST_SIZE=3G Scope=both;
The system has changed.
sql> ALTER DATABASE open;
The database has changed.
2. Reflection
(1) Check the use of Flash recovery area:
Sql> select * from V$flash_recovery_area_usage;
File_type percent_space_used percent_space_reclaimable Number_of_files
------------ ------------------ ------------------------- ---------------
Controlfile 0 0 0