【筆記】9i concepts 學習(一)

yellowlee發表於2009-04-07

幾個概念:
1,oracle memery :
   system global area  可以被所有process訪問
   and program global area   單個process (thread) 私有
   usee global area SESSION私有,shared server的時候在SGA,dedicated server的時候在PGA
   pga包含SORT_AREA_SIZE和額外的RAM控制結構以用來維護連線任務的狀態
   通過PGA_AGGREGATE_TARGET引數來設定的,可以設定為自動管理

   資料緩衝(Data buffers)--Oracle9i擁有多達7個獨立的資料緩衝來儲存磁碟送來的資料塊。這些包含有傳統的KEEP pool,RECYCLE pool和DEFAULT pool,還有為每個Oracle資料庫支援的塊大小(2KB, 4KB, 8KB, 16KB和32KB) 而建立的獨立資料緩衝池

   共享池(Shared pool)--Oracle9i的共享池有一個很重要的作用是分析和執行Oracle SQL語句。低的library cache命中率表示分配給library cache的記憶體不足,當shared pool需要對SQL語句進行大量的分析和執行時,Oracle9i的資料庫管理員可以使用ALTER SYSTEM來為shared pool加入額外的記憶體。


 PGA區域--分配給PGA_AGGREGATE_TARGET的記憶體是用來讓Oracle連線維護與連線相關的資訊(例如遊標的狀態),並且對SQL的結果集進行排序。


Log buffer--對於Oracle redo log緩衝是否有大量活動,我們可以在log switch(日誌轉換)的頻率上看出來。Oracle管理員可以監視redo log區域的活動,並且在Oracle資料庫需要額外的記憶體為原始的緩衝區域服務時,動態地增加記憶體

檢視 pga 記憶體使用:
V$PROCESS -在Oracle9i中加入了三個新的列以監視PGA記憶體的使用,新列的名字是pga_used_mem, pga_alloc_mem 和pga_max_mem。

V$SYSSTAT -加入了很多新的統計行,包括有area statistics for optimal, one-pass和multi-pass。

V$PGASTAT -該新檢視展示了全部後臺程式和專用連線的PGA記憶體使用。

V$SQL_PLAN--這個新檢視包含了全部當前執行的SQL的執行計劃資訊。對於需要最優化的SQL語句的效能調整專家來說這是非常吸引人的。

V$WORKAREA -這個新檢視提供了Oracle9i連線的累積記憶體統計的詳細資訊。

V$WORKAREA_ACTIVE - 這個新的檢視提供了當前全部正在執行的SQL語句的內部記憶體使用資訊。

 

sga主要包括:
1,共享池(shared pool):
 sql語句緩衝區 Library Cache
 資料字典緩衝區 Data Dictionary Cache
2,塊緩衝區快取記憶體(Database Buffer Cache)
3,重做日誌緩衝區(Redo log buffer)
4,Java程式緩衝區(Java Pool)
5,大池(Large Pool)

Oracle系統有5 個基本程式
  DBWR(資料檔案寫入程式)DBWR是一個很底層的工作程式,他批量的把緩衝區的資料寫入磁碟。和任何前臺使用者的程式幾乎沒有什麼關係,也不受他們的控制。至於DBWR會不會觸發LGWR和CKPT程式
  LGWR(日誌檔案寫入程式)將重做日誌緩衝區的資料寫入重做日誌檔案,LGWR是一個必須和前臺使用者程式通訊的程式。當資料被修改的時候,系統會產生一個重做日誌並記錄在重做日誌緩衝區內。
  SMON(系統監護程式)
  PMON(使用者程式監護程式)
  CKPT(檢查點程式,同步資料檔案, 日誌檔案,控制檔案)同步資料檔案,日誌檔案和控制檔案,由於DBWR/LGWR的工作原理,造成了資料檔案,日誌檔案,控制檔案的不一至,這就需要CKPT程式來同步。CKPT會更新資料檔案/控制檔案的頭資訊


ARCH 歸檔方式
RECO 服務程式Server Process
 使用者程式User Process
 

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

相關文章