在尝试通过sqlplus连接安装在VMWare虚拟机中的CentOS 5上的Oracle数据库时,遇到ORA-12532错误。而在CentOS服务器端上通过监听连接自己的数据库,却是正常的。
D:\Temp>sqlplus system/oracle@av
SQL*Plus: Release 11.1.0.7.0 - Production on Fri May 8 16:24:25 2009
Copyright (c) 1982, 2008, Oracle. All rights reserved.
ERROR:
ORA-12532: TNS:invalid argument
通常这种情况是由于服务器端的防火墙设置引起的。
有几种解决方法。需要用root用户执行。
1. 临时禁用防火墙,机器重启之后防火墙会重新启动。
# service iptables stop
2. 永久禁用防火墙。
# chkconfig iptables off
3. 在防火墙规则中打开1521端口(Oracle数据库监听端口)
# iptables -A RH-Firewall-1-INPUT -p tcp --dport 1521 -j ACCEPT
检查配置结果,查看RH-Firewall-1-INPUT链。
# iptables -L RH-Firewall-1-INPUT -nv
4. 图形化界面修改防火墙设置。
# system-config-securitylevel