ORA-00257归档日志写满的解决方法
背景:
在前一篇博客中我们提到了如何启动或关闭oracle的归档(ARCHIVELOG)模式,在我成功设定数据库为归档模式以后, 第二天再次尝试连接数据库,报错:ORA-00257。在网上找到了一圈资料,有些是说归档日志写满,删除归档日志。有些是说闪回日志写满,关闭闪回日志。主要参考文献有以下:
select * from v$recovery_file_dest;
select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
select * from v$flash_recovery_area_usage;
select * from v$version;
归档日志文件目录、最大值(已经设定为20G)、当前使用值

可以看到ARCHIVED LOG的使用率是3.84%,这是因为我已经删除掉归档日志文件了。在没有删除归档日志之前是99.46这样打的数字,表明我们的归档日志已经使用了大部分的空间。

所以进入rman程序删除归档日志
rman target sys/pass@prjdb
crosscheck archivelog all;
delete archivelog until time 'sysdate'; --删除所有日志
delete expired archivelog all;--删除过期日志
深层分析
后来我想这样手动删除也不是个办法总得让系统自动删除。后来就做了数据库备份脚本。执行的备份策略如下:
- 每周执行增量0的备份,顺便备份归档日志,并且删除过期归档日志
- 每天执行增量1的备份,顺被备份归档日志,并且删除过期归档日志。
因为我没有设定归档日志的有效期,所以一档完成增量备份,那么之前的所有归档日志都会被删除,相当于只保留一天的归档日志。在执行这个备份策略以后,发现还是会出现ORA-00257这样的错误。这个时候已经不是简单删除归档日志的问题了,因为当前的归档日志目录连一天的归档日志都发布下。所以考虑扩大归档日志目录,参考:http://langzhiwang888.iteye.com/blog/1675033
SQL> alter system set db_recovery_file_dest_size=21474836480;---设置使用空间大小(20*1024*1024*1024),20GB
System altered
SQL> show parameter db_recovery_file_dest;---查看归档日志路径限额
此时归档日志目录最大值就变成了20G。按照这样的设定再次重启oralce。
实例
最近在进行历史数据导入的工作。要往我的数据库当中导入2G的历史记录,插入记录有几百万条。此时数据库处于归档模式,对于每一个插入操作都会记录到归档日志当中去。在执行这个历史导入操作后3个小时,归档日志就写满了。此时我的问题就来了,如果归档日志写满的,我们的历史导入操作还能正常进行吗?是否还能往数据库当中insert数据。在跟公司DBA请教一番以后得到答复,如果处于归档模式,并且归档日志写满,那么我的历史数据导入操作会block中,直到我清空归档日志以后导入工作才能再进行。
ORA-00257归档日志写满的解决方法的更多相关文章
- (转)ORA-00257归档日志写满的解决方法
转自:http://www.cnblogs.com/xwdreamer/p/3804509.html 背景: 在前一篇博客中我们提到了如何启动或关闭oracle的归档(ARCHIVELOG)模式,在我 ...
- oracle归档日志写满错误解决方法
最近一年,手头上负责的项目要部署到很多个地方,由于项目组里没有人对oracle比较熟悉,只能给自己增加一个DBA的角色了.由于短时间内要部署很多单位,备份策略没有设置好,结果过了一个月,用户报告程序开 ...
- DB2事务日志已满的解决方法
DB2命令终端输入: db2 update db cfg for <dbname> using LOGPRIMARY 50 db2 update db cfg for <dbname ...
- 解决oracle归档日志写满了(ORA-00257)的问题
解决ORA-00257: archiver error. Connect internal only, until freed 此问题属于归档日志满了. 解决办法: SQL> select * ...
- ORACLE数据库闪回日志写满
网站页面无法显示完整.检查web服务是正常的,所以可能是ORACLE数据库出了问题. 首先检查闪回日志写满 然后检查归档日志文件写满的缘故了.使用以下几个命令可以看出当前归档日志文件的使用情况: se ...
- mr程序无法输出日志进行调试的解决方法
mr程序无法输出日志进行调试的解决方法 @(Hadoop) yarn开启日志输出设置 在yarn-site.xml文件中添加如下配置: <property> <name>yar ...
- 归档日志空间满导致DB启动失败
现象 登录失败 告警日志: 由此可知,归档日志空间已满 解决方式: 一.增大归档日志空间 1.启动数据库至nomount [oracle@CentOS ~]$ sqlplus / as sysdba ...
- 磁盘inode节点被占满的解决方法
问题: Linux服务器,查看日志发现程序无法继续写文件,但是用df -h查看磁盘容量还有剩余. 排查思路:怀疑是机器的inode节点被占满,使用df -i查看磁盘inode节点使用情况,果然是ino ...
- SQL SERVER 查看日志大小及日志已满的处理方法 (转)
--解决方法 --日志文件满而造成SQL数据库无法写入文件时,可用两种方法: --查看数据库日志大小 dbcc sqlperf(logspace) --清空日志. --1.打开查询分析器,输入命令 D ...
随机推荐
- easyui+Spring MVC+hibernate = 乐途
这个东西,玩的差不多了;不浪费口水了, 直接上图 发到blog 上让大家看看. 布局各方面有没有不足的地方 .请多多指教 http://item.taobao.com/item.htm?spm=686 ...
- JavaScript的9个陷阱及评点
1. 最后一个逗号 如这段代码,注意最后一个逗号,按语言学角度来说应该是不错的(python的类似数据类型辞典dictionary就允许如此).IE会报语法错误,但语焉不详,你只能用人眼从几千行代码中 ...
- winform用户控件
用途用户控件包含Time控件和一个lable控件,一个ToolStrip控件,每隔一秒显示一次时间 1. 生成用户控件 新建一个项目类型为用户控件 注意定义类名,此类名为以后工具箱中显 ...
- 直接把数据库中的数据保存在CSV文件中
今天突然去聊就来写一个小小的demo喽,嘿嘿 public partial class Form1 : Form { public Form1() { InitializeComponent(); } ...
- 转iOS中delegate、protocol的关系
iOS中delegate.protocol的关系 分类: iOS Development2014-02-12 10:47 277人阅读 评论(0) 收藏 举报 delegateiosprocotolc ...
- nodejs中常用加密算法
在常用的nodejs+express工程中,为了安全在登录及表单传输时,应该都需进行加密传输,目前个人常用到的加密方式有下列几种: 1.Hash算法加密: 创建一个nodejs文件hash.js,输入 ...
- Android 学习笔记之ContentProvider实现数据共享....
PS:最近听老师说打算让我参与企业的app制作,让我加快学习的进度...好吧,貌似下周还有考试...貌似实验室这个app也要做...暂时不管了...那就只能加快进度了,感觉略微的有点激动和紧张,总算是 ...
- 好用的ASP.NET 分页类 简单好用 支持 AJAX 自定义文字
在做网站没用 JS UI控件时 很实用 用法: var ps=new PageString(); /*可选参数*/ ps.SetIsEnglish = true;// 是否是英文 (默认:false) ...
- Const的用法
宏和const的区别: 1.宏执行的是替换操作,这也就意味着会在内存中开辟多个临时空间 这样显然不是很好 2.宏不可以修改 const : 用const修饰的变量 为常量 不能修改,在内存中只有一份内 ...
- 团队项目2.0软件改进分析MathAPP
软件改进分析 在此基础上,进行软件的改进. 首先,我们把这个软件理解成一个投入市场的.帮助小朋友进行算术运算练习的APP. 从质量保证的角度,有哪些需要改进的BUG? 从用户的角度(把自己当成小学生或 ...