oracle 归档日志满了如何避免
oracle 归档日志满了如何处理转自:http://blog.csdn.net/linghe301/article/details/9291273?今天在进行Or
oracle 归档日志满了如何处理
转自:http://blog.csdn.net/linghe301/article/details/9291273
?
今天在进行Oracle相关测试,因为Windows自动更新,自己重启机器了,结果重启完毕之后,我的oracle就无法正常启动了
报ora-03113错误。
[csharp]?view plaincopyprint??
- ORA-03113:?通信通道的文件结尾??
- 进程?ID:?8636??
- 会话?ID:?192?序列号:?9??
?
?
去D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log里面查看报错信息,发现以下相关信息
[csharp]?view plaincopyprint??
- Errors?in?file?d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_9532.trc:??
- ORA-19815:?警告:?db_recovery_file_dest_size?字节?(共?4102029312?字节)?已使用?100.00%,?尚有?0?字节可用。??
- ************************************************************************??
- You?have?following?choices?to?free?up?space?from?recovery?area:??
- 1.?Consider?changing?RMAN?RETENTION?POLICY.?If?you?are?using?Data?Guard,??
- ???then?consider?changing?RMAN?ARCHIVELOG?DELETION?POLICY.??
- 2.?Back?up?files?to?tertiary?device?such?as?tape?using?RMAN??
- ???BACKUP?RECOVERY?AREA?command.??
- 3.?Add?disk?space?and?increase?db_recovery_file_dest_size?parameter?to??
- ???reflect?the?new?space.??
- 4.?Delete?unnecessary?files?using?RMAN?DELETE?command.?If?an?operating??
- ???system?command?was?used?to?delete?files,?then?use?RMAN?CROSSCHECK?and??
- ???DELETE?EXPIRED?commands.??
- ************************************************************************??
- Errors?in?file?d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_9532.trc:??
- ORA-19809:?超出了恢复文件数的限制??
- ORA-19804:?无法回收?47112704?字节磁盘空间?(从?4102029312?限制中)??
- ARCH:?Error?19809?Creating?archive?log?file?to?'D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_171_%U_.ARC'??
- Errors?in?file?d:\app\administrator\diag\rdbms\orcl\orcl\trace\orcl_ora_9532.trc:??
- ORA-16038:?日志?3?sequence#?171?无法归档??
- ORA-19809:?超出了恢复文件数的限制??
- ORA-00312:?联机日志?3?线程?1:?'D:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG'??
这个信息以及很清楚了,说明我的归档日志满了
?
那么怎么才能验证我的归档日志满了呢?
首先我看一下我的DB_RECOVERY_FILE_DEST_SIZE值有多大
[csharp]?view plaincopyprint??
- C:\Users\Administrator>sqlplus?/nolog??
- ??
- SQL*Plus:?Release?11.2.0.1.0?Production?on?星期三?7月?10?15:33:36?2013??
- ??
- Copyright?(c)?1982,?2010,?Oracle.??All?rights?reserved.??
- ??
- SQL>?conn?/?as?sysdba??
- 已连接。??
- SQL>?startup?mount;??
- ORACLE?例程已经启动。??
- ??
- Total?System?Global?Area?5110898688?bytes??
- Fixed?Size??????????????????2184592?bytes??
- Variable?Size????????????3355445872?bytes??
- Database?Buffers?????????1744830464?bytes??
- Redo?Buffers????????????????8437760?bytes??
- 数据库装载完毕。??
- SQL>?show?parameter?db_recovery_file_dest_size;??
- ??
- NAME?????????????????????????????????TYPE????????VALUE??
- ------------------------------------?-----------?-----??
- db_recovery_file_dest_size???????????big?integer?3912M??
但是我实际的归档日志文件
?
db_recovery_file_dest ? ?= "D:\app\Administrator\flash_recovery_area"
? db_recovery_file_dest_size= 3912M
D:\app\Administrator\flash_recovery_area\orcl\ARCHIVELOG路径下有3.8GB已经达到临界值,也就是错误上面所述。
?
问题已经找到,我怎么才能进行修复呢。其实报错日志里面的信息以及写的很清楚了使用RMAN登录
因为归档日志很多,我紧紧截取了少部分
[csharp]?view plaincopyprint??
- C:\Users\Administrator>rman??target?/??
- ??
- 恢复管理器:?Release?11.2.0.1.0?-?Production?on?星期三?7月?10?14:58:42?2013??
- ??
- Copyright?(c)?1982,?2009,?Oracle?and/or?its?affiliates.??All?rights?reserved.??
- ??
- 连接到目标数据库:?ORCL?(DBID=1336354077)??
- ??
- RMAN>?delete?archivelog?all;??
- ??
- 使用目标数据库控制文件替代恢复目录??
- 分配的通道:?ORA_DISK_1??
- 通道?ORA_DISK_1:?SID=222?设备类型=DISK??
- db_unique_name?为?ORCL?的数据库的归档日志副本列表??
- =====================================================================??
- ??
- 关键字?????线程序列?????S?时间下限??
- -------?----?-------?-?----------??
- 96??????1????167?????A?10-7月?-13??
- ????????名称:?D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_167_8XSOXYGH_.ARC??
- ??
- 97??????1????168?????A?10-7月?-13??
- ????????名称:?D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_168_8XSOY383_.ARC??
- ??
- 98??????1????169?????A?10-7月?-13??
- ????????名称:?D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_169_8XSOY9R0_.ARC??
- ??
- 99??????1????170?????A?10-7月?-13??
- ????????名称:?D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_170_8XSOYH2F_.ARC??
- ??
- 100?????1????171?????A?10-7月?-13??
- ????????名称:?D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_171_8XT08TB7_.ARC??
- ??
- 101?????1????172?????A?10-7月?-13??
- ????????名称:?D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_172_8XT08TGG_.ARC??
- ??
- 102?????1????173?????A?10-7月?-13??
- ????????名称:?D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_173_8XT0900C_.ARC??
- ??
- ??
- 是否确定要删除以上对象?(输入?YES?或?NO)???
- ??
- 是否确定要删除以上对象?(输入?YES?或?NO)??yes??
- 已删除的归档日志??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_167_8XSOXYGH_.ARC?RECID=96?ST??
- AMP=820410050??
- 已删除的归档日志??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_168_8XSOY383_.ARC?RECID=97?ST??
- AMP=820410057??
- 已删除的归档日志??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_169_8XSOY9R0_.ARC?RECID=98?ST??
- AMP=820410062??
- 已删除的归档日志??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_170_8XSOYH2F_.ARC?RECID=99?ST??
- AMP=820410067??
- 已删除的归档日志??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_171_8XT08TB7_.ARC?RECID=100?S??
- TAMP=820420638??
- 已删除的归档日志??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_172_8XT08TGG_.ARC?RECID=101?S??
- TAMP=820420638??
- 已删除的归档日志??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_173_8XT0900C_.ARC?RECID=102?S??
- TAMP=820420643??
- 7?对象已删除??
其实方法还有很多
?
1:增大db_recovery_file_dest_size值
2:更换归档日志路径
3:检查失效的归档日志文件,然后删除
[csharp]?view plaincopyprint??
- C:\Users\Administrator>rman??target?/??
- ??
- 恢复管理器:?Release?11.2.0.1.0?-?Production?on?星期三?7月?10?15:41:53?2013??
- ??
- Copyright?(c)?1982,?2009,?Oracle?and/or?its?affiliates.??All?rights?reserved.??
- ??
- 已连接到目标数据库:?ORCL?(DBID=1336354077,?未打开)??
- ??
- RMAN>?crosscheck?archivelog?all;??
- ??
- 使用目标数据库控制文件替代恢复目录??
- 分配的通道:?ORA_DISK_1??
- 通道?ORA_DISK_1:?SID=189?设备类型=DISK??
- 对归档日志的验证成功??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_174_8XT1VGG9_.ARC?RECID=103?S??
- TAMP=820422255??
- 对归档日志的验证成功??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_175_8XT1WOMS_.ARC?RECID=104?S??
- TAMP=820422294??
- 对归档日志的验证成功??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_176_8XT1Y02X_.ARC?RECID=105?S??
- TAMP=820422338??
- 对归档日志的验证成功??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_177_8XT1Z783_.ARC?RECID=106?S??
- TAMP=820422377??
- 对归档日志的验证成功??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_178_8XT20GWL_.ARC?RECID=107?S??
- TAMP=820422416??
- 对归档日志的验证成功??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_179_8XT21P6K_.ARC?RECID=108?S??
- TAMP=820422458??
- 对归档日志的验证成功??
- 归档日志文件名=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2013_07_10\O1_MF_1_180_8XT231SN_.ARC?RECID=109?S??
- TAMP=820422499??
- 已交叉检验的?7?对象??
?
?
如何删除参考:http://www.blogjava.net/decode360/archive/2009/06/25/287747.html
?
其实本身我的Oracle是非归档模式,前一段时间进行了测试切换成归档模式了,所以导致今天的问题,那么这次就直接切换成非归档模式
[csharp]?view plaincopyprint??
- SQL>?conn?/?as?sysdba??
- 已连接。??
- SQL>?archive?log?list??
- 数据库日志模式????????????存档模式??
- 自动存档?????????????启用??
- 存档终点????????????USE_DB_RECOVERY_FILE_DEST??
- 最早的联机日志序列?????178??
- 下一个存档日志序列???180??
- 当前日志序列???????????180??
- ??
- SQL>?shutdown?immediate;??
- 数据库已经关闭。??
- 已经卸载数据库。??
- ORACLE?例程已经关闭。??
- ??
- SQL>?startup?mount;??
- ORACLE?例程已经启动。??
- ??
- Total?System?Global?Area?5110898688?bytes??
- Fixed?Size??????????????????2184592?bytes??
- Variable?Size????????????3355445872?bytes??
- Database?Buffers?????????1744830464?bytes??
- Redo?Buffers????????????????8437760?bytes??
- 数据库装载完毕。??
- SQL>?alter?database?noarchivelog;??
- ??
- 数据库已更改。??
- ??
- SQL>?alter?database?open;??
- ??
- 数据库已更改。??
- ??
- SQL>?archive?log?list;??
- 数据库日志模式?????????????非存档模式??
- 自动存档?????????????禁用??
- 存档终点????????????USE_DB_RECOVERY_FILE_DEST??
- 最早的联机日志序列?????179??
- 当前日志序列???????????181??
?
?
收获:以前Oracle出现问题,基本上就不去理会,要么重装,要么重装,那Oracle根本学不到什么东西
? ? ? ? ? ?以后出现问题,要多思考多研究,每一个事例都是一个学习的机会,这样才能有进步啊