ORA-12520錯誤解決執行個體
問題描述:
今天突然發現串連資料庫時報錯,用pl/sql dev串連資料時,有時能串連上,有時串連時報:
ORA-12520: TNS: 監聽程式無法找到需要的伺服器類型的可用控制代碼
通過伺服器登入資料庫,報下面的報串連數錯誤:
[Oracle@dbserver22 ~]$ sqlplus"/as sysdba"
SQL*Plus: Release 11.2.0.3.0Production on 星期五 11月 14 10:23:23 2014
Copyright (c) 1982, 2011,Oracle. All rights reserved.
ERROR:
ORA-00020: maximum number ofprocesses (150) exceeded
請輸入使用者名稱:
ERROR:
ORA-01017: 使用者名稱/口令無效; 登入被拒絕
……
SP2-0157: 在 3 次嘗試之後無法串連到ORACLE, 退出 SQL*Plus
[oracle@dbserver22 ~]$
和開發溝通瞭解後,是因為在昨天晚上有新業務上線,業務量增大,導致串連數上升。
解決辦法:
增加進程串連數
--停掉監聽
[oracle@dbserver22 ~]$ lsnrctl stop
--殺掉串連進程
[oracle@dbserver22 ~]$ ps -ef |grep LOCAL=NO | cut -c 10-15 | xargs kill -9
--增加串連數
SQL> alter system set processes=650 scope=spfile;
系統已更改。
--重啟資料庫
SQL> shutdown immediate
資料庫已經關閉。
已經卸載資料庫。
ORACLE 常式已經關閉。
SQL> startup
ORACLE 常式已經啟動。
Total System Global Area1.7103E+10 bytes
Fixed Size 2245480 bytes
Variable Size 6744444056 bytes
Database Buffers 1.0335E+10 bytes
Redo Buffers 21708800 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL> exit
--啟動監聽
[oracle@dbserver22 ~]$ lsnrctl start
總結:
可能問題的原因很簡單,但準確的定位和找出原因是需要經驗和技巧的,和開發人員的溝通很重要,最終只要找出原因,解決起來可能就很簡單了!
Oracle 單一實例 從32位 遷移到 64位 方法
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2