Oracle不能连接故障排除[TNS-12541: TNS: 无监听程序]

1. 情况:Oracle安装后使用的好好的,放假关机后重新开机居然发现不能正常连线,客户报错:TNS-12541: TNS: 无监听程序

2. 检查:
         1. 服务器上Oracle启动正常
         2. 使用tnsping检查,发现服务器上使用 【tnsping 配置名称】返回正常,而使用【tnsping IP】则返回失败,
             怀疑:1521未开启?  使用:netstat -a -n | grep 1521 发现端口正常开启
 3. 解决:百度搜索各种情况后,最后发现是:listener.ora 中的host必须是电脑名称,原配置文件中为:localhost,修改后重启监听就可以了
     以下红色文字为修改的地方。

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = MyComputerName)(PORT = 1521))
)
)

-------------------

Linux操作还是不太熟,以上看上去简单,在Linux里操作各种命令,都得到处百度...
记录下备查:
取得电脑名称:hostname

检查端口是否开放:
   1. telnet ip port

   2. netstat -a -n | grep 1521

root登录后su oracle不能使用sqlplus等Oracle工具,因其不能获得oracle的环境变量($ORACLE_HOME等),
处理一:
   su oracle 后 cd ~
   more .profile 查看oracle的环境变量,
   回到root下将oracle的 .profile中的Oracle配置加入到/etc/profile里,然后:source /etc/profile
   再次 su oracle后可以使用oracle工具了
 处理二:建议直接使用Oracle连线Linux,简单直接。

相关推荐