inode耗尽导致应用故障 租用ip服务器协议

更新时间:2018-03-0845次浏览| 信息编号:z79642  
管理信息
 | 投诉
  • 优惠信息:未填写
  • 地址:广东省东莞市莞城街道汇峰路1号汇峰中心B区501单元
  • 联系人:盛网科技
  • 联系电话:点击查看完整号码
  • 联系QQ:点击这里给我发消息

详情介绍
inode耗尽导致应用故障

  1.错误现象

  客户的一台Oracle数据库服务器,在关机重启后,Oracle监听无法启动。

  从输出信息判断,应该是磁盘空间耗尽导致Oracle监听无法启动,因为Oracle在启动监听时需要创建监听日志文件,而上面三个TNS错误产生的原因都是由一行错误导致的,于是首先检查系统磁盘空间。

  从磁盘输出信息可知,所有分区磁盘空间都还有不少剩余,而oracle监听写日志的路径在/var分区下,虽然/var分区仅剩下3.2GB可用磁盘空间,但是这对于写一个监听日志文件来说足够了,为什么还提示空间不足呢?

  2.解决思路

  既然错误提示与磁盘空间有关,那深入研究下关于磁盘空间的问题,在Linux系统中对磁盘空间的占用分为三个部分:是物理磁盘空间,第二个是inode节点所占用的磁盘空间,第三个是Linux用来存放信号量的空间,而平时接触较多的是物理磁盘空间,对第二个和第三个空间的问题接触较少。既然不是物理磁盘空间的问题,接着检查是否是inode节点耗尽的问题,通过执行“df-i”查看系统可用的inode节点。

  由输出可知,果然是inode节点耗尽导致无法写日志文件。由于inode全部被用完了,虽然还有可用磁盘空间,但是文件系统已经无法再记录这些空余空间了,因此也不能再创建新文件或文件夹了。由于涉及了inode知识,接下来简单介绍下Linux中inode的概念。

  在Linux系统中,文件由数据块和元数据组成,数据块是多个连续性的扇区,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个 sector组成一个block。而元数据用来记录文件的创建者、文件的创建日期、文件的大小等,这种存储文件元数据信息的区域叫做inode,或者称为“索引节点”。

  由于inode也是用来存储文件相关属性信息的,因为inode也会消耗硬盘空间,在磁盘格式化的时候,操作系统会自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区,存放inode所包含的信息。

  每个inode节点的大小,一般是128字节或256字节。inode节点的总数在格式化文件系统的时候,已经确定,可以通过如下命令查看某个磁盘分区inode的总数:

  [root@localhost~]# dumpe2fs -h/dev/sda3|grep *unt’

  dumpe2fs 1.39(29-May-2006)

 *unt: 5244736

  另外,每个inode都有一个号码,操作系统inode号码来区分不同的文件。通过“is -i”命令,可以查看文件名对应的inode号,例如:

  [root@localhost~]# ls -i install.log

  325762 install.log

  如果要查看这个文件更详细的inode信息,可以通过stat命令实现

  3.解决问题

  知道了产生这个故障时inode导致的后,接下来要查看/var目录下为何耗尽了indoe,通过检查发现/var/spool/clientmqueue/这个目录里面的文件仅500多万个,至于产生的原因,分析后确定应该是系统的crontab导致的,因为系统开了多个crontaba任务,而如果crontaba任务没有重定向,默认会在这个目录下创建一个文件,日积月累,此目录下的小文件会越来越多。解决的方法很简单,删除这些没用的文件即可。删除命令如下:

  [root@localhost ~]#find/var/spool/clientmqueue/*"*"-exec rm -rf{}\;

  删除日志文件后,再次启动Oracle监听,可以顺利实现启动,查看新的监听日志文件已经生成,至此,问题得到圆满解决。

  盛网科技www*/,服务器租用/托管,高性能,高配置,高防护,高独享7x24小时售后服务,定制属于你的专属服务器。QQ:724015997企业Q:4000900901电话:4000900901
联系我的时候请说是在搜即讯信息网上看到的,谢谢。
首发网址:http://dg.sojixun.com/wangtuiguang/z79642.htm
查看全部东莞网站建设推广信息
发布发布一条信息东莞网站建设推广信息>>