溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

并行導(dǎo)致的進(jìn)程數(shù)過大無法連接數(shù)據(jù)庫

發(fā)布時(shí)間:2020-08-08 20:01:33 來源:ITPUB博客 閱讀:199 作者:云和恩墨 欄目:關(guān)系型數(shù)據(jù)庫
摘要:并行導(dǎo)致的進(jìn)程數(shù)過大無法連接數(shù)據(jù)庫

閱讀原文提升閱讀體驗(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 

向AI問一下細(xì)節(jié)

免責(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)容。

AI