Chinaunix

标题: linux目录空间大小的问题 [打印本页]

作者: 402550990    时间: 2012-05-31 09:41
标题: linux目录空间大小的问题
最近遇到一个很奇怪的现象,在linux系统中执行df -h出现的结果如下:
[root@portaldb ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.7G  4.5G  4.8G  49% /
/dev/sda1             190M   12M  169M   7% /boot
tmpfs                  16G  7.6G  8.2G  49% /dev/shm
/dev/mapper/vg_portal-lv01
                       94G   77G   13G  87% /oinstall

其中/oinstall目录显示使用了77G,而当我对/oinstall目录中各个目录进行排序时显示的结果却是:
[root@portaldb ~]# du -sh /oinstall/* | sort -m
22G     /oinstall/oracle
2.7M    /oinstall/oraInventory
8.2G    /oinstall/swap

整个/oinstall目录下只有三个文件目录,占用空间总共也才30多个G
还有40多G的空间跑哪去了?
作者: 402550990    时间: 2012-05-31 09:42
有没有什么方法可以查看是什么文件占用了空间,怎么把空间清理出来
作者: 402550990    时间: 2012-05-31 09:49
找到占用的目录了
[root@portaldb oinstall]# ls -all
total 8508340
drwxr-xr-x  4 oracle oinstall       4096 May 30 17:38 .
drwxr-xr-x 26 root   root           4096 May 30 18:01 ..
drwxr-xr-x  9 oracle oinstall       4096 May 23 14:05 oracle
drwxrwx---  5 oracle oinstall       4096 May 23 13:54 oraInventory
-rw-r--r--  1 root   root     8704000000 May 30 18:03 swap
多出了.和..这两个东西,这两个东西怎么删掉
作者: ulovko    时间: 2012-05-31 09:49

  1. $ find / -type f -size +1G  # 遍历整个文件系统找出文件大小超过1G的文件
复制代码

  1. -type t
  2.              True if the file is of the specified type.  Possible file types
  3.              are as follows:

  4.              b       block special
  5.              c       character special
  6.              d       directory
  7.              f       regular file
  8.              l       symbolic link
  9.              p       FIFO
  10.              s       socket
复制代码

  1. -size n[ckMGTP]
  2.              True if the file's size, rounded up, in 512-byte blocks is n.  If
  3.              n is followed by a c, then the primary is true if the file's size
  4.              is n bytes (characters).  Similarly if n is followed by a scale
  5.              indicator then the file's size is compared to n scaled as:

  6.              k       kilobytes (1024 bytes)
  7.              M       megabytes (1024 kilobytes)
  8.              G       gigabytes (1024 megabytes)
  9.              T       terabytes (1024 gigabytes)
  10.              P       petabytes (1024 terabytes)
复制代码

作者: ulovko    时间: 2012-05-31 09:50
回复 3# 402550990


    .代表当前目录 ..代表上一级目录
作者: 402550990    时间: 2012-05-31 09:56
再次对比了一个,应该不是.和..这两个文件的问题,应该还是其它的原因
作者: 610302547    时间: 2012-05-31 09:59
回复 2# 402550990


  执行:  lsof |grep delete


可能是你应用的哪个日志文件你没删除干净。文件已经删除掉了!但是还在占用空间。


作者: chenyx    时间: 2012-05-31 10:00
.和..不是问题的原因,
除了/目录,所有的目录都存在.和..
作者: anonymous0502    时间: 2012-05-31 10:04
du -sh的时候貌似隐藏目录没有列出来
你看看是不是这个原因?
作者: anonymous0502    时间: 2012-05-31 10:06
貌似确实是这样,刚找到了篇别人写的一点记录,你看看:
http://pingshx.itpub.net/post/39434/485246
作者: 402550990    时间: 2012-05-31 10:50
看了一下楼上发出的博客,也参照里边的执行了一下找ORACLE_HOME目录下隐藏文件,没发现有异常情况
而后执行了一下lsof|grep delete,结果如下
[oracle@portaldb oinstall]$ lsof|grep deleted
oracle     7073    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7075    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7079    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7081    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7083    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7085    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7087    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7089    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7091    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7093    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7095    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7097    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7099    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7101    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7103    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7105    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7107    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7109    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7210    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7224    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7230    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7232    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7496    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
oracle     7498    oracle    8u      REG              253,0          0   5750785 /oinstall/oracle/product/11.2.0/db_1/dbs/lkinstorcl (deleted)
应该是数据库中dbs目录中的有个文件删掉后被进程使用,可是我也不能结束该进程啊
一结束数据库就关了,在dbs目录下看了一下
[oracle@portaldb dbs]$ ll -all
total 32
drwxr-xr-x  2 oracle oinstall 4096 May 31 10:47 .
drwxr-xr-x 74 oracle oinstall 4096 May 29 17:37 ..
-rw-rw----  1 oracle oinstall 1544 May 23 14:00 hc_DBUA0.dat
-rw-rw----  1 oracle oinstall 1544 May 23 14:05 hc_orcl.dat
-rw-r--r--  1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r-----  1 oracle oinstall   24 May 29 16:51 lkORCL
-rw-r-----  1 oracle oinstall 1536 May 29 17:36 orapworcl
-rw-r-----  1 oracle oinstall 2560 May 31 10:36 spfileorcl.ora
应该是lKORCL这个文件一直被引用
作者: anonymous0502    时间: 2012-05-31 11:07
可能是如7楼所说,某些文件被删除了但是还在占用空间
貌似根据dbw进程id到/proc目录下可以查到是哪个文件,不太确定,你可以看看下面这个链接能不能获得一点启示
http://www.aikaiyuan.com/category/backuprecovery

作者: 402550990    时间: 2012-05-31 11:08
不对,应该也不是这个进程占用删除文件的原因,因为这个数据库是从别的数据库迁移而来的,之前的那台数据库也存在这个问题,但它的空间没有问题
而这个数据库空间明显不正常,另外在迁移之前,我还做了一些操作,就是这个数据库上我曾经用dbca图形界面直接删除了两个实例,有没有可能是因为这个原因呢?
作者: anonymous0502    时间: 2012-05-31 11:15
The lksid file is an instance lock file.
instorcl这个实例相关的文件需要看看吧,问题好复杂,我也只是个菜鸟,不知道你看过一下alert日志文件没有。

作者: anonymous0502    时间: 2012-05-31 11:19
或者去专门的oracle论坛问问看
作者: 402550990    时间: 2012-05-31 11:46
刚又找了一个,说其实还是数据库的问题,说这是数据库的一个BUG,在10G和11G  R1,R2都有这个问题,该bug在11.2.0.2或12g里修复了.
可以去这个帖子里边看看,http://hi.baidu.com/edeed/item/ee6e3d2996bae0f950fd87b6
可惜就是没提出怎么解决这个问题


作者: millerixlee    时间: 2012-05-31 12:30
du -a 可以显示所有文件
  1. du -ah dir|sort -h
复制代码
列出 dir 目录下所有文件大小, 以human readable format 方式 列出大小, 并从小到大排列之
作者: anonymous0502    时间: 2012-05-31 13:30
回复 16# 402550990

多谢楼主反馈,学习了

你看看这个有没有参考价值:
https://forums.oracle.com/forums/thread.jspa?threadID=850765&start=0&tstart=0
   
除了一些fsck之类的较危险的操作,其他的你可以参考看看

作者: qldb4u    时间: 2012-05-31 13:39
回复 10# anonymous0502

你这个地址打不开啊
   
作者: anonymous0502    时间: 2012-05-31 13:42
回复 19# qldb4u

可以打开啊,内容较多有三页的帖子,我就没法复制来贴到这里了。
   
作者: 402550990    时间: 2012-05-31 14:52
楼上发的帖子,它的主要方法是想通过把那块盘先umount掉,再重新mount上去,但是问题最终还是没解决啊,也没有下文了
我现在是没法给它重新mount,因为数据库正在跑应用,停不下来!
作者: anonymous0502    时间: 2012-05-31 15:01
本帖最后由 anonymous0502 于 2012-06-01 10:25 编辑

是的,情况有些不同,别人的是可以停下来检查是否正常,你的还不能这样检查的话就没法试了。
可能贴主的文件系统有问题,倒数第二贴里提到了
也许贴主的问题就是倒数第二贴说的,要不为啥近一年后才来回了个thanks,大概解决问题去了。不过也可能是找不到解决方法就忘了来回帖了
################
昨晚看了点视频,现在纠正一下,前面贴的链接因为不是官方提供的东西,仅供参考。
可能楼主的情况确实是那个bug




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2