Welcome 微信登录

首页 / 数据库 / MySQL / ORA-00257 归档日志过大导致无法存储的解决办法

ORA-00257 归档日志错误解决方案在实际项目中遇到了ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。诊断过程:(1)查看数据库REDOLOG情况:SQL> conn /@dmsasc as sysdbaSQL> select * from v$log;
发现ARC字段值为NO,表示系统没法自动做归档。检查一下归档目录和log sequence:SQL> archive log list;(2)手工切换日志:SQL> alter system switch logfile;ORA-01013: 用户请求取消当前的操作在等待长时间没反应后,中断操作,手工切换日志没有成功。(3)查看FLASH_RECOVERY_AREA空间使用情况:SQL> select * from v$recovery_file_dest;计算flash recovery area已经占用的空间:SQL> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;FLASH_RECOVERY_AREA空间已使用了2.35GBSQL> select * from v$flash_recovery_area_usage;
归档日志空间已使用了多少百分比,发现ARCHIVELOG占近93.96%,这样FLASH_RECOVERY_AREA空间的空间已经被完全占据了。(4)找到recovery目录:SQL> show parameter recover;
解决过程:(1)根据数据库目前可用存储空间为200GB、FLASH_RECOVERY_AREA空间为8GB的实际情况,把FLASH_RECOVERY_AREA的空间修改为20GB。SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g;SQL> select * from v$recovery_file_dest;(2)再检查日志状态,发现REDOLOG处于正常的归档状态:ARC YESSQL> select * from v$log;
SQL> select * from v$flash_recovery_area_usage;
(3)转移或清除对应的归档日志, 删除一些不用的日期目录的文件,注意保留最后几个文件,注意在删除归档日志后,必须用RMAN维护控制文件,否则空间显示仍然不释放。rman target sys/XXXX@XXX (数据库用户名/密码)RMAN> crosscheck archivelog all; //检查一些无用archivelog
RMAN> delete expired archivelog all; //删除过期归档delete archivelog until time "sysdate-1"; //删除截止到前一天的所有archivelog(4)再次检查发现使用率正常:SQL> select * from v$flash_recovery_area_usage;(5)重启Oracle(注意在archive log模式下不能正常startup情况下)SQL> shutdown immediate;SQL> startup mount;SQL> alter database noarchivelog;
SQL> alter database open;
SQL> shutdown immediate;SQL> startup mount;
SQL> show parameter log_archive_dest;SQL> alter database archivelog; //恢复成archive log模式
SQL> archive log list;
SQL> shutdown immediate;SQL> startup;相关阅读:SPFILE 错误导致数据库无法启动(ORA-01565) http://www.linuxidc.com/Linux/2013-08/88932.htmORA-01172、ORA-01151错误处理 http://www.linuxidc.com/Linux/2013-06/86529.htmORA-00600 [2662]错误解决 http://www.linuxidc.com/Linux/2013-06/86528.htmORA-01078 和 LRM-00109 报错解决方法 http://www.linuxidc.com/Linux/2012-07/66044.htmORA-00471 处理方法笔记 http://www.linuxidc.com/Linux/2013-09/90017.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12Linux下 ORA-39001,ORA-39142 解决办法Oracle中的角色和权限授予相关资讯      ORA-00257 
  • ORA-00257归档日志已满解决  (05月22日)
  • ORA-00257归档日志写满的解决方法  (10/16/2014 18:50:09)
  • ORA-00257 ORA-16038ORA-12162错  (10/16/2014 18:46:21)
  • ORA-00257:归档程序错误  (02/13/2015 14:42:26)
  • ORA-00257: archiver error.   (10/16/2014 18:48:08)
  • Oracle数据库ORA-00257解决  (10/16/2014 18:42:51)
本文评论 查看全部评论 (0)
表情: 姓名: 字数