ORACLE的statistics_level的三種狀態以及oracle自動診斷工具ADDM

statistics_level 參數是oracle9.2開始引入的一個控制系統統計參數收集的一個開關.一共有三個值:basic,typical,all.支持alter session,alter system 動態修改.如果要用statspack或者AWR收集系統性能統計數據.那麼這個參數的值必須爲typical或all.通常all是一個全面收集,包括 OS以及sql執行路徑方面的一些統計信息,除非遇見非常嚴重的性能問題或在一些特殊的性能掙斷方面纔會用到statistics_level=all, 平常statistics_level=typeical已經足夠診斷99%的性能問題了. 
example: seting statistics_level 

alter system set statistics_level=basic; 
alter system set statistics_level=typical; 
alter system set statistics_level=all; 
or 
alter session set statistics_level=basic; 
alter session set statistics_level=typical; 
alter session set statistics_level=all; 

statistics_level=basic的情況下,oracle關閉了所有性能數據的收集,也就是如果要關閉AWR或statspack收集,只要設置alter system set statistics_level=basic;就行了; 

statistics_level=typical的時 
候,除了plan_executetion_statistics和OS Statistics不能收集外,其他的都可以收集,如要要收集這個兩項,必須設置statistics_level=all; 

如果當statistics_level=ALL,系統收集所有的統計信息.


 ADDM介紹

 ADDM(Automatic Database Diagnostic Monitor),就是通過診斷和分析awr得到的數據來推斷數據庫可能存在的問題,addm給出的建議是依照減少db_time爲依據。每次收集完awr報告後,都會產生一個addm分析,分析結果在shared_pool裏,mmon進程定期將其寫入磁盤,AWR每產生一次快照,MMON進程就通知ADDM把AWR最近兩次快照之間的差值進行分析。因此,在默認情況下,每當有AWR的快照產生,ADDM將自動運行。通過em可以查看。所以說白了,addm應該是幫助我們發現問題的一個很好的工具。addm可以定位出很多問題,或許你想不到的,它都能幫你想到。
設置開啓ADDM(默認是開啓的),要使用這個工具必須設置參數STATISTICS_LEVEL爲TYPICAL(默認)或者ALL。
SQL> show parameter  control_management
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_management_pack_access       string      DIAGNOSTIC+TUNING--如果爲none表示關閉

SQL> show parameter  STATISTICS_LEVEL
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
statistics_level                     string      TYPICAL---默認,如果改爲none就關閉了很多自動的功能,比如統計信息的收集等,typical已經包含99%的功能,所以一般情況下不用all

SQL> SELECT statistics_name,session_status,system_status,activation_level,session_settable FROM   v$statistics_level ORDER BY statistics_name;

STATISTICS_NAME                                                  SESSION_ SYSTEM_S ACTIVAT SES
---------------------------------------------------------------- -------- -------- ------- ---
Active Session History                                           ENABLED  ENABLED  TYPICAL NO
Adaptive Thresholds Enabled                                      ENABLED  ENABLED  TYPICAL NO
Automated Maintenance Tasks                                      ENABLED  ENABLED  TYPICAL NO
Bind Data Capture                                                ENABLED  ENABLED  TYPICAL NO
Buffer Cache Advice                                              ENABLED  ENABLED  TYPICAL NO
Global Cache Statistics                                          ENABLED  ENABLED  TYPICAL NO
Longops Statistics                                               ENABLED  ENABLED  TYPICAL NO
MTTR Advice                                                      ENABLED  ENABLED  TYPICAL NO
Modification Monitoring                                          ENABLED  ENABLED  TYPICAL NO
PGA Advice                                                       ENABLED  ENABLED  TYPICAL NO
Plan Execution Sampling                                          ENABLED  ENABLED  TYPICAL YES

