首页  >  文章  >  数据库  >  /tmp分区满,把oracle rac弄死了

/tmp分区满,把oracle rac弄死了

WBOY
WBOY原创
2016-06-07 17:40:54886浏览

刚从山东回来,一堆麻烦事情。这不,快要下班了,客户说oraclerac挂了。这是有两个节点和一个共享存储组成的rac系统,安装了oracle11gr2.我试着登录系统查看,发

 刚从山东回来,一堆麻烦事情。这不,快要下班了,客户说oracle rac挂了。

 

这是有两个节点和一个共享存储组成的rac系统,安装了oracle 11g r2.我试着登录系统查看,发现一个服务器不能联通。另一个上去了,执行df -h ,发现一个分区 /tmp被塞满了。再进子目录查看,发现一堆0926.dmp这样的文件,每个文件大小都在600M左右。看来是程序员在执行exp备份操作,一问,服务器空间,果然如此。

 

再从rac的私有网络,试着登录另一个节点,居然进去了。这说明心跳检查是正常的。

 

在跟其他人沟通后,我采取如下步骤:

1、清理/tmp空间,香港空间,手动删除陈旧的文件,释放出至少50%的空间。

2、关闭所有oracle实例 srvctl stop instance -d  sery_db -i sery1 , srvctl stop instance -d  sery_db -i sery2.

3、查看不能从外面访问的那个服务器的网络状态,香港服务器租用,检查方法为:

(1)ip add 检查地址是否存在

(2)mii-tool 检查网线是否正常

(3)service network start 重启网络.嘿嘿,居然正常了。

4、检查asm文件系统,步骤为:

(1)ps aux | grep asm检查进程

(2) su - grid ; asmcmd 进去查看日志文件、数据文件是否存在。还好它们都在呢。

5、启动实例,然后用sqlplus登录检查数据文件等。

 

主要原因:oracle会根据需要往/tmp分区写入数据(比如排序等中间过程),如果文件系统满了,则写入失败,可能导致会话挂起。

本文出自 “sery” 博客,请务必保留此出处

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn