程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

ASH

編輯:DB2教程

ASH


我們可以用第三方工具監控數據庫,如toad,spotlight(我用的是這個,還不錯),但是oracl提供的監測數據的工具不可忽視,學會應用會給監控數據帶來便捷。下面介紹ASH.
ASH:active session history
我們可以查v$active_session_history(記錄了活動session的歷史信息),v$session_wait_history(記錄了session等待的信息),v$session_wait
對active session的理解:持有CPU資源;有事務等待
SQL> select * from v$version where rownum=1;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
下面簡介如何使用ASH報告:
SQL> SELECT DISTINCT SID FROM V$MYSTAT;


SID
----------
143


SQL> update t set name='s' where id=1;

已更新 1 行。
SQL> select distinct sid from v$mystat;

SID
----------
21

SQL> update t set name='d' where id=1;
此時出現了阻塞:
通過腳本生成ASH報告:
SQL> @/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/ashrpt.sql

Current Instance
~~~~~~~~~~~~~~~~

DB Id DB Name Inst Num Instance
----------- ------------ -------- ------------
3848072073 ORCL3939 1 orcl3939


Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
輸入 report_type 的值: (可以選擇html,text格式)

..............
.............
.............
根據填寫的時間段,我填寫的是13:10 10(如果填寫的-10,則時間段是13:00-13:10),可以生成ash報告:
\
上面只是報告一小部分截圖,上面分析了這一段時間內的top events,top sql等事件,同時也出現了上面模擬的等待。
具體可以實驗研究。
我們也可以通過OEM來生成ASH報告,同樣在em裡可以分析性能問題,比較直觀。
對於em,還是ash,都是通過查找視圖來收集這些信息的,如果我們熟悉的話,可以直接查視圖發現問題。
例如上面的阻塞:
select * from v$session_wait;
\
關於空的的等待(idle)我們不需要關注,很直觀就發現等待的類型,依次診斷數據庫。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved