標籤:style io 使用 java ar 檔案 資料 sp cti
Oracle的記憶體結構分為SGA和PGA,對於SGA是動態分配的,通過參數sga_max_size進行配置,在oracle資料庫執行個體啟動的時候就已經分配好,對於所有的會話串連共用一個SGA;對於PGA則是每個使用者的會話串連建立一個自己的PAG的記憶體地區。
Shared Pool:存放最近執行過的sql語句的執行結構(執行計畫)已經資料定義(資料字典).主要組成分為library cache,data dictionary cache。其中大小的決定參數是shared_pool_size。
對於library cache主要是存放shared sql area 和 shared pl/sql area 這兩個地區塊
對於 data dictionary cache 主要是用於存放資料系統,系統的動態效能檢視和系統資料表
對於SGA的重頭戲 database buffer cache 主要是用來存放data資料檔案的資料區塊,把硬碟中的資料讀取直接存放到記憶體中,提高資料的操作速度。對於使用者對資料的操作,首先是找database buffer cache中的資料,如果可以找到就直接返回資料,不再從硬碟中找,提高資料響應速度。反應資料庫效能的一個重要指標就是database buffer cache的命中率.其中主要的參數有:db_keep_cache_size,db_cache_size,db_recycle_cache_size
Redo log buffer:是資料檔案redo log的緩衝,如果需要恢複資料,讀取redo log 檔案的話,會先從 redo log buffer 裡面讀取資料庫的操作記錄。對於資料庫的操作記錄也是先寫入到redo log buffer,然後在儲存到 資料檔案 redo log files 中
Larger pool: Rman備份的時候會使用larger pool 進行資料的緩衝,某些server procees 的I/O操作也是需要使用larger pool 進行資料的緩衝。
Java pool: 大小決定於參數java_pool_size,對於oracle中使用java語言寫的方法在執行的時候就是使用java pool這個儲存地區。該快取區域主要是用於java的相關操作。
Oracle記憶體結構