「iThome 第七屆鐵人賽 26」主動維護(I)

熱門文章 (Popular Post)

Posted by : Duran Hsieh 2015-01-07



今天我們談到oracle database的主動維護機制:


維護的名詞簡介:

1.Automatic Workload Repository ,AWR:

一個內建在每個oracle資料庫的儲存庫,用來取得資料、分析資料且建議解決方案。

在一般運作時期,資料庫會建立所有重要統計資料與負載資料的快照,且儲存在AWR中。

其取得的資料可以藉由操作人員或資料庫本身進行分析。

分析後的資料也會儲存在AWR中,用來作為執行日常維護工作的依據,提高SQL執行的效率。

若有些問題是資料庫無法解決,需要通知管理者,oracle可以設定監控與寄出通知給系統管理者。除了寄出警告通知系統管理者,有會提供建議給使用者如和解決問題。

2.Active Session History(ASH): 

紀錄最近session activity的歷史紀錄,並儲存AWR中。

3.Baseline:

包含應用程式統計、資料庫統計、作業系統統計、磁碟I/O統計與網路統計。

取得資料庫運作期間各種資料,用來做為校能比對用。

4.Metric:

累計統計資料改變的頻率

5.Statistics:

蒐集資料庫與資料庫物件的詳細資訊。統計資料提供每一個SQL 敘述句,最佳化的執行與規劃。

6.Threshold:

Metric資料比較的門檻。



統計資料(Statistics):

優化統計資料並非及時的,但是會自動收集,包含在instance重啟的時候。

收集資料的內容包含資料表、資料欄位、索引與系統統計資料;資料表與索引的統計資料儲存在Data dictionary。統計資料會紀錄資料儲存與存取分佈,提供使用者如何讀取資料建議。

統計資料蒐集的內容有:資料表大小或資料庫區塊中的索引、資料列數、平均資料列數與連鎖數(資料表)、被刪除葉節點的高度與數量(索引)。當資料新增、刪除或被修改的時候,上列收集的內容都會改變。其建議的內容就會不一樣,直到統計資料更新為止。

藉由設定GATHER_STATS_JOB的設定,優化資料會自動收集資料(預設一天一次)

在24小時內有10%以上的增減的大型資料表,一天一次的收集已經是很充分的;比起大型資料表大幅度增簡,oracle 建議頻繁收集資料表增減福度不超10%的統計資料。

統計資料的收即可以在Enterprise manager中,藉由手動設定DBMS_STATS加入,語法如下:
EXEC dbms_stats gather_table_stats('HR','EMPLOYEE')

select number_rows From dba_tables

where owber='HR' AND table_name = 'EMPLOYEES'


上面語法正確反應資料收集其間的資料表列數;DBMS_STATS也能手動收集整個綱要甚至釋整個資料庫的統計資料。

下面簡單介紹在Enterprisr Manager進行統計資料收集:

1.開啟Enterprisr Manager,點選伺服器,我們可點選左邊下方管理最佳化處理程式統計資料。



2.在最佳化處理程式統計資料作業中分成五項,分別是收集、回覆、鎖定、解除鎖定與刪除。

我們點選收集最佳化處理程式統計資料。



3.可以選擇資料庫物件類型,我們選擇綱要。



4.輸入上方名稱後,點選搜尋,勾選我們要的綱要後,點選確定。



5.選擇完成後,點選下一頁。



6.輸入收集資料排程相關資訊,完成後點選下一頁。



7.最後一頁顯示設定資訊,完成後即可點選送出。



8.送出後,系統題是已經完成工作。



--

忙忙忙...


Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Duran Hsieh @ Duran 的技術冶煉廠 - Date A Live - Powered by Blogger - Designed by Johanes Djogan -