服务器更换硬盘后Oracle不能连接问题的解决

更换硬盘后,Oracle能正常启动,但是Listner不能启动,因此应用程序和客户端都不能连接数据库了。经过一番查找,问题跟踪,终于解决。没有重装Oracle,没有重建Listner配置。具体过程如下:

话说硬盘坏了一段时间了,因为不是业务服务器,仅作开发测试用,所以一直没有机会换硬盘,最近终于偷得半日闲,为服务器更换了硬盘,重启服务器后,RAID控制系统自动重新建立了RAID。100G左右的数据,重建RAID没花太长时间。启动系统后,可以远程连接,各种WEB服务也正常。

但是,有一个应用始终不能正常运作。调查下日志,发现问题原因是数据库始终不能正常连接上。

然后,查看了下数据库的状态,原来数据库虽然正常启动了,但是Listner却没有启动起来。手工启动,仍然失败。考虑到没有变更过数据库的各种配置文件,那么问题似乎不应该是数据库程序引起的。

既然,问题发生在启动Listner时,那么最好是能查下Listner的启动日志。

但是,日志里仅有这些:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=linux-a7lposition)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
LSNRCTL> start
Starting /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr: please wait...


单看这个日志,还是不好分析,网上查到可以启动trace跟踪,进行分析,于是在配置文件listener.ora中增加:
TRACE_LEVEL_LISTENER=16
再次启动Listner,仍然失败,但是查看trc文件有收获:

trc文件
...............
sntuscrt:illegal permission
sntuscrt: exit
snlsodx_lookup: entry
snlsodx_lookup: Can't open shared object library
................
查查其他系统上,此时应该在/var/tmp/.oracle创建文件。马上考虑是不是权限问题,结果

ls -l /var/tmp/.oracle 的结果是drwxrwxrwt,这样貌似就没有问题了吧。可是,Listner仍然不能启动。

此时,有些怀疑是不是其他配置文件有问题了,结果重建了listener.ora,问题还是没有解决。

再次回到文件权限的角度上,查看了一下/var/tmp的上层目录的权限,终于找到问题了,

/var 的 ls -l 的结果是 drwxrwx---,怪不得报权限不足呢,把它的权限改回 drwxrwxr-x试试,

再次启动Listner,终于,久违的启动成功日志打出来了。

刚才不能正常运转的应用也恢复正常了。

看来,更改系统硬件后,还真是不能掉以轻心啊。尤其是系统中的文件权限属性,都要查一查哦。


参考:

http://linux.net527.com/fuwuqiyingyong/Oracle/2012/0724/47962.html


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值