归档日志卷空间不足导致数据库故障解决方法

原创 2004年10月04日 21:10:00
操作系统:Sun Solaris 8
双机软件: Sun Cluster 3.0
数据库:Oracle 8.1.7.3

故障现象:
网通客户反映mSwitch软交换系统中所有与数据库相关的操作都无法完成,如OSS、NMS等界面的查询、修改等操作都返回数据库连接错误。在sqlplus中使用wacos等用户登录时出现如下错误:
ORA-00257: archiver error. Connect internal only, until freed.

故障分析:
mSwitch系统的数据库运行模式为归档模式,当redo log被重写前需要利用arch进程进行将该redo log进行备份生成归档日志。如果在归档过程中归档日志使用的卷磁盘空间满,归档就无法进行,oracle将会一直处于等待归档完成状态,此时任何与数据库相关的操作都会无法完成,导致业务中断。

故障处理:
如果现场的存储设备有空余空间,可以增加归档日志卷的空间,如果没有多余空间可以删除部分归档日志来腾出部分空间。
注意:归档日志对数据库的恢复非常重要,在删除归档日志前最好确保系统有成功的备份,所删除的归档日志也应该是备份前的归档日志。
在确保归档日志所在卷有一定的空间后,利用internal用户登录数据库进行如下的操作。

步骤一:确定归档日志的目录:

$svrmgrl
svrmgrl>connect internal/
svrmgrl>archive log list;

Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /opt/oracle/arch/ORCL
Oldest online log sequence     176
Next log sequence to archive   178
Current log sequence           178
svrmgrl>exit

输出中的Archive destination就是数据库所在的归档目录。

步骤二:更换归档日志目录:
$svrmgrl
svrmgrl>connect internal/
svrmgrl>alter system set log_archive_dest_1='location=/opt/oracle/arch';
svrmgrl>alter system switch logfile;
svrmgrl>exit;

将归档日志的的目录更换为新目录,然后进行新的归档操作。

步骤三:将归档日志目录更换为原目录:

$svrmgrl
svrmgrl>connect internal/
svrmgrl>alter system set log_archive_dest_1='location=/opt/oracle/arch/ORCL';
svrmgrl>alter system switch logfile;
svrmgrl>exit;

将归档日志目录恢复为原目录,并进行归档。

步骤四:将临时目录下的归档日志拷贝回来
利用操作系统命令将步骤二产生的归档日志拷贝回归档日志的目录。
步骤五:业务测试
数据库恢复后进行各项业务的测试,确保业务正常。
步骤六:备份数据库
根据现场数据库的使用情况对数据库进行备份。

日常维护:
为避免该问题的发生,在日常维护中需要进行归档日志卷空间占用情况的检查:
$df -k
如果发现归档日志卷空间满了,现场的存储设备有空余空间的话,可以增加归档日志卷的空间,如果没有多余空间可以删除部分归档日志来腾出空间。
版权声明:本文为博主原创文章,未经博主允许不得转载。

sqlserver2008 数据库还原总提示空间不够System.Data.SqlClient.SqlError: 磁盘卷 'D:\' 上的可用空间不足,无法创建数据库。数据库尚需 272587816

从数据库上备份下来bak格式的数据库文件之后,dao
  • zhangbest2009
  • zhangbest2009
  • 2014年07月11日 10:13
  • 5354

Ubantu卷boot磁盘剩余空间不足的解决方法

第一步:dpkg --get-selections |grep linux-image    查看系统中所有的linux内核版本 第二步:uname -a    查看当前使用的内核版本 第三步:s...
  • qq_39792877
  • qq_39792877
  • 2017年08月11日 20:55
  • 65

Ubuntu下boot分区剩余空间不足解决

转自:http://www.2cto.com/os/201305/208245.html
  • shyanyang
  • shyanyang
  • 2014年06月30日 14:26
  • 20544

磁盘空间不足导致日志不能归档

昨天我的数据库不知什么原因无故挂起,今天启动数据库报如下错误: SQL>alter database open; alterdatabase open * ERROR atline 1: O...
  • aqszhuaihuai
  • aqszhuaihuai
  • 2011年12月01日 21:06
  • 1273

CDH:hdfs劵故障

cdh下hdfs数据进行迁移,将节点报如下错误和券错误:
  • zeng133
  • zeng133
  • 2017年08月02日 20:45
  • 144

ORACLE 表空间不足处理方法

之前遇到PL/SQL登录时提示ora-00604 ora-01653: 表空间不足了~ 处理方式: 1,增加数据文件,并且允许数据文件自增长 ALTER TABLESP...
  • shenwenbin0106
  • shenwenbin0106
  • 2016年10月08日 17:57
  • 271

归档空间问题处理总结

在维护项目时经常归出现系统不能登录,前台提示ORA-00257 登录到数据库,查看归档配置 SQL> archive log list; Database log mode      Archiv...
  • guanzhong2008
  • guanzhong2008
  • 2015年08月19日 16:21
  • 586

Ubuntu提示卷boot仅剩0字节的硬盘空间,解决办法

安装Ubuntu系统之后,当时boot分区是200M,经过系统升级之后,之前的LInux内核依然会存在boot分区中,直接是造成boot分区提示硬盘不足的原因,此时我们可以删除之前的linux内核,仅...
  • hnzcdy
  • hnzcdy
  • 2016年08月31日 09:50
  • 5806

解决“磁盘空间不足 磁盘上总计 /boot 的空间”问题

提示“这个更新需要花去 40.5 M 磁盘上总计 /boot 的空间。请在 25.4 M 磁盘上留出 /boot 空间。清空您的回收站和临时文件,用“sudo apt-get clean”清理以前的安...
  • zollty
  • zollty
  • 2015年09月13日 21:09
  • 2708

内存不足,mysql 导致启动失败

问题:mysql 启动报错
  • QQ648472886
  • QQ648472886
  • 2017年12月30日 09:56
  • 128
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:归档日志卷空间不足导致数据库故障解决方法
举报原因:
原因补充:

(最多只允许输入30个字)