安装完11i的VIS版本后,客户端连接数据时会报“ORA-12537:TNS连接已关闭”,在网上找到以下解决办法:
今天在远程客户端配置EBS数据库连接的时候发生“ORA-12537:TNS连接已关闭”的错误。进入服务器运行如下命令:$tnsping VIS
$ tnsping VIS
TNS Ping Utility for IBM/AIX RISC System/6000: Version 9.2.0.6.0 – Production on 14-SEP-2007 04:41:47
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
/u01/oravis/visdb/9.2.0/network/admin/VIS_erptest/sqlnet_ifile.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=ERPTEST.domain)(PORT=1522)) (CONNECT_DATA= (SID=VIS)))
OK (0 msec)
//网络服务名能正常解析。
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.6.0 – Production on Fri Sep 14 04:44:44 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn
scott/tiger@VIS
Connected.
//也没问题,说明监听器是正常的。在EBS中监听最好用脚本起,如果用lsnrctl start启,监听端口为1521,这样EBS APPS TIER的内部并发管理器会连接不上数据库。
服务器上都是正常的,为什么客户端不行呢?难道做了什么限制?继续往下。
查看sqlnet.ora文件:
$ cat sqlnet.ora
###############################################################
#
# This file is automatically generated by AutoConfig. It will be read and
# overwritten. If you were instructed to edit this file, or if you are not
# able to use the settings created by AutoConfig, refer to Metalink document
# 165195.1 for assistance.
#
#$Header: NetServiceHandler.java 115.41 2005/05/23 06:43:44 psaddi ship $
#
###############################################################
NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
SQLNET.EXPIRE_TIME= 10
tcp.validnode_checking = yes
tcp.invited_nodes=(ERPTEST.domain)
到这问题差不多看出来了。注释掉最后两行。重新启动监听器,OK!问题解决。
重启监听:$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/lsnrctl start