国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Oracle Listener連接風暴的分析

IT那活兒 / 886人閱讀
Oracle Listener連接風暴的分析

點擊上方“IT那活兒”,關注后了解更多內容,不管IT什么活兒,干就完了!!!





研究背景



如果客戶應用程序存在大量短連接,這會導致數據庫、服務器資源飆升,并且會導致監聽無法響應更多請求。
本次在測試環境上通過腳本模擬批量連接數據庫,復現因連接風暴導致連接數據庫報錯ORA-12514:  TNS:listener does not currently know of service requested in connect的場景并分析出導致連接風暴的應用服務名。





測試環境




1. 操作系統redhat7


2. 數據庫版19.3.0


3. 架構:






測試過程



1. 查看當前數據庫參數

2. 編寫腳本模擬批量連接-并發執行

編寫conn連接腳本:
$vi conn.sh
sqlplus sys/system@192.168.10.130:1521/orcl as sysdba
select * from v$version;
exit;

$vi conn1.sh
sqlplus sys/system@192.168.10.130:1521/orcl1 as sysdba
select * from v$version;
exit;

$vi conn2.sh
sqlplus sys/system@192.168.10.130:1521/orcl2 as sysdba
select * from v$version;
exit;
編寫后臺并發執行腳本(connect.sh先執行5分鐘,然后再執行connect1.sh):
$vi connect.sh
for i in {1..200000}
do
for j in {1..40}
do
sh /home/oracle/conn.sh
done
done
EOF

$vi connect1.sh
for i in {1.. 200000}
do
for j in {1. .40}
do
sh /home/oracle/conn1.sh
done
done
EOF

$vi connect2.sh
for i in {1.. 200000}
do
for j in {1. .40}
do
sh /home/oracle/conn2.sh
done
done
EOF
3. 執行腳本并觀察listener.log
執行腳本:
nohup sh connect.sh > /dev/null 2>&1&
nohup sh connect1.sh > /dev/null 2>&1&
nohup sh connect2.sh > /dev/null 2>&1&
觀察listener.log。
出現大量ORA告警:
[oracle@orcl:/u01/app/oracle/diag/tnslsnr/orcl/listener/trace]$ tail -20f listener.log
接下來通過服務名登錄數據庫。
這時連接報錯,已經復現出ORA-12514報錯:
4. 通過監聽日志分析是哪個服務名批量連接導致
將監聽日志內容導入txt:
$grep 18-FEB-2022  listener.log | sed s/*.*SERVICE_NAME=/ /g;s/).*HOST=/ /g;s/).*$//g   | awk 
{if(NF==4){print "insert into t_tab
values(
"$1","$2","$3","$4");"}}   >
/home/oracle/insert.sql
建表并導入txt內容:
  • --a1 日期;

  • --a2 時間;

  • --a3 服務名;

  • --a4 客戶端ip。

Create table t_tab( a1 varchar2(50),a2  varchar2(50),a3  varchar2(50),a4  varchar2(50));
@/home/oracle/insert.sql
按分鐘進行統計個service發起的連接數:
select  a1,substr(a2,1,5),a3,count(1) from t_tab where a3 in (orcl,orcl1,orcl2) group by a1,substr(a2,1,5),a3 order by count(1) desc;
顯然,orcl2這個service的連接異常導致本次問題的發生。





測試總結



本次模擬的重點在于通過3.4的方法將監聽日志通過grep篩選數據并導入表,查詢連接數據庫報錯的時間段去分析導致連接風暴的服務名稱。
日常維護中通過tail -20f listener.log 觀察,如持續性快速刷屏則可能已經出現連接風暴,因短連接持續性發起連接耗盡監聽ip 1521端口資源,導致監聽無法正常處理連接請求。超過每秒50次連接則需要關注。


本文作者:余家豪

本文來源:IT那活兒(上海新炬王翦團隊)

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/129601.html

相關文章

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<