最近一年,手头上负责的项目要部署到很多个地方,由于项目组里没有人对oracle比较熟悉,只能给自己增加一个DBA的角色了。由于短时间内要部署很多单位,备份策略没有设置好,结果过了一个月,用户报告程序开始连不上数据库了,并且发给我错误报告。主要是ora-16038、 ora-19809、 ora-00312三个错误,意思很明确,就是归档日志写满了,没法继续写入归档日志了,导致数据库被暂停了,等待继续写入归档日志到硬盘。

由于用户业务比较紧张,先考虑紧急处理方案,先将数据库恢复正常,然后再给用户数据库设计合理的备份方案,使数据库以后不再出现类似错误了。

(为保护用户信息,使用密码,连接 指示符使用manager和orcl代替用户实际数据)

  • 使用rman清理归档日志和备份,看可不可以清理出来一部分空间,如果清理出来足够的空间,则数据库应该可以恢复正常了。
rman target sys/manager@orcl
crosscheck backup;
crosscheck archivelog all;
crosscheck copy;
delete expired backup;
delete expired archivelog all;
delete expired copy;
delete obsolete;
  • 如果使用了快速恢复区,检查db_recovery_file_dest和db_recovery_file_dest_size,如果目录所在位置还有空间,只需增大db_recovery_file_dest_size就可以使数据库恢复正常。

  • 如果没有使用快速恢复区,检查 show parameter
    log_archive_dest,根据目录位置,看可不可以增大归档的目录的大小,比如删除目录所在分区的其他文件。如果可以清理出空间,数据库应该就可以恢复正常了

  • 如果不想使用上面的方法,想要删除以前的归档日志来释放空间,为安全起见,首先将要删除的归档日志复制到其他地方,然后使用rman删除刚刚备份的日志。

    如果归档日志保存在文件系统上,则根据上面获取的归档日志目录的位置,将准备删除的归档日志拷贝到指定位置,如果归档日志存储在asm里,就稍微麻烦一点,需要在asmcmd里使用cp命令将归档日志备份。

rman target sys/manager@orcl
--查看归档日志文件信息
list archivelog all;
--然后使用以下方法中的任意一种删除刚刚已经备份过的归档日志文件。
--删除从序列号为xxx开始的所有归档日志文件
delete archivelog from sequence xxx;
--或者,删除序列号在xxx和yyy之间的所有归档日志文件
delete archivelog sequence between xxx and yyy;
--或者删除序列号一直到xxx的所有归档日志文件
delete archivelog until sequence xxx
--或者使用时间来指定要删除的归档日志文件
--删除从datestring指定的时间开始的所有归档日志
delete archivelog from time 'datestring'
--或者,删除时间在datestring1和datestring2之间的所有归档日志文件
delete archivelog time between 'datestring1' and 'datestring2'
--或者删除时间一直到datestring的所有归档日志文件
delete archivelog until time 'datestring'

删除归档日志文件后,马上对数据库做全备份。然后就可以使用以下代码清理归档日志文件了。

rman target sys/manager@orcl
crosscheck backup;
crosscheck archivelog all;
crosscheck copy;
delete expired backup;
delete expired archivelog all;
delete expired copy;
delete obsolete;

总体来说,这个错误是由数据库空间规划和备份策略没有提前设计好导致,做完应急处理后应该尽快重新对数据库空间和备份策略重新进行设计,以防再次出现以上问题,影响用户使用。

ps
如果在数据库hold的时候使用了强制关闭数据库时,可能在开机时会遇到其它的问题,此时需要先清理待归档的日志文件,方法为

sqlplus sys/manager@orcl as sysdba
startup mount;
--获取inactive且没有归档的组
select group#,sequence#,archived,status from v$log;
--清理上一步获取的归档日志组
alter database clear unarchived logfile group x;
alter database open;

转载于:https://www.cnblogs.com/flyingwhitepig/p/5874056.html

