您好,登錄后才能下訂單哦!
閱讀原文提升閱讀體驗(yàn): https://www.modb.pro/db/22961?cyn
#####數(shù)據(jù)庫并行進(jìn)程異常
##問題描述
突發(fā)主機(jī)出現(xiàn)ora_p進(jìn)程突然增多,導(dǎo)致process滿,導(dǎo)致sqlplus無法登錄
ERROR:
ORA-00020: maximum number of processes (2000) exceeded
##查看進(jìn)程:
–外來連接:
ps -ef|grep LOCAL=NO|grep -v grep|wc -l
–本地連接
ps -ef|grep ora|grep -v grep|wc -l
2026
ps -ef|grep ora_p|grep -v grep|wc -l
PS:ora_p148_XXXXXdb1
##排查日志
Fri Mar 20 15:14:12 2020
ORA-00020: maximum number of processes (2000) exceeded
ORA-20 errors will not be written to the alert log for
the next minute. Please look at trace files to see all
the ORA-20 errors.
Process PA47 submission failed with error = 20
##為什么ora進(jìn)程會這么多,原因在于ora_p這種并發(fā)進(jìn)程有2000多個(gè)。
基本定位問題,是由于sql采用了并行導(dǎo)致的
解決方法:
1、由于sqlplus已經(jīng)登錄不上了,所以要?dú)⒌暨M(jìn)程,先登錄進(jìn)去看看
由于是并行導(dǎo)致,非連接數(shù)過大,所以可以不用關(guān)閉監(jiān)聽。
為了防止殺掉數(shù)據(jù)庫自身進(jìn)程(ora_pmon等),需要篩選殺掉進(jìn)程,
ps -ef|grep ora_p1|grep -v grep|awk ‘{print $2}’|xargs kill -9
2、待process降下來后,登錄sqlplus,找到問題SQL
INST_ID USERNAME OSUSER MACHINE MODULE SQL_ID CNT
1 NF_XXXX Administrator WorkGroup\ECW42E3712K11RR PL/SQL Developer 9y8pxh9ax0nyz 687
3、查看執(zhí)行計(jì)劃后,確定是并行導(dǎo)致
4、若果想馬上想恢復(fù)正常,那就殺掉這個(gè)sql的會話
SELECT a.“INST_ID”,a.“SQL_ID”,‘kill -9 ‘||b.“SPID” pid_kill,‘a(chǎn)lter system kill session ‘’’ || A.SID || ‘,’ || A.SERIAL# ||’’’;’ sid_kill FROM gv
g
vprocess b WHERE a.“PADDR”=b.“ADDR” AND a.sql_id=’&SQL_ID’;
5、跟蹤源頭原因,查看監(jiān)聽日志,定位源頭
由于是并行,所以在連接上看,只有一條或兩條,可以按時(shí)間,也可以按主機(jī)名,定位主機(jī)IP
vim /u01/app/grid/diag/tnslsnr/dzswjnfdb1/listener/alert/log.xml
搜索:ECW42E3712K11RR
20-MAR-2020 15:11:12 * (CONNECT_DATA=(SERVICE_NAME=sngsnfdb)(CID=(PROGRAM=C:\Program?Files??x86?\PLSQL?Developer\plsqldev.exe)(HOST=ECW42E3712K11RR)
(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.10.85.178)(PORT=63350)) * establish * sngsnfdb * 0
20-MAR-2020 15:11:12 * (CONNECT_DATA=(SERVICE_NAME=sngsnfdb)(CID=(PROGRAM=C:\Program?Files??x86?\PLSQL?Developer\plsqldev.exe)(HOST=ECW42E3712K11RR)
(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.10.85.178)(PORT=63351)) * establish * sngsnfdb * 0
更多數(shù)據(jù)庫相關(guān)文章: https://www.modb.pro/db?cyn
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。