flash_recovery_area过小引起的日志无法归档的处理方案
环境:
14:13:26 sys@ORCL (^ω^) select * from v$version where rownum=1;BANNER--------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
出问题的是个测试库,从安装到现在一直没清理过flash_recovery_area。
13:54:29 idle (^ω^) startupORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它13:54:47 idle (^ω^) shutdown abortORACLE 例程已经关闭。13:55:06 idle (^ω^) startupORACLE 例程已经启动。Total System Global Area 612368384 bytesFixed Size 1250428 bytesVariable Size 205523844 bytesDatabase Buffers 398458880 bytesRedo Buffers 7135232 bytes数据库装载完毕。ORA-16038: 日志 3 序列号 48 无法归档ORA-19809: 超出了恢复文件数的限制ORA-00312: 联机日志 3 线程 1:'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ONLINELOG\O1_MF_3_7TQZWZOY_.LOG'ORA-00312: 联机日志 3 线程 1:'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ONLINELOG\O1_MF_3_7TQZX11D_.LOG'
没有把经年累月叠成的归档日志刷到SBT上,导致flash_recovery_area空间压力,新的归档无法进去。
13:59:27 idle (^ω^) alter database clear unarchived logfile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ONLINELOG\O1_MF_3_7TQZWZOY_.LOG';alter database clear unarchived logfile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ONLINELOG\O1_MF_3_7TQZWZOY_.LOG'*第 1 行出现错误:ORA-01514: 日志说明中出现错误: 没有此类日志ORA-01517: 日志成员:'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ONLINELOG\O1_MF_3_7TQZWZOY_.LOG'
手动清除未归档的日志会直接报错。
14:00:37 idle (^ω^) archive log start;已处理的语句14:05:24 idle (^ω^) archive log next;ORA-16014: 日志 3 的序列号 48 未归档, 没有可用的目的地ORA-00312: 联机日志 3 线程 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ONLINELOG\O1_MF_3_7TQZWZOY_.LOG'ORA-00312: 联机日志 3 线程 1: 'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ONLINELOG\O1_MF_3_7TQZX11D_.LOG'14:05:34 idle (^ω^) show parameter db_recoverNAME TYPE------------------------------------ ----------------------VALUE------------------------------db_recovery_file_dest stringD:\oracle\product\10.2.0/flash_recovery_areadb_recovery_file_dest_size big integer3G14:06:09 idle (^ω^) alter system set db_recovery_file_dest_size=4g ;系统已更改。14:06:51 idle (^ω^) archive log next;已存档一个日志。14:07:18 idle (^ω^) alter database open;数据库已更改。
恢复完毕。
小结:在生产库上由于flash_recovery_area拥塞导致的问题可能更复杂,我们需隔三差五的对其进行“净身”。