[20130125]利用v$active_session_history檢視解決資料庫問題.txt
[20130125]利用v$active_session_history檢視解決資料庫問題.txt
在資料庫出現效能問題的時候使用awr,ash,addm都是不錯的選擇,實際上直接查詢v$active_session_history也能很快定位解決問題。
實際上如果檢視v$active_session_history檢視,結合一些檢視可以獲取許多資訊。
舉幾個例子來說明:
1.確定那個物件有高的等待:
SELECT a.current_obj#, o.object_name, o.object_type, a.event, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a, dba_objects o
WHERE a.sample_time BETWEEN SYSDATE - 30 / 1440 AND SYSDATE AND a.current_obj# = o.object_id
GROUP BY a.current_obj#, o.object_name, o.object_type, a.event
ORDER BY total_wait_time desc ;
2.看看一段時間主要是那些等待事件:
SELECT a.event, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a
WHERE a.sample_time BETWEEN SYSDATE - 30 / 1440 AND SYSDATE
GROUP BY a.event
ORDER BY total_wait_time DESC;
3.看看那個回話有問題:
SELECT s.SID, s.username, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a, v$session s
WHERE a.sample_time BETWEEN SYSDATE - 30 / 1440 AND SYSDATE AND a.session_id = s.SID
GROUP BY s.SID, s.username
ORDER BY total_wait_time DESC;
--當然這個只能查詢最近的會準一點,回話退出就不行了。
4.看看那個sql語句有問題。
SELECT a.user_id, d.username, s.sql_text, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a, v$sqlarea s, dba_users d
WHERE a.sample_time BETWEEN SYSDATE - 15 / 1440 AND SYSDATE AND a.sql_id = s.sql_id AND a.user_id = d.user_id
GROUP BY a.user_id, s.sql_text, d.username
order by SUM (a.wait_time + a.time_waited) desc
-- 這裡查詢的是v$sqlarea檢視。
同樣你可以使用檢視DBA_HIST_ACTIVE_SESS_HISTORY代替v$active_session_history查詢歷史的資訊。
select * from dba_objects where wner='SYS' and object_name like 'DBA_HIST%' and object_type='VIEW';
利用這些檢視定位許多資訊問題。
在資料庫出現效能問題的時候使用awr,ash,addm都是不錯的選擇,實際上直接查詢v$active_session_history也能很快定位解決問題。
實際上如果檢視v$active_session_history檢視,結合一些檢視可以獲取許多資訊。
舉幾個例子來說明:
1.確定那個物件有高的等待:
SELECT a.current_obj#, o.object_name, o.object_type, a.event, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a, dba_objects o
WHERE a.sample_time BETWEEN SYSDATE - 30 / 1440 AND SYSDATE AND a.current_obj# = o.object_id
GROUP BY a.current_obj#, o.object_name, o.object_type, a.event
ORDER BY total_wait_time desc ;
2.看看一段時間主要是那些等待事件:
SELECT a.event, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a
WHERE a.sample_time BETWEEN SYSDATE - 30 / 1440 AND SYSDATE
GROUP BY a.event
ORDER BY total_wait_time DESC;
3.看看那個回話有問題:
SELECT s.SID, s.username, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a, v$session s
WHERE a.sample_time BETWEEN SYSDATE - 30 / 1440 AND SYSDATE AND a.session_id = s.SID
GROUP BY s.SID, s.username
ORDER BY total_wait_time DESC;
--當然這個只能查詢最近的會準一點,回話退出就不行了。
4.看看那個sql語句有問題。
SELECT a.user_id, d.username, s.sql_text, SUM (a.wait_time + a.time_waited) total_wait_time
FROM v$active_session_history a, v$sqlarea s, dba_users d
WHERE a.sample_time BETWEEN SYSDATE - 15 / 1440 AND SYSDATE AND a.sql_id = s.sql_id AND a.user_id = d.user_id
GROUP BY a.user_id, s.sql_text, d.username
order by SUM (a.wait_time + a.time_waited) desc
-- 這裡查詢的是v$sqlarea檢視。
同樣你可以使用檢視DBA_HIST_ACTIVE_SESS_HISTORY代替v$active_session_history查詢歷史的資訊。
select * from dba_objects where wner='SYS' and object_name like 'DBA_HIST%' and object_type='VIEW';
利用這些檢視定位許多資訊問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-753282/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20211214]檢視檢視V$ACTIVE_SESSION_HISTORY遇到奇怪問題.txtSession
- [20210418]查詢v$檢視問題.txt
- V$ACTIVE_SESSION_HISTORY檢視的使用Session
- [20230214]資料庫連線訪問asm相關檢視.txt資料庫ASM
- [20230216]資料庫連線訪問asm相關檢視2.txt資料庫ASM
- [20200102]資料庫安裝問題.txt資料庫
- 資料庫層面問題解決思路資料庫
- 解決hive資料庫 插入資料很慢的問題Hive資料庫
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- 如何在Windows下利用Apche檢視MySQL資料庫?WindowsMySql資料庫
- 資料檢視的重複問題
- [20211206]toad下job建立檢視問題.txt
- 資料庫檢視資料庫
- 資料庫-檢視資料庫
- [20181128]toad連線資料庫的問題.txt資料庫
- [20221128]dg資料庫最佳化問題.txt資料庫
- 安裝mysql資料庫及問題解決方法MySql資料庫
- 解決資料庫高併發訪問瓶頸問題資料庫
- 華為雲資料庫GaussDB (for Cassandra) 資料庫治理 -- 大key與熱key問題的檢測與解決資料庫
- [20211019]V$DETACHED_SESSION檢視.txtSession
- 【資料庫】解決Mysql資料庫提示innodb表不存在的問題!資料庫MySql
- [20221128]再談防水牆(檢視訪問效能問題).txt
- 解決pl/sql developer中資料庫插入資料亂碼問題SQLDeveloper資料庫
- 解決linux下redis資料庫overcommit_memory問題LinuxRedis資料庫MIT
- [20230306]os認證連線資料庫問題.txt資料庫
- 資料庫系列:大廠使用資料庫中介軟體解決什麼問題?資料庫
- 如何解決資料庫配置問題資料庫
- SVN解決不能檢視最近提交日誌的問題
- [20210528]V$INDEXED_FIXED_COLUMN檢視.txtIndex
- mysql資料庫Cpu利用率100%問題排查MySql資料庫
- 解決金倉資料庫KingbaseES V8R3叢集故障報錯的問題資料庫
- 2.12 資料庫資料字典檢視資料庫
- [20181128]toad連線資料庫的問題(補充).txt資料庫
- [20180907]訪問v$檢視與一致性讀取.txt
- 資料庫的物化檢視資料庫
- openGausspostgreSQL資料庫效能檢視SQL資料庫
- 資料庫檢視的作用資料庫
- 資料庫檢視的使用資料庫
- SSM解決中文存入資料庫亂碼問題(記錄自己的問題)SSM資料庫