記憶體結構

西涼馬戳戳發表於2020-11-18
oracle例項記憶體結構由兩部分組成SGA(系統全域性區)和PGA(使用者全域性區)組成,SGA是一塊共享的記憶體區域,也是最大的一塊記憶體區域;PGA則是使用者會話專有的記憶體區域,每個會話在伺服器端都有一塊專有的記憶體區域就是PGA。

一、PGA

程式全域性區 (PGA):包含某個伺服器程式或後臺程式的資料及控制資訊的記憶體區域。PGA 是 Oracle DB 在伺服器程式或後臺程式啟動時建立的非共享記憶體。伺服器程式對 PGA 的訪問是互斥的。每個伺服器程式和後臺程式都具有自己的 PGA。

包含如下結構:

1、Private SQL area:包含繫結資訊、執行時的記憶體結構。每個發出sql語句的會話,都有一個private SQL area(私有SQL區)

2、Session memory:為儲存會話中的變數以及其他與會話相關的資訊,而分配的記憶體區。

二、SGA

系統全域性區 (SGA):稱為 SGA 元件的共享記憶體結構組,這些元件包含一個 Oracle DB 例項的資料和控制資訊。SGA 由所有伺服器和後臺程式共享。SGA 中儲存的資料示例包括快取記憶體的資料塊和共享 SQL 區域。

1、Database buffer cache:快取了從磁碟上檢索的資料塊。

  a) Keep buffer cache:儲存buffer cache中儲存的資料,使其盡時間可能長。
  b) Recycle buffer cache:儲存buffer cache中即將過期的資料。
  c) nK block size buffer:為與資料庫預設資料塊大小不同的資料塊提供快取。用來支援表空間傳輸。

2、Redo log buffer:快取了寫到磁碟之前的重做資訊。

3、Shared pool:快取了各使用者間可共享的各種結構。

4、Large pool:一個可選的區域,用來快取大的I/O請求,以支援並行查詢、共享伺服器模式以及某些備份操作。

5、Java pool:儲存java虛擬機器中特定會話的資料與java程式碼。

6、Streams pool:由Oracle streams使用。

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

相關文章