日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

查询DBA_HIST_ACTIVE_SESS_HISTORY缓慢

發(fā)布時(shí)間:2024/8/26 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 查询DBA_HIST_ACTIVE_SESS_HISTORY缓慢 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[20140822]查詢DBA_HIST_ACTIVE_SESS_HISTORY緩慢.txt

生產(chǎn)系統(tǒng)前一段時(shí)間我修改了awr保留時(shí)間間隔,主要是比較每個(gè)月底要執(zhí)行的報(bào)表。

SCOTT@test> select 40*60*24 from dual ;?
? 40*60*24?
----------?
???? 57600

--exec DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(retention=>57600, interval=>60);?
-- 設(shè)置保留40天,間隔60分鐘

SQL> SELECT * FROM dba_hist_wr_control;

????? DBID SNAP_INTERVAL?????? RETENTION????????? TOPNSQL?
---------- ------------------- ------------------ ----------?
? 168324986 +00000 01:00:00.0?? +00040 00:00:00.0? DEFAULT

--可以昨天當(dāng)我查詢視圖DBA_HIST_ACTIVE_SESS_HISTORY時(shí)非常慢。也許保留時(shí)間太長(zhǎng)的原因。?
--我的查詢語句如下:

select * from DBA_HIST_ACTIVE_SESS_HISTORY? where event = 'enq: TX - row lock contention' and sample_time>=trunc(sysdate);

-- 5,6分鐘都沒有出來。這個(gè)讓我仔細(xì)看執(zhí)行計(jì)劃,以及視圖定義。?
-- 確定主要訪問的是基表sys.WRH$_ACTIVE_SESSION_HISTORY.

-- 查看定義。?
-- WRH$_ACTIVE_SESSION_HISTORY? (Table)?
--?
CREATE TABLE SYS.WRH$_ACTIVE_SESSION_HISTORY?
(?
? SNAP_ID??????????????????? NUMBER???????????? NOT NULL,?
? DBID?????????????????????? NUMBER???????????? NOT NULL,?
? INSTANCE_NUMBER??????????? NUMBER???????????? NOT NULL,?
? SAMPLE_ID????????????????? NUMBER???????????? NOT NULL,?
? SAMPLE_TIME??????????????? TIMESTAMP(3)?????? NOT NULL,?
? SESSION_ID???????????????? NUMBER???????????? NOT NULL,?
? SESSION_SERIAL#??????????? NUMBER,?
? USER_ID??????????????????? NUMBER,?
? SQL_ID???????????????????? VARCHAR2(13 BYTE),?
? SQL_CHILD_NUMBER?????????? NUMBER,?
? SQL_PLAN_HASH_VALUE??????? NUMBER,?
? SERVICE_HASH?????????????? NUMBER,?
? SESSION_TYPE?????????????? NUMBER,?
? SQL_OPCODE???????????????? NUMBER,?
? QC_SESSION_ID????????????? NUMBER,?
? QC_INSTANCE_ID???????????? NUMBER,?
? CURRENT_OBJ#?????????????? NUMBER,?
? CURRENT_FILE#????????????? NUMBER,?
? CURRENT_BLOCK#???????????? NUMBER,?
? SEQ#?????????????????????? NUMBER,?
? EVENT_ID?????????????????? NUMBER,?
? P1???????????????????????? NUMBER,?
? P2???????????????????????? NUMBER,?
? P3???????????????????????? NUMBER,?
? WAIT_TIME????????????????? NUMBER,?
? TIME_WAITED??????????????? NUMBER,?
? PROGRAM??????????????????? VARCHAR2(64 BYTE),?
? MODULE???????????????????? VARCHAR2(48 BYTE),?
? ACTION???????????????????? VARCHAR2(32 BYTE),?
? CLIENT_ID????????????????? VARCHAR2(64 BYTE),?
? FORCE_MATCHING_SIGNATURE?? NUMBER,?
? BLOCKING_SESSION?????????? NUMBER,?
? BLOCKING_SESSION_SERIAL#?? NUMBER,?
? XID??????????????????????? RAW(8),?
? PLSQL_ENTRY_OBJECT_ID????? NUMBER,?
? PLSQL_ENTRY_SUBPROGRAM_ID? NUMBER,?
? PLSQL_OBJECT_ID??????????? NUMBER,?
? PLSQL_SUBPROGRAM_ID??????? NUMBER,?
? FLAGS????????????????????? NUMBER?
)?
PARTITION BY RANGE (DBID, SNAP_ID)?
(??
? PARTITION WRH$_ACTIVE_168324986_18057 VALUES LESS THAN (168324986, 18153),??
? PARTITION WRH$_ACTIVE_168324986_18153 VALUES LESS THAN (168324986, 18273),??
? PARTITION WRH$_ACTIVE_168324986_18273 VALUES LESS THAN (168324986, 18369),??
? PARTITION WRH$_ACTIVE_168324986_18369 VALUES LESS THAN (168324986, 18465),??
? PARTITION WRH$_ACTIVE_168324986_18465 VALUES LESS THAN (168324986, 18561),??
? PARTITION WRH$_ACTIVE_168324986_18561 VALUES LESS THAN (168324986, 18657),??
? PARTITION WRH$_ACTIVE_168324986_18657 VALUES LESS THAN (168324986, 18776),??
? PARTITION WRH$_ACTIVE_168324986_18776 VALUES LESS THAN (168324986, 18872),??
? PARTITION WRH$_ACTIVE_168324986_18872 VALUES LESS THAN (168324986, 18968),??
? PARTITION WRH$_ACTIVE_168324986_18968 VALUES LESS THAN (168324986, 19064),??
? PARTITION WRH$_ACTIVE_168324986_19064 VALUES LESS THAN (168324986, MAXVALUE),??
? PARTITION WRH$_ACTIVE_SES_MXDB_MXSN VALUES LESS THAN (MAXVALUE, MAXVALUE)?
)?
NOPARALLEL?
ENABLE ROW MOVEMENT;


