windows系统下SHARED模式的listener出错 TNS-12518

前天中间库又抽风, 连接不上.

windows的系统,用netstat看到还是有很多客户端连着的

自己用sqlplus登录报错,监听失败

服务里看到监听已经启动

重启监听问题解决,以为是小问题。

 

昨天同样的时间,又抽风,还是连接不上.

重启监听,没用,还是不能登录。

忽然想起来恐怕是遇到个以前见别人讨论过的问题了 TNS-12518

看log里果然有

TNS-12518: TNS: 监听程序无法分发客户机连接
TNS-12560: TNS: 协议适配器错误
TNS-00530: 协议适配器错误
32-bit Windows Error: 233: Unknown error

上网查了下,决定做2个改动, 参考itpub别人发的

1、改小sga和pga。 4g内存,这两个就2g多了,有点大。

2、改成专用模式,不用共享模式了。这个不是我装的。。。。

shared_servers=0

dispatchers=''

 

是否成功有待每天观察了.应该是解决了.

 

 

下面是资料

 参考metalink:ID 556428.1 ORA-12518 / TNS-12518 Troubleshooting Solution 1- Timer issues causing abnormal threads : Set the parameters SQLNET.INBOUND_CONNECT_TIMEOUT and INBOUND_CONNECT_TIMEOUT_listenername to 0 (indefinite) or to an approprate value for the application. From Oracle base version 10.2.0.1 onwards the default value of INBOUND_CONNECT_TIMEOUT_ is 60 seconds. For previous releases it is zero by default. a) Please add following parameter in listener.ora INBOUND_CONNECT_TIMEOUT_ = 0 For example, if the listener name is listenerTest, then: INBOUND_CONNECT_TIMEOUT_listenerTest = 0 AND b) Add the following parameter to the sqlnet.ora file on the Database server side: SQLNET.INBOUND_CONNECT_TIMEOUT = 0 The listener and database will need to be restarted after these changes. These parameters are set on the SERVER side: listener.ora: INBOUND_CONNECT_TIMEOUT_listenername sqlnet.ora: SQLNET.INBOUND_CONNECT_TIMEOUT Note: This timeout restriction was introduced to combat Denial of Service (DoS) attack whereby malicious clients attempt to flood database servers with connect requests that consumes resources. Fore more info/setting on inbound connection time out, check the following note : Note 465043.1 - Troubleshooting ORA - 3136 WARNING Inbound Connection Timed Out 2 - Lack of available memory : Increase memory and swap in the system 3 - Less of processes in the database,: Increase processes parameter if using dedicated connexion (init.ora / spfile file) In unix, adjust resource limits to increase the number of max processes allowed. 4 - Set /3GB option : Switch in the BOOT.INI file to enable the 4GB feature. This allows a process to address 3GB and reserving 1GB for the kernel. 5- Tune SGA / shared_pool_size : Reduce the SGA size to a reasonable figure which allows the user process to have enough memory to run. Decrease the size of the database SGA by reducing the PGA_AGGREGATE_TARGET or SGA_MAX_SIZE or both. The amount of memory for a session depends upon PGA_AGGREGATE_TARGET. If PGA_AGGREGATE_TARGET is set to a very small value ,Oracle session may exceed this value. 6 - Set or Tune MTS : Configure MTS or increase the number of DISPATCHERS (if Shared Server is being used). 7- If the listener crash with a core dump and the ora-12518 appears in the log, then you are probably hitting Bug 6139856 due to heavy load or out of memory.

你可能感兴趣的:(ORACLE,windows,database,parameters,server,session,oracle)