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,简单直接。