STATISTICS_NAME                                                  SESSION_ SYSTEM_S ACTIVAT SES
---------------------------------------------------------------- -------- -------- ------- ---
Plan Execution Statistics                                        DISABLED DISABLED ALL     YES---需要在all下才收集
SQL Monitoring                                                   ENABLED  ENABLED  TYPICAL YES
Segment Level Statistics                                         ENABLED  ENABLED  TYPICAL NO
Shared Pool Advice                                               ENABLED  ENABLED  TYPICAL NO
Streams Pool Advice                                              ENABLED  ENABLED  TYPICAL NO
Threshold-based Alerts                                           ENABLED  ENABLED  TYPICAL NO
Time Model Events                                                ENABLED  ENABLED  TYPICAL YES
Timed OS Statistics                                              DISABLED DISABLED ALL     YES---需要在all下才收集
Timed Statistics                                                 ENABLED  ENABLED  TYPICAL YES
Ultrafast Latch Statistics                                       ENABLED  ENABLED  TYPICAL NO
Undo Advisor, Alerts and Fast Ramp up                            ENABLED  ENABLED  TYPICAL NO

STATISTICS_NAME                                                  SESSION_ SYSTEM_S ACTIVAT SES
---------------------------------------------------------------- -------- -------- ------- ---
V$IOSTAT_* statistics                                            ENABLED  ENABLED  TYPICAL NO

23 rows selected.

ADDM能發現定位的問題包括:
?操作系統內存頁入頁出問題
?由於Oracle負載和非Oracle負載導致的CPU瓶頸問題
?導致不同資源負載的Top SQL語句和對象——CPU消耗、IO帶寬佔用、潛在IO問題、RAC內部通訊繁忙
?按照PLSQL和JAVA執行時間排的Top SQL語句.
?過多地連接 (login/logoff).
?過多硬解析問題——由於shared pool過小、書寫問題、綁定大小不適應、解析失敗原因引起的。
?過多軟解析問題
?索引查詢過多導致資源爭用.
?由於用戶鎖導致的過多的等待時間 (通過包dbms_lock加的鎖)
?由於DML鎖導致的過多等待時間(例如鎖住表了)
?由於管道輸出導致的過多等待時間(如通過包dbms_pipe.put進行管道輸出)
?由於併發更新同一個記錄導致的過多等待時間(行級鎖等待)
?由於ITL不夠導致的過多等待時間(大量的事務操作同一個數據塊)
?系統中過多的commit和rollback(logfile sync事件).
?由於磁盤帶寬太小和其他潛在問題(如由於logfile太小導致過多的checkpoint,MTTR設置問題,過多的undo操作等等)導致的IO性能問題I
?對於DBWR進程寫數據塊,磁盤IO吞吐量不足
?由於歸檔進程無法跟上redo日至產生的速度,導致系統變慢
?redo數據文件太小導致的問題
?由於擴展磁盤分配導致的爭用
?由於移動一個對象的高水位導致的爭用問題
?內存太小問題——SGA Target, PGA, Buffer Cache, Shared Pool
?在一個實例或者一個機羣環境中存在頻繁讀寫爭用的熱塊
?在一個實例或者一個機羣環境中存在頻繁讀寫爭用的熱對象
?RAC環境中內部通訊問題
?LMS進程無法跟上導致鎖請求阻塞
?在RAC環境中由於阻塞和爭用導致的實例傾斜
?RMAN導致的IO和CPU問題
?Streams和AQ問題
?資源管理等待事件
以上一些項目,其實在addm中,它會一find 的方式將這些項目逐一列出。

以上爲摘錄。

2 腳本收集ADDM報告
下面爲我的實驗:
 ADDM和AWR一樣可以跨任意兩個時間快照,可以執行$ORACLE_HOME/rdbms/admin/addmrpt.sql生成addm報告,如果是rac那就執行addmrpti.sql。addm腳本收集方法和awr基本差不多。
SQL> @$ORACLE_HOME/rdbms/admin/addmrpt.sql

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

   DB Id    DB Name      Inst Num Instance
----------- ------------ -------- ------------
 2120886780 TEST                1 TEST


Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   DB Id     Inst Num DB Name      Instance     Host
------------ -------- ------------ ------------ ------------
* 2120886780        1 TEST         TEST         MAOMAO

Using 2120886780 for database Id
Using          1 for instance number


Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed.  Pressing without
specifying a number lists all completed snapshots.

 

Listing the last 3 days of Completed Snapshots

                                                        Snap
