Windows下大量SYSMAN會話超出會話限制

hooca發表於2014-09-25
平臺:Windows 2008 R2(64bit) + Oracle 11g R2(64bit)

嘗試登陸sqlplus,發現報錯如下:

ORA-00020: maximum number of processes (150) exceeded

觀察當前會話情況:


點選(此處)摺疊或開啟

  1. select username,count(sid) from v$session group by username;

USERNAME                       COUNT(SID)
------------------------------ ----------
                                       21
SYSMAN                                124
SYS                                     1

發現SYSMAN使用者有大量會話數,後發現SYSMAN主要用的PROGRAM是OMS。

查閱OMS相關資訊,得知其是由Enterprise Management產生的。

關閉EM,


點選(此處)摺疊或開啟

  1. emctl stop dbconsole

Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation.  All rights reserved.
https://CCNSIA0VFRTEST.ap.carrier.UTC.com:1158/em/console/aboutApplication
The OracleDBConsoleORCL service is stopping.............
The OracleDBConsoleORCL service was stopped successfully.

確保下次啟動預設不啟動EM,需要在Windows服務中關閉OracleDBConsoleORCL服務的自動啟動。

然後觀察當前會話狀況,


點選(此處)摺疊或開啟

  1. select username,count(sid) from v$session group by username;

USERNAME                       COUNT(SID)
------------------------------ ----------
                                       26
SYSMAN                                  3
SYS                                     1

發現已經沒有那麼多SYSMAN會話了。重新登入SQLPLUS能夠成功了。

總結:該狀況發生於Windows平臺下,很可能是Windows下特有的Bug,目前只能通過關閉EM方式避免,不知道有沒有高手有其他比較好的解決辦法?



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-1280235/,如需轉載,請註明出處,否則將追究法律責任。

相關文章