學用ORACLE AWR和ASH特性(1)-ASH和AWR的故事

kunlunzhiying發表於2017-05-27

一、ASH和AWR的故事

1.1  關於ASH

  我們都知道,使用者在ORACLE資料庫中執行操作時,必然要建立相應的連線和會話,其中,所有當前的會話資訊都儲存在動態效能檢視V$SESSION中,透過該檢視,DBA可以檢視使用者實際執行的操作,或者當前的等待事件等。通常這部分資訊是調優過程中的關鍵資訊,不過,一旦連線斷開。會話資訊就會被同時從V$SESSION及其它相關檢視中清除,也就是說,使用者執行完操作走人,而你(DBA),如果不能在當前逮到他,過了這點,就不知道它曾經做過什麼了。

  10g 版本中,ORACLE又新增加了一個檢視(其它是若干,不過我們們還是以session為引子說):V$ACTIVE_SESSION_HISTORY,看名字就知道,就是活動會話的歷史記錄,這下,即使使用者操作完成後,斷開了連線也不怕,因為其會話的情況已經被記錄了下來,這項特性就是ASH了,全稱與檢視名相同,正是:ACTIVE SESSION HISTORY。

  ASH 每秒鐘收集一次當前處於非空閒等待事件的、活動狀態的、session的資訊,並儲存在V$ACTIVE_SESSION_HISTORY檢視中,我們(應該以及必須)知道,動態效能檢視其實上是ORACLE自行構造的一堆存在於SGA記憶體區的虛表,就是說,ASH的資料是儲存在記憶體裡的,實際上,ORACLE分配給ASH的空間並不是無限大(更何況ORACLE自身管理的記憶體空間也不是無限大),檢視ASH可供使用的記憶體空間,可以透過如下SQL:

    SQL> select pool, name, bytes/1024/1024  Mb  From v$sgastat where name like 'ASH %';

    POOL         NAME                        Mb

    ------------ -------------------------- ---------------

    shared pool  ASH buffers                           15.5

  直白的講 ,V$ACTIVE_SESSION_HISTORY中能夠記錄多少會話資訊, 一方面取決於該資料庫的SGA 分配給ASH buffers的大小 ,另一方面取決於資料庫的啟動和關閉(重啟資料庫時將重構SGA記憶體區)。這兩方面的因素制約了V$ACTIVE_SESSION_HISTORY中能夠儲存的會話資訊的能力,做為DBA,我們肯定是希望ASH儘可能多的保留關於會話的資訊,但目前來看單純依靠V$ACTIVE_SESSION_HISTORY肯定無法實現這點,那怎麼辦呢?別擔心,ORACLE又提供了AWR特性,ASH收集到的會話資訊,是做為AWR中快照資訊的一部分,被儲存到了硬碟上。

1.2  關於AWR

  AWR 是 Oracle  10g 版本 推出的新特性, 全稱叫Automatic Workload Repository-自動負載資訊庫。 談到這一特性呢,不得不先提Statspack,Statspack稱的上是ORACLE世界裡的老人了,不過畢竟年歲大了,腿腳雖然還算靈便,但效率不那麼高了,用時髦話講就是不能適應時代發展步伐,不能緊跟時代潮流,不能保持做為一名優秀黨員的先進性,始終堅持帶三個表的為DBA服務。但是,說到底Statspack還是為了黨國事業奮鬥了一輩子,在黨內還是有勢力有威信有地位有影響的四有老人,還有餘熱可以發揮, 雖然其在統計實時性方面,表現已不足以滿足DBA多變的需求,依然 不能一下就將其拿下, 因此 ORACLE 採取漸進方式先 推出了AWR,說是輔助Statspack工作,其實明眼人一看就明瞭,這是新指定的接班人哪。

    提示:

    關於Statspack的學和用請參考三思筆記相關章節:

  AWR 與前輩Statspack在職業定位方面是相同的,都是負責收集、處理並維護效能統計資訊,用於檢查和分析效能問題(甚至生成的報告格式都非常接近),AWR生成的統計資料即可以透過V$檢視和DBA_*資料字典檢視,也可以透過指令碼來生成相應報表。談到相比Statspack,AWR究竟在哪些方面有所提升呢,撿主要的講就兩條:自動+實時,至於功能上的些許提高,不過是因為AWR年輕腿腳利索罷了。

    提示:

    進入10g版本,ORACLE更加註重強調使用EM(Enterprise Manager)管理各項操作,不過考慮效能、通用度等各方面因素,這裡三思仍然主要透過指令碼操作來使用AWR和ASH的各項功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2139995/,如需轉載,請註明出處,否則將追究法律責任。

相關文章