Chinaunix首页 | 论坛 | 博客
  • 博客访问: 134671
  • 博文数量: 47
  • 博客积分: 2525
  • 博客等级: 少校
  • 技术积分: 630
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-21 20:36
文章分类

全部博文(47)

文章存档

2009年(1)

2008年(46)

我的朋友

分类: Oracle

2008-09-23 23:58:14

今天遇到一个问题,同事来说归档目录已经全部删除了,但是归档目录的大小还是100%,且执行shutdown immediate挂死。

$ bdf
Filesystem          kbytes    used   avail %used Mounted on
/dev/vg00/lvol3     262144  181520   80040   69% /
/dev/vg00/lvol1     314736   84360  198896   30% /stand
/dev/vg00/lvol8    4718592 1056280 3633752   23% /var
/dev/vg00/lvol7    2654208 1435160 1209576   54% /usr
/dev/vg00/lvol4    1540096 1028512  508264   67% /tmp
/dev/vg00/lvol9    10485760 4948670 5365096   48% /oracle
/dev/vg00/lvol6    94208000 7317328 86211936    8% /opt
/dev/vg00/lvol5     163840    2480  160104    2% /home
/dev/vg00/lv_arch  51216384 51112984  102632  100% /arch
$ cd /arch
$ ll
total 0
drwxr-xr-x   2 oracle     dba             96 Dec 18  2007 lost+found
$

同时alertlog中也在不断的报错:

ORA-16014: log 2 sequence# 28801 not archived, no available destinations
ORA-00312: online log 2 thread 1: '/dev/vg_audit01/rredo_128m_02'
ORA-00312: online log 2 thread 1: '/dev/vg_audit01/rredo_128m_12'
ORA-00312: online log 2 thread 1: '/dev/vg_audit01/rredo_128m_22'
Mon Sep  1 10:28:55 2008

引起该问题的主要原因,就是在/arch目录下,使用了rm *命令来删除归档,但是当前正好有归档进程(arch)正在写出,rm后文件系统的句柄无法释放,因此空间也没有释放。

此时我们用shutdown immediate命令无法关闭数据库,这是因为,在现在的状态下,arch已经被撑爆,所有组的redolog均为非inactive状态,shutdown immediate需要做checkpoint,checkpoint会将dirty buffer中的东西写入到db buffer,lgwr的触发条件之一就是dbwr进程写db file,此时,lgwr发现所有的redolog都是非inactive状态,都不能写,继续寻求arch切出,以期待能写redolog。而此时arch目录爆满,因此就报上述的错了。

我们用shutdown abort关闭数据库后,空间就释放了。

SQL> !bdf
Filesystem          kbytes    used   avail %used Mounted on
/dev/vg00/lvol3     262144  181520   80040   69% /
/dev/vg00/lvol1     314736   84360  198896   30% /stand
/dev/vg00/lvol8    4718592 1072672 3617488   23% /var
/dev/vg00/lvol7    2654208 1435160 1209576   54% /usr
/dev/vg00/lvol4    1540096 1028512  508264   67% /tmp
/dev/vg00/lvol9    10485760 4945978 5367702   48% /oracle
/dev/vg00/lvol6    94208000 7317328 86211936    8% /opt
/dev/vg00/lvol5     163840    2480  160104    2% /home
/dev/vg00/lv_arch  51216384  107384 50709848    0% /arch

我们在删除归档的时候,一定不能全部删除,一定要留最后一个归档,以防万一。最安全的方法,当然是在rman中用delete input删除了。

阅读(813) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~