Instance     DB Name        Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
TEST         TEST              2024 22 Dec 2013 00:00      1
                               2025 22 Dec 2013 01:00      1
                               2026 22 Dec 2013 02:00      1
                               2027 22 Dec 2013 03:00      1
                               2028 22 Dec 2013 04:00      1
                               2029 22 Dec 2013 05:00      1
                               2030 22 Dec 2013 06:00      1
                               2031 22 Dec 2013 07:00      1
                               2032 22 Dec 2013 08:00      1
                               2033 22 Dec 2013 09:00      1
                               2034 22 Dec 2013 10:00      1
                               2035 22 Dec 2013 11:00      1
                               2036 22 Dec 2013 12:00      1
                               2037 22 Dec 2013 13:00      1
                               2038 22 Dec 2013 14:00      1
                               2039 22 Dec 2013 15:00      1
                               2040 22 Dec 2013 16:00      1
                               2041 22 Dec 2013 17:00      1
                               2042 22 Dec 2013 18:00      1
                               2043 22 Dec 2013 19:00      1
                               2044 22 Dec 2013 20:00      1
                               2045 22 Dec 2013 21:00      1
                               2046 22 Dec 2013 22:00      1
                               2047 22 Dec 2013 23:00      1
                               2048 23 Dec 2013 00:00      1
                               2049 23 Dec 2013 01:00      1
                               2050 23 Dec 2013 02:00      1
                               2051 23 Dec 2013 03:00      1
                               2052 23 Dec 2013 04:00      1
                               2053 23 Dec 2013 05:00      1
                               2054 23 Dec 2013 06:00      1
                               2055 23 Dec 2013 07:00      1
                               2056 23 Dec 2013 08:00      1
                               2057 23 Dec 2013 09:00      1
                               2058 23 Dec 2013 10:00      1
                               2059 23 Dec 2013 11:00      1
                               2060 23 Dec 2013 12:00      1
                               2061 23 Dec 2013 13:00      1
                               2062 23 Dec 2013 14:00      1
                               2063 23 Dec 2013 15:00      1
                               2064 23 Dec 2013 16:00      1
                               2065 23 Dec 2013 17:00      1
                               2066 23 Dec 2013 18:00      1
                               2067 23 Dec 2013 19:00      1
                               2068 23 Dec 2013 20:00      1
                               2069 23 Dec 2013 21:00      1
                               2070 23 Dec 2013 22:00      1
                               2071 23 Dec 2013 23:00      1
                               2072 24 Dec 2013 00:00      1
                               2073 24 Dec 2013 01:00      1
                               2074 24 Dec 2013 02:00      1
                               2075 24 Dec 2013 03:00      1
                               2076 24 Dec 2013 04:00      1
                               2077 24 Dec 2013 05:00      1
                               2078 24 Dec 2013 06:00      1
                               2079 24 Dec 2013 07:00      1

                                                        Snap
Instance     DB Name        Snap Id    Snap Started    Level
------------ ------------ --------- ------------------ -----
TEST         TEST              2080 24 Dec 2013 08:00      1
                               2081 24 Dec 2013 09:00      1

 

Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 2078
Begin Snapshot Id specified: 2078

Enter value for end_snap: 2079
End   Snapshot Id specified: 2079

 

Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is addmrpt_1_2078_2079.txt.  To use this name,
press to continue, otherwise enter an alternative.

Enter value for report_name: addm_1224_06_07.txt
Using the report name addm_1224_06_07.txt


Running the ADDM analysis on the specified pair of snapshots ...


Generating the ADDM report for this analysis ...


          ADDM Report for Task 'TASK_2143'
          --------------------------------

Analysis Period
---------------
AWR snapshot range from 2078 to 2079.
Time period starts at 24-DEC-13 06.00.50 AM
Time period ends at 24-DEC-13 07.00.07 AM

Analysis Target
---------------
Database 'TEST' with DB ID 2120886780.
Database version 11.2.0.3.0.
ADDM performed an analysis of instance TEST, numbered 1 and hosted at
MAOMAO.

Activity During the Analysis Period
-----------------------------------
Total database time was 14 seconds.
The average number of active sessions was 0.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

There are no findings to report.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          Additional Information
          ----------------------

Miscellaneous Information
-------------------------
There was no significant database activity to run the ADDM.


End of Report
Report written to addm_1224_06_07.txt
SQL>

3  使用em來收集addm信息

 
  


查看詳細信息可以點擊查看報告:


 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章