ORA-00257 归档日志过大导致无法存储的解决办法

php中文网
发布: 2016-06-07 17:32:06
原创
1171人浏览过

在实际项目中遇到了ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导

ora-00257 归档日志错误解决方案

在实际项目中遇到了ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。

诊断过程:

(1)查看数据库REDOLOG情况:

SQL> conn /@dmsasc as sysdba

SQL> 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.35GB

SQL> 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 YES

SQL> 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)

ORA-01172、ORA-01151错误处理

ORA-00600 [2662]错误解决

ORA-01078 和 LRM-00109 报错解决方法

ORA-00471 处理方法笔记

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号