作者:手机用户2602927807 | 来源:互联网 | 2014-07-09 16:02
flash_recovery_area过小引起的日志无法归档的处理方案环境:[sql]14:13:26sys@ORCL(^ω^)select*fromv$versionwhererownum1;www.2cto.comBANNER---------------------------------..
flash_recovery_area过小引起的日志无法归档的处理方案
环境:
[sql]
14:13:26 sys@ORCL (^ω^) select * from v$version where rownum=1;
www.2cto.com
BANNER
--------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
出问题的是个测试库,从安装到现在一直没清理过flash_recovery_area。
[sql]
13:54:29 idle (^ω^) startup
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
13:54:47 idle (^ω^) shutdown abort
ORACLE 例程已经关闭。www.2cto.com
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: www.2cto.com
'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ONLINELOG\O1_MF_3_7TQZX11D_.L
OG'
没有把经年累月叠成的归档日志刷到SBT上,导致flash_recovery_area空间压力,新的归档无法进去。
[sql]
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'
手动清除未归档的日志会直接报错。
[sql]
14:00:37 idle (^ω^) archive log start;
已处理的语句 www.2cto.com
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 ;
www.2cto.com
14:06:51 idle (^ω^) archive log next;
已存档一个日志。
14:07:18 idle (^ω^) alter database open;
数据库已更改。
恢复完毕。
小结:在生产库上由于flash_recovery_area拥塞导致的问题可能更复杂,我们需隔三差五的对其进行“净身”。