--?
-- WRH$_ACTIVE_SESSION_HISTORY_PK? (Index)?
--?
--? Dependencies:?
--?? WRH$_ACTIVE_SESSION_HISTORY (Table)?
--?
CREATE UNIQUE INDEX SYS.WRH$_ACTIVE_SESSION_HISTORY_PK ON SYS.WRH$_ACTIVE_SESSION_HISTORY?
(DBID, SNAP_ID, INSTANCE_NUMBER, SAMPLE_ID, SESSION_ID)?
? LOCAL (??
? PARTITION WRH$_ACTIVE_168324986_18057,??
? PARTITION WRH$_ACTIVE_168324986_18153,??
? PARTITION WRH$_ACTIVE_168324986_18273,??
? PARTITION WRH$_ACTIVE_168324986_18369,??
? PARTITION WRH$_ACTIVE_168324986_18465,??
? PARTITION WRH$_ACTIVE_168324986_18561,??
? PARTITION WRH$_ACTIVE_168324986_18657,??
? PARTITION WRH$_ACTIVE_168324986_18776,??
? PARTITION WRH$_ACTIVE_168324986_18872,??
? PARTITION WRH$_ACTIVE_168324986_18968,??
? PARTITION WRH$_ACTIVE_168324986_19064,??
? PARTITION WRH$_ACTIVE_SES_MXDB_MXSN?
)?
NOPARALLEL;


--?
-- Non Foreign Key Constraints for Table WRH$_ACTIVE_SESSION_HISTORY?
--?
ALTER TABLE SYS.WRH$_ACTIVE_SESSION_HISTORY ADD (?
? CONSTRAINT WRH$_ACTIVE_SESSION_HISTORY_PK?
? PRIMARY KEY?
? (DBID, SNAP_ID, INSTANCE_NUMBER, SAMPLE_ID, SESSION_ID)?
? USING INDEX LOCAL?
? ENABLE VALIDATE);


--從定義知道,如果要查詢快1點(diǎn),必須加入DBID, SNAP_ID兩個(gè)字段,查詢范圍才會(huì)縮小。?
--首先確定snap_id范圍?
select * from SYS.DBA_HIST_SNAPSHOT order by 1 desc ;

--我改了一下?
SELECT *?
? FROM DBA_HIST_ACTIVE_SESS_HISTORY?
WHERE???? event like? 'enq%: TX - row lock contention'?
?????? AND snap_id in ( select snap_id from DBA_HIST_SNAPSHOT where END_INTERVAL_TIME between trunc(sysdate)-1 and trunc(sysdate))?
?????? AND DBID = 168324986?
?????? and instance_number=1;

--這樣1分鐘基本結(jié)果就出來了。

總結(jié)

以上是生活随笔為你收集整理的查询DBA_HIST_ACTIVE_SESS_HISTORY缓慢的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。