血的教训:修改/etc/hosts权限引起ORACLE异常宕机

节到客户电话,说ORACLE异常宕了。我进去一看,CONNECT上了,没问题啊。尝试select name from v$datafile看数据文件先。。提示NOT LOGGED ON。怪。startup却又说INSTANCE已经起来,先关闭。好,先SHUTDOWN吧,却提示ORA00600的错误。检查ALERT_SID.LOG,发现如下报错:Errors in file /o...显示全部
节到客户电话,说ORACLE异常宕了。
我进去一看,CONNECT上了,没问题啊。
尝试select name from v$datafile看数据文件先。。
提示NOT LOGGED ON。怪。
startup却又说INSTANCE已经起来,先关闭。
好,先SHUTDOWN吧,却提示ORA00600的错误。
检查ALERT_SID.LOG,发现如下报错:
Errors in file /oracle/app/admin/orcl/udump/orcl_ora_2617668.trc:
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
USER: terminating instance due to error 600
Instance terminated by USER, pid = 2617668

我依稀记得这个00600是个比较严重的错误,好像还与BUG有关

问客户:刚才对数据库作过什么操作没?
他说没,只是修改了主机IP。

netstat -in输出ENT3网卡有2个IP;smitty tcpip进去却检查到只有一个IP在ENT3上
我估计他是用IFCONFIG来临时赋予的IP

再检查HOSTS文件,ORACLE用户居然无法读取(当时是在ORACLE登陆)!
我想,问题可能就出现在这里了

于是ROOT进去,发现HOSTS文件条目并没有错,只是权限是700;于是chown 755 hosts
尝试再打开实例,发现可以正常打开了,ALERT_SID.LOG也没再提示00600的内部错误了。

后来我在自己的虚拟机上测试了一把:
1.把HOSTS文件权限改为700后,无法打开ORACLE
2.把HOSTS里的主机名去掉,包括127.0.0.0和实际IP所对应的主机名都去掉,无法打开ORACLE
3.把127.0.0.0或者实际IP对应的主机名去掉任意一个,ORACLE能打开
4.在ORACLE打开的情况下,把HOSTS权限改为700,或者把127.0.0.0和实际IP对应的主机名删除掉,又发现ORA-00600的错误

所以,童鞋们,不要随意修改HOSTS权限和相关的条目啊。。。。。
不过很奇怪,那家伙修改IP就修改IP,干嘛把HOSTS的权限都修改了呢,奇怪。收起
参与20

查看其它 19 个回答jtw的回答

jtwjtw11
生产环境,岂能随便修改IP地址
IT分销/经销 · 2010-05-06
浏览1990

回答者

jtw 最近回答过的问题

回答状态

  • 发布时间:2010-05-06
  • 关注会员:0 人
  • 回答浏览:1990
  • X社区推广