oracle归档日志写满错误解决方法相关推荐

  1. oracle 日志写满,Oracle归档日志写满错误解决方法

    最近一年,手头上负责的项目要部署到很多个地方,由于项目组里没有人对Oracle比较熟悉,只能给自己增加一个DBA的角色了.由于短时间内要部署很多单位,备份策略没有设置好,结果过了一个月,用户报告程序开 ...

  2. ORA-00257归档日志写满的解决方法 - xwdreamer - 博客园

    ORA-00257归档日志写满的解决方法 - xwdreamer - 博客园 参考文章: (1)ORA-00257归档日志写满的解决方法 - xwdreamer - 博客园 (2)https://ww ...

  3. ORA-00257归档日志写满的解决方法

    ORA-00257归档日志写满的解决方法 参考文章: (1)ORA-00257归档日志写满的解决方法 (2)https://www.cnblogs.com/xwdreamer/p/3804509.ht ...

  4. kubernetes 清理日志命令_Kubernetes之容器数据写满磁盘解决方法

    磁盘写满引发的后果 容器数据磁盘写满造成的后果: Pod 不能删除 (一直 Terminating) Pod 不能被创建 (一直 ContainerCreating) 磁盘写满分两种情况: 磁盘空间全 ...

  5. oracle归档日志百分比,oracle归档日志过满清理

    归档日志过大导致数据库连接失败,解决方法有三种 1.增大db_recovery_file_dest_size值 2:更换归档日志路径 3:检查失效的归档日志文件,然后删除(或者删除N天以前的归档日志) ...

  6. Kubernetes之容器数据写满磁盘解决方法

    磁盘写满引发的后果 容器数据磁盘写满造成的后果: Pod 不能删除 (一直 Terminating) Pod 不能被创建 (一直 ContainerCreating) 磁盘写满分两种情况: 磁盘空间全 ...

  7. oracle ping 超时_Oracle连接错误解决方法(TNS-12535: TNS: 操作超时)

    今天在win7上连接centos的oracle 10g一直连接不上.通过如下过程解决了. 1.登录到centos 执行 tnsping orcl 执行是成功的(orcl是oralce的全局数据库名). ...

  8. linux下 db2日志满了,DB2事务日志已满的解决方法

    bzoj3208--记忆化搜索 题目大意: 花花山峰峦起伏,峰顶常年被雪,Memphis打算帮花花山风景区的人员开发一个滑雪项目.    我们可以把风景区看作一个n*n的地图,每个点有它的初始高度,滑 ...

  9. oracle不能关闭,Oracle shutdown immediate无法关闭数据库解决方法

    在测试服务器上使用shutdown immediate命令关闭数据库时,长时间无法关闭数据库,如下所示 1: [oracle@DB-Server admin]$ sqlplus / as sysdba ...

最新文章

  1. D1net阅闻:IBM宣布推出全新存储技术 存储速度快70倍
  2. C++11学习笔记-----线程库std::thread
  3. webpack进阶之插件篇
  4. 分类算法之决策树介绍
  5. C++ 以对象管理资源
  6. tomcat 更新class自动重启
  7. vue设置多选框默认勾选_vue中复选框怎么默认全选,至少选择4个才可以点击下一步...
  8. 用友网络2021年净利润7.1亿元 同比减少28.2%
  9. JSON: jasckson 字段 过滤
  10. Decorator 装饰(结构型)
  11. 区块链 自私挖矿(selfish mining)是什么
  12. SQL Server 存储
  13. 使用Mathcad解受迫振动微分方程并画图
  14. 海迅2016破解版下载
  15. provisional headers are shown解决办法
  16. 计算机教程无线路由器桥接上网,两个无线路由器怎么桥接?如何桥接两个无线路由器...
  17. html:(9):blockquote引用和br换行
  18. MySQL数据库软件安装
  19. 手写迷你SpringMVC框架
  20. 在Windows服务器上搭建Nuget私人服务器(超~详细)

热门文章

  1. CentOS 6.3 运维监控之Cacti 监控主机系统(二)
  2. NLP——基于transformer 的翻译系统
  3. python语音处理工具
  4. jQuery获取json数据
  5. 【推导】计蒜客17119 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F. Trig Function
  6. Gartner:人工智能将促使部分专业工作转型
  7. 2017.4.24 js 中的iscroll
  8. win7 修改hosts 不起作用
  9. 【原】iOS学习之UITabBar的隐藏
  10. 遍历jenkins build后的文件夹,找出最新“build NO.”复制到制定目录进行操作