馬司系統調優
今天軟開部的CTE約我幫他看看,上次那系統快掛的問題,叫我調優,其實我心裡也很沒底,不過想想這兩年多的學習,也應該可以解決這問題。(之前一直指出上次兩個ORA-00600和ORA-07445錯誤,在系統中連續出現這種錯誤,並從alert_XXX.log中統計下ORA-00600錯誤個數達2807次,並伴隨ORA-07445的個數為1238次,因此係統無人維護造成。兩個錯誤的間隔時間很短,而且都是由SQL語句所引起。由於一直出現有這個錯誤,基本上可以認為問題就是SQL語句。)
查出消耗資源最多的 SQL:
select sql_text,
hash_value,
executions,
buffer_gets,
disk_reads,
parse_calls
from v$sqlarea
where buffer_gets > 10000000
or disk_reads > 1000000
order by buffer_gets + 100 * disk_reads desc;
取出的SQL一個一個解決,基本是讓走規則方法,強制使用/*+RULE*/ /*+HASH()*/和使用INDEX來。
發現意思的是若用RULE,會出來是索引掙資源的情況,一個表多個索引同時在用,會變慢很多。
select /*+rule */ 1,
a.*,
b.vessel_name_cn,
b.voyages,
to_number(fuc_work_cntr_outnum(A.cntr_no, 2) kem,
fuc_work_cntr_outnum(A.cntr_no, 3) zmd,
round(sysdate - DYN_TIME) dcts,
C.Work_Status,
D.CLASS_VALUES_NAME,
(SELECT remark
FROM T_OPE_VSCH_CNTR c
WHERE c.VSCHEDULE_ID = a.VSCHEDULE_ID
AND c.CNTR_NO = a.CNTR_NO
AND ROWNUM <= 1) AS BZ
from t_basic_field a,
t_ope_fore_VSCH b,
(select Cntr_No, work_status
from t_ope_strobe_record
where work_status = '0') C,
(select CLASS_VALUES_ID, CLASS_VALUES_NAME
from t_pub_class_values
where class_id = 15) D
where a.vschedule_id = b.vschedule_id(+)
and A.cntr_no is not null
and a.LOCATION_STATUS = '1'
and A.Cntr_No = C.Cntr_No(+)
and A.CON_STATUS = D.CLASS_VALUES_ID(+)
order by dcts desc, kem desc
本身語句也是多方巢狀造成。
和擷取時間問題上,如
select /*+ RULE */ count(*) A
from T_OPE_STROBE_RECORD
where IMP_EXP_TYPE = '3'
and trunc(IMP_EXP_TIME) = trunc(sysdate)
因要走RULE要進行表分析。
ORACLE9I沒有自動分析功能,編寫一個SQL,定期執行下。
set pages 999999
set linesize 120;
set heading off
set echo off
set feedback off
spool /oracle/alog/hotbak/bin/sqltemp.sql;
select 'analyze table '||owner||'.'||table_name||' estimate statistics sample 5000 rows;'from dba_tables where owner in('XXXX');
select 'analyze index '||owner||'.'||index_name||' compute statistics;' from dba_indexes where owner in('XXXX');
spool off;
set echo on
set feedback on
spool /oracle/alog/hotbak/log/analyze.log;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') fromtime from dual;
@/oracle/alog/hotbak/bin/sqltemp.sql;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') totime from dual;
spool off
exit;
經過一天修改,客戶反應速度大大的加快,並無在報ORA-0600和ORA-07445錯誤,定期再跟蹤。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15242702/viewspace-666769/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux系統調優Linux
- Linux系統效能調優技巧Linux
- Linux系統調優介紹Linux
- linux系統關於kernel.sem調優Linux
- 在Linux中,如何進行系統效能調優?Linux
- Openssh-7.9p1升級+系統調優
- (3)Linux效能調優之Linux檔案系統Linux
- Linux雲端計算架構-系統調優【CPU、IO、網路、核心引數調優】Linux架構
- 系統效能調優:提升 CPU 快取的命中率快取
- 【效能測試策略】系統調優由易到難的順序
- 如何利用 JuiceFS 的效能工具做檔案系統分析和調優UI
- Linux系統配置(系統優化)Linux優化
- win10系統羅馬復興怎麼全屏 win10玩羅馬復興不全屏如何調Win10
- Spark 效能調優--資源調優Spark
- 調優 | Apache Hudi應用調優指南Apache
- Linux 系統優化Linux優化
- (mysql優化-3) 系統優化MySql優化
- 能迪科技:DDC空調控制系統還是PLC空調控制系統好用?
- 系統自動化調優時代來臨,DBA真的要失業了?
- 給祖傳系統做了點 GC調優,暫停時間降低了 90%GC
- 老司機帶你領悟 Laravel 之授權系統Laravel
- 系統優化總結——系統層面優化
- Linux系統調整swap大小Linux
- 作業系統的馬戲團作業系統
- 效能調優學習之硬體調優
- MySQL調優篇 | SQL調優實戰(5)MySql
- 澳創優選系統開發,澳創優選系統定製
- 騰訊健康碼 16 億亮碼背後的 Elasticsearch 系統調優實踐Elasticsearch
- JVM調優JVM
- 模型調優模型
- flink調優
- php調優PHP
- SparkSQL 調優SparkSQL
- MySQL調優MySql
- win10系統如何調整字型_win10系統調整字型大小方法Win10
- 2020年塔式起重機司機找答案及塔式起重機司機模擬考試系統
- 數倉調優實戰:GUC引數調優
- SAP系統中成本中心調整
- 系統優化怎麼做-Tomcat優化優化Tomcat