环境:
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 (^ω^) startup ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它 13:54:47 idle (^ω^) shutdown abort ORACLE 例程已经关闭。 13:55:06 idle (^ω^) startup ORACLE 例程已经启动。 Total System Global Area 612368384 bytes Fixed Size 1250428 bytes Variable Size 205523844 bytes Database Buffers 398458880 bytes Redo 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_.L OG'
没有把经年累月叠成的归档日志刷到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_recover NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ db_recovery_file_dest string D:\oracle\product\10.2.0/flash _recovery_area db_recovery_file_dest_size big integer 3G 14: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拥塞导致的问题可能更复杂,我们需隔三差五的对其进行“净身”。