oracle目录inode满了,Oracle生产故障:inode空间不足

场景:突然之间,oracle数据库链接不上了,报获取链接失败,然后用oracle

登录服务器,执行如下命令登录。

sqlplus'/as sysdba'

登录失败,报如下错误:

ORA-09925:Unableto create audit trail fail

Linux-x86_64Error:28:Nospace left on device

分析:一开始看到第二行,设备没有剩余空间,以为是磁盘空间满了,登录上服务器执行df -h命令查看磁盘空间使用情况,发现没毛病,还有很多剩余。后面再看第一行,创建审计跟踪失败?这个不就是创建文件失败么,记起以前遇到过的情况,一个目录下文件太多了,然后就写不了文件了,原因是inode超过限制,想到会不会也是这样,果断执行命令df -i查看inode空间使用情况,一看结果用到了100%,问题定位成功。

解决办法:

1、找出文件数目最多的文件夹

在根目录下执行如下命令

find/-xdev-printf'%h\n'|sort|uniq-c|sort-k1-n

然后最后就是文件数目最多的文件夹,我们发现是oracle的审计跟踪文件。

2、判断是否可以删除,若是可以则删除。

删除命令是用

ls|xargs rm-rf

因为目录下文件太多,用rm -rf *会报太长了,删除不了。

注意:一定要确定文件可删除再删除,这里可能需要先把Oracle停止再删除,不然不知道会出什么毛病,我们就只删除删到一半,这个目录突然变成只读了,用root用户都删除不了了,所以文件不能乱删,最好明确可以删除再删,搞得只能重启机器,好像重启机器都报错,可能磁盘空间被损坏了,也有可能是我们再这个目录下执行了

ls,然后界面卡死,我们强行关闭导致的。

3、最后还是找运维重启机器才搞定,不知道为啥变得只读了。

inode在linux中,每个文件,不管大小是多少都会对应一个inode,inode就是一个专门用来保存文件属性,权限和指针(指向block),都有一个上限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值