美文网首页oracle
ORACLE 臨時表空間使用分析

ORACLE 臨時表空間使用分析

作者: 轻飘飘D | 来源:发表于2019-11-29 09:57 被阅读0次
  1. 查询dba_temp_files
select file_id, file_name, tablespace_name, bytes/1048576 "MB" from dba_temp_files;
image.png
  1. 根据DBA_HIST_ACTIVE_SESS_HISTORY中的TEMP_SPACE_ALLOCATED字段进一步定位突發增長量
select instance_number, to_char(sample_time,'mm-dd hh24:mi'), sum(TEMP_SPACE_ALLOCATED)/(1024*1024) as ALLOCATED
from dba_hist_active_sess_history 
where sample_time between trunc(sysdate) and trunc(sysdate)+0.5/24
group by instance_number, to_char(sample_time,'mm-dd hh24:mi')
order by 1, 2;
image.png
  1. 进一步细化时间,秒级别(注意DBA_HIST_ACTIVE_SESS_HISTORY默认采样数据间隔为10s)
select instance_number, to_char(sample_time,'mm-dd hh24:mi:ss'), sum(TEMP_SPACE_ALLOCATED)/(1024*1024) as ALLOCATED
from dba_hist_active_sess_history 
where sample_time between trunc(sysdate)+4/(24*60) and trunc(sysdate)+7/(24*60)
group by instance_number, to_char(sample_time,'mm-dd hh24:mi:ss')
order by 1, 2;
image.png
  1. 从00:04:47 开始,到 00:05:57 结束,temp增长到624M,上面的查询可以直接加入sql_id字段定位,发现都是同一个SQL导致的:
select instance_number, to_char(sample_time,'mm-dd hh24:mi:ss'),sql_id,sum(TEMP_SPACE_ALLOCATED)/(1024*1024) as ALLOCATED
from dba_hist_active_sess_history 
where sample_time between trunc(sysdate)+4/(24*60) and trunc(sysdate)+7/(24*60)
group by instance_number, to_char(sample_time,'mm-dd hh24:mi:ss'),sql_id
having sum(TEMP_SPACE_ALLOCATED)/(1024*1024)>100
order by 1, 2; 
image.png
  1. SQL_ID 2wcjbyv5s3dcb对应的文本为(通過 dba_hist_sqltext 或 v$sql查詢)
select t."SQL_FULLTEXT" from v$sql t where sql_id = '2wcjbyv5s3dcb';

#輸出
MERGE INTO MEC_ACTIVITY_COST_ACCOUNT A USING 
( SELECT D.ACTIVITY_ID,D.ACTIVITY_NO,D.ACTIVITY_NAME
,SUM(D.MER_DISCOUNT_VALUE + D.MP_DISCOUNT_VALUE) AS MONEY_COST_USE ,COUNT(1) AS DISCOUNT_TIMES 
FROM V_MER_DISCOUNT_DETAIL D 
WHERE D.ACCOUNT_DATE = :B1 
GROUP BY D.ACTIVITY_ID,D.ACTIVITY_NO,D.ACTIVITY_NAME 
)B ON (B.ACTIVITY_ID=A.ACTIVITY_ID AND A.ACCOUNT_DATE = :B1 ) 
WHEN MATCHED THEN UPDATE SET 
A.END_VALUE = (NVL(A.TOTAL_COST_VALUE,0) - NVL(A.PRE_TOTAL_COST_VALUE,0)) + NVL(A.PRE_END_VALUE,0) - NVL(B.MONEY_COST_USE,0)
, A.DISCOUNT_TIMES = B.DISCOUNT_TIMES 
WHEN NOT MATCHED THEN INSERT 
(ACTIVITY_ID,ACTIVITY_NO,PRE_TOTAL_COST_VALUE,PRE_END_VALUE,TOTAL_COST_VALUE,END_VALUE,DISCOUNT_TIMES, CREATE_BY, CREATE_DATE, ACCOUNT_DATE) 
VALUES 
(B.ACTIVITY_ID,B.ACTIVITY_NO,NULL,0,NULL,0-B.MONEY_COST_USE,B.DISCOUNT_TIMES,'bill_job_account_3',SYSDATE,:B1 )
  1. 查詢執行計劃(備清除了就無法通過此方法查詢到)
select * from table(dbms_xplan.display_awr('2wcjbyv5s3dcb'));

相关文章

  • ORACLE 臨時表空間使用分析

    查询dba_temp_files 根据DBA_HIST_ACTIVE_SESS_HISTORY中的TEMP_SPA...

  • 時間和空間

    時間的本源是什麼? 我們現在用的是空間裏的時間,用地球和太陽的關係來做刻度。 時間是空間的抽象表達。 我們用的時間...

  • ORACLE 釋放表及其表空間測試

    1.準備--表空間使用率視圖創建 2.創建測試用途的表空間 3.檢查表空間使用率 4.創建測試表 5.檢查空間使用...

  • 時間時空

  • 心念

    暮色蒼茫時憶你 夜深人靜時念你 夢中你常光臨 你占據了我的時間,擠滿了我的空間 剎那的相遇成了永恆 雖然你常對我說...

  • [非監督]PCA(降維)

    Dimension Reduction(降維) 有些時候高維的空間的資料可以以低維空間來表示。 PCA主成分分析(...

  • 《錯失?》

    時間和機會哪個會先來臨 我覺得是時間 因為從來不是時間來 是我走在時間上 我覺得是機會 因為從來不是機會來 是我創...

  • 时间管理践行50天-17/50

    時間都去哪儿了?没有记录就没有发生。記錄時間,分析時間,才能安排時間。A time logger 日程+情境清单的模式。

  • 時間·時間

    有時我曾想,想要找到属于我的时间,我想知道,时间是什么,时间是我们珍视的东西,而我却在时间中迷茫……迷茫。 我...

  • 观照的奇迹|一行禅师|第三章穿越時空的迷思之三

    時間和空間彼此含納,無法透過知識加以分割。《華嚴經》說,時間和空間彼此含納,依賴對方而存在,無法透過知識加以分割。...

网友评论

    本文标题:ORACLE 臨時表空間使用分析

    本文链接:https://www.haomeiwen.com/subject/hcjwwctx.html