安裝完11i的VIS版本後,客戶端鏈接數據時會報「ORA-12537:TNS鏈接已關閉」,在網上找到如下解決辦法:java
今天在遠程客戶端配置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.oranode
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