DBA救火排殺指令碼
作為一個壓力山大的DBA,很多時候需要面對處理一些緊急突發的救火任務,當業務出現異常,效能接近癱瘓的奪命一刻,需要果斷出擊,把系統業務的影響減少到最小,至於原因分析,可以交到後續分析,下面將針對不同的困境,作出排殺處理:
1,批量殺掉oracle連線程式:這種情況是終極絕招,在面對效能將要癱瘓的局面,可以立刻解決問題,但正在等待的業務或事務會被強行終止,需要重新請求!
ps -ef | grep LOCAL=NO | awk '{print $2}' | xargs kill -9
2,DBA能定位到引起效能異常的SQL,在資料庫還能連線響應的情況下,批量生成kill -9的SQL批殺指令碼:
select 'kill -9 '||spid from v$process where addr in (select paddr from v$session where sid in(select c.sid from v$session c Where username ='MBS7_OMS' and event='SQL*Net message from dblink') );
3,DBA能定位到引起效能異常的schema,並且這個影響是整個schema層面業務的,在資料庫還能連線響應的情況下,查殺同一個使用者的會話:
select 'alter system kill session '''||c.sid||','||c.SERIAL# ||''';' from v$session c Where username ='RRJC' ;
3,這個跟上面第二點相似,查殺同一個SQLID的會話:
select 'alter system kill session '''||c.sid||','||c.SERIAL# ||''' immediate;' from v$session c where sql_id='1vnbgy700u1cu' ;
4,有時候需要排查一些連線程式的情況,方便跟蹤效能問題,下面是檢視同一個SQL_iD的登陸請求資訊:
select sql_id,logon_time,machine,terminal,osuser from v$session where sql_id='1vnbgy700u1cu' order by logon_time desc;
–謹記kill後面加immediate引數,否則會讓pmon回收很久!如不幸用了傳統kill,可用下面方法再度釋放:
select 'alter system kill session '''||c.sid||','||c.SERIAL# ||''' immediate;' from v$session c Where username ='FRNT' and machine in ('jk2','biweb2') and status='KILLED';
如果會話已經在DB裡killed,上面的SQL已經查不出spid,可以用下面的SQL查出SPID
select addr, pid, spid FROM v$process p where addr in (select p.addr from v$process p where pid <> 1 minus select s.paddr from v$session s);
————————————————
版權宣告:本文為CSDN博主「dbs_service」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/dbs_service/article/details/102719523
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25401903/viewspace-2661504/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dba巡檢指令碼指令碼
- 如何讓shell指令碼自殺指令碼
- 史上最全近百條Oracle DBA日常維護SQL指令碼指令OracleSQL指令碼
- Linux Shell指令碼時間排程Linux指令碼
- DBA日常維護SQL指令碼_自己編寫的SQL指令碼
- 【Python秒殺指令碼】淘寶或京東等秒殺搶購Python指令碼
- 自己寫的殺mysql執行緒的指令碼MySql執行緒指令碼
- 用海豚排程器定時排程從Kafka到HDFS的kettle任務指令碼Kafka指令碼
- 利用 JS 指令碼實現網頁全自動秒殺搶購JS指令碼網頁
- 萬物皆可秒——淘寶秒殺Python指令碼,掃貨618,備戰雙11!Python指令碼
- iOS逆向 Shell指令碼+指令碼重簽名iOS指令碼
- 常用指令碼學習手冊——Bat指令碼指令碼BAT
- 雙十一有很多一元秒殺的商品!網速不夠?Python指令碼來湊!Python指令碼
- Bash指令碼指令碼
- powershell指令碼指令碼
- jpsall指令碼指令碼
- perl指令碼指令碼
- shell指令碼指令碼
- MySQL指令碼MySql指令碼
- java 指令碼Java指令碼
- JMeter指令碼JMeter指令碼
- Docker - 03 編排容器 Docker Compose 指令速查表Docker
- hadoop_批量命令指令碼&同步檔案指令碼Hadoop指令碼
- 初學指令碼指令碼
- python 常用指令碼Python指令碼
- Redis - Lua 指令碼Redis指令碼
- Linux指令碼分享Linux指令碼
- shell指令碼案例指令碼
- 19、python 指令碼Python指令碼
- SQLServer 常用指令碼SQLServer指令碼
- 備份指令碼指令碼
- 位元組碼指令
- 常用shell指令碼指令碼
- C# 指令碼C#指令碼
- MySQL 常用指令碼MySql指令碼
- Linux Shell指令碼Linux指令碼
- redolog生成指令碼指令碼
- 安卓應用層抓包通殺指令碼釋出!《高研班》2021年3月班開始招生!安卓指令碼