修改/etc/hosts权限引起ORACLE异常宕机
接到客户电话,说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的错误
阅读(1776) | 评论(0) | 转发(0) |