一次資料庫響應慢分析
年10月15號12點30分,CRM資料庫一節點資料庫響應極其慢,導致後臺應用無法繼續。登陸檢查資料庫,發現大量的enq: US – contention及enq: SQ – contention等待事件,導致資料庫程式嚴重積壓,會話響應緩慢。
為緩解系統壓力,首先重建UNDO表空間以緩解enq: US – contention等待事件。在重建並替換完UNDO後,重啟資料庫,效果不明顯,大量的回滾事務依舊存在,13點00分,在替換UNDO效果不明顯的情況下,我們新增隱含引數:“_UNDO_AUTOTUNE“=FALSE關閉UNDO的自動調整特性。此時資料庫響應正常,業務系統正常。後續我們對本次故障進行資訊收集並分析故障原因。
時間點 |
故障處理關鍵點 |
10-15 12:30 |
CRM 一節點業務執行緩慢,資料庫大量等待事件 |
10-15 12:40 |
排查並分析原因,替換UNDO表空間 |
10-15 12:50 |
新增隱含引數,禁用UNDO自動調整 |
10-15 13:00 |
對後續的問題進行收集並詳細分析 |
10-15 14:20 |
寫故障分析報告 |
資料庫問題的現象如下:
1 、2014年10月15日12點30分,接聯通電話,告知CRM核心資料庫一節點例項異常導致資料庫響應緩慢,業務執行異常。
2 、遠端撥號檢查資料庫異常原因,分析資料庫緩慢原因
檢查資料庫一節點等待事件:
SID EVENT SQL_ID ---------- ---------------------------------------- ------------- 1549 enq: SQ - contention 1570 enq: US - contention 0jdpgs42gzwtt 1576 enq: US - contention 3h05q2u88zup7 1590 enq: US - contention dwfnn4vz3k999 1591 enq: US - contention dwfnn4vz3k999 1592 enq: US - contention d0zwwfwy1ka03 1594 enq: SQ - contention 1598 enq: US - contention 1mappfj3bf4ss 1609 enq: SQ - contention 1628 enq: SQ - contention 1637 enq: US - contention 52skk1qhxmcf0
SID EVENT SQL_ID ---------- ---------------------------------------- ------------- 1639 enq: SQ - contention 1646 enq: SQ - contention 1661 enq: US - contention 2jgg7yzhnbqyn 1674 enq: US - contention f185h57q40zxz 1679 enq: US - contention 6ffnkxws367vr 1681 enq: US - contention gsj20qadyguh1 1684 enq: US - contention fy0bjb6spurx4 1691 enq: US - contention dwfnn4vz3k999 1698 enq: SQ - contention 1702 enq: SQ - contention 1715 enq: TX - row lock contention 743bfk8w1qp7v
SID EVENT SQL_ID ---------- ---------------------------------------- ------------- 1717 enq: US - contention cudgcw4fqy8zz 1730 enq: SQ - contention 1757 enq: US - contention af2j8jyb1zfzu 1760 enq: US - contention bcf9yan5h2m3c 1763 enq: SQ - contention 1769 enq: US - contention dwfnn4vz3k999 1770 enq: SQ - contention 1771 enq: US - contention 70j4acnazq6c6 1773 enq: US - contention dwfnn4vz3k999 1775 enq: US - contention fy0bjb6spurx4 |
3 、以上等待事件大量的集中在enq: US – contention並且相關的SQL都不盡一致。
為緩解問題,首先新增並替換UNDO資料檔案:
create undo tablespace UNDOTBS3 datafile '+DATA/crmdb/datafile/undotbs03.dbf' size 4G autoextend on; alter tablespace UNDOTBS3 add datafile '+DATA/crmdb/datafile/undotbs3_02.dbf' size 4G autoextend on; alter tablespace UNDOTBS3 add datafile '+DATA/crmdb/datafile/undotbs3_03.dbf' size 4G autoextend on; alter tablespace UNDOTBS3 add datafile '+DATA/crmdb/datafile/undotbs3_04.dbf' size 4G autoextend on; |
4 、新增完後整體效果並不明顯,進一步分析該問題,並確認ORACLE MOS文件:
How to correct performance issues with enq: US - contention related to undo segments (Doc ID 1332738.1)
根據文件給出的建議,我們進一步關閉了UNDO的自動調整新特性:
調整完後,檢查發現該等待事件已經消失。進一步收集故障時間段的AWR等報告,並針對enq: SQ – contention等待事件進行分析
5 、根據enq: SQ – contention等待事件,我們檢查最近一段時間資料庫SEQUENCE的CACHE:
SQL> SELECT OWNER,OBJECT_NAME,CREATED FROM DBA_OBJECTS WHERE OBJECT_TYPE='SEQUENCE' AND CREATED > SYSDATE-3;
OWNER OBJECT_NAME CREATED --------- --------------------------------- ------------------- ZJUCRM1O SEQ_BMS_OTHERFEE_ID 2014-10-14 12:55:16 ZJUCRM1O SEQ_UCS_ACCT_RELA_ID 2014-10-14 16:07:51 ZJIOM RES_EQPT_PROJECT_RES_INFO$SEQ 2014-10-14 21:24:00 ZJIOM RES_EQPT_PROJECT_USER_INFO$SEQ 2014-10-14 21:24:06 |
檢查以上幾個SEQUENCE對應的CACHE_SIZE大小:
SQL> SELECT SEQUENCE_OWNER,CACHE_SIZE FROM DBA_SEQUENCES WHERE SEQUENCE_NAME='SEQ_UCS_ACCT_RELA_ID';
SEQUENCE_OWNER CACHE_SIZE ------------------------------ ---------- ZJUCRM1O 20 SQL> SELECT SEQUENCE_OWNER,CACHE_SIZE FROM DBA_SEQUENCES WHERE SEQUENCE_NAME='SEQ_BMS_OTHERFEE_ID';
SEQUENCE_OWNER CACHE_SIZE ------------------------------ ---------- ZJUCRM1O 20 SQL> SELECT SEQUENCE_OWNER,CACHE_SIZE FROM DBA_SEQUENCES WHERE SEQUENCE_NAME='RES_EQPT_PROJECT_USER_INFO$SEQ';
SEQUENCE_OWNER CACHE_SIZE ------------------------------ ---------- ZJIOM 20 SQL> SELECT SEQUENCE_OWNER,CACHE_SIZE FROM DBA_SEQUENCES WHERE SEQUENCE_NAME='RES_EQPT_PROJECT_RES_INFO$SEQ';
SEQUENCE_OWNER CACHE_SIZE ------------------------------ ---------- ZJIOM 20 |
以上SEQUENCE的CACHE都採用了預設的大小—即20,該值遠遠無法達到業務所需要的需求,建議調整以上序列的CACHE大小。
1. 檢查業務系統使用者的SEQUENCE的CACHE大小,對CACHE設定不足的SEQUENCE進行修改
2. 保持UNDO的自動調整設定,觀察並後續考慮調整回來。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2770884/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一次資料庫響應緩慢的問題排查資料庫
- 資料庫響應慢問題處理資料庫
- 記一次開啟資料庫慢原因分析過程資料庫
- Oracle資料庫非同步IO導致查詢響應緩慢Oracle資料庫非同步
- Thread pool引數引起的程式連線資料庫響應慢thread資料庫
- 記一次Oracle資料庫無響應(hang住)故障的處理Oracle資料庫
- 資料庫無響應問題的緊急處理和分析資料庫
- 好文分享 | 記一次Oracle12c資料庫SQL短暫緩慢問題分析Oracle資料庫SQL
- laravel 5.8 連線資料庫庫查詢 資料 速度慢,使用mysql 直接查詢響應就快,什麼原因呢?Laravel資料庫MySql
- 一次通過DB_LINK抽取資料過慢原因分析
- 業務響應時間和資料庫效能資料庫
- win10 資源管理器響應慢Win10
- 資料庫在資料分析中如何應用資料庫
- 資料庫——慢sql的原因資料庫SQL
- 資料庫連線非常慢資料庫
- 資料庫連線緩慢資料庫
- [zt]當資料庫變慢時,我們應如何入手資料庫
- 一次資料庫當機問題的分析資料庫
- Vue響應式—-資料響應式原理Vue
- Vue響應式----資料響應式原理Vue
- 資料庫系列:MySQL慢查詢分析和效能最佳化資料庫MySql
- vue原始碼分析系列之響應式資料(三)Vue原始碼
- vue原始碼分析系列之響應式資料(二)Vue原始碼
- 資料庫查詢慢的原因資料庫
- 一次資料庫硬解析的分析全過程資料庫
- MySQL資料庫的效能的影響分析及其優化MySql資料庫優化
- Response響應字元資料字元
- 記一次資料庫的分析和優化建議資料庫優化
- HTAP資料庫及應用場景分析資料庫
- MySQL資料庫慢的思路解決MySql資料庫
- 解決資料庫慢的方法論資料庫
- EBS:Oracle 資料庫執行慢SQLOracle資料庫SQL
- 分析型資料庫:分散式分析型資料庫資料庫分散式
- MySQL truncate慢影響系統qps分析MySql
- 記一次資料庫某一使用者下訪問變慢的問題資料庫
- 記一次安全應急響應事件事件
- 資料庫正常執行,但是速度慢,應該從哪方面入手資料庫
- Vue 資料響應式原理Vue