首頁>Club>
10
回覆列表
  • 1 # 小貓愛吃小金魚

    是一組包含一個Oracle例項的資料和控制資訊的共享記憶體結構。主要是用於儲存資料庫資訊的記憶體區,該資訊為資料庫程序所共享(PGA不能共享的)。它包含Oracle伺服器的資料和控制資訊,它是在Oracle伺服器所駐留的計算機的實際記憶體中得以分配,如果實際記憶體不夠再往虛擬記憶體中寫。  SGA幾個很重要的特性:  

    1、SGA的構成--資料和控制資訊,我們下面會詳細介紹;  

    2、SGA是共享的,即當有多個使用者同時登入了這個例項,SGA中的資訊可以被它們同時訪問(當涉及到互斥的問題時,由latch和enquence控制);  

    3、一個SGA只服務於一個例項,也就是說,當一臺機器上有多個例項執行時,每個例項都有一個自己的SGA儘管SGA來自於OS的共享記憶體區,但例項之間不能相互訪問對方的SGA區。  它主要包括:  1.資料庫快取記憶體(the database buffer cache),  2.重演日誌快取(the redo log buffer)  3.共享池(the shared pool)  4.資料字典快取(the data dictionary cache)以及其它各方面的資訊。  1.資料高速緩衝區(Data Buffer Cache)  在資料高速緩衝區中存放著Oracle系統最近使用過的資料塊(即使用者的高速緩衝區),當把資料寫入資料庫時,它以資料塊為單位進行讀寫,當資料高速緩衝區填滿時,則系統自動去掉一些不常被用訪問的資料。如果使用者要查的資料不在資料高速緩衝區時,Oracle自動從磁碟中去讀取。資料高速緩衝區包括三個型別的區:1) 髒的區(Dirty Buffers):包含有已經改變過並需要寫回資料檔案的資料塊。  2) 自由區(Free Buffers):沒有包含任何資料並可以再寫入的區,Oracle可以從資料檔案讀資料塊該區。  3) 保留區(Pinned Buffers):此區包含有正在處理的或者明確保留用作將來用的區。  2.Redo Log Buffer Cache快取對於資料塊的所有修改。  主要用於恢復其中的每一項修改記錄都被稱為redo 條目。利用Redo條目的資訊可以重做修改。  3. Shared Pool用於快取最近被執行的SQL語句和最近被使用的資料定義。  它主要由兩個記憶體結構構成:Library cache和Data dictionary cache  修改共享池的大小:ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;  Libray Cache快取最近被執行的SQL和PL/SQL的相關資訊。實現常用語句的共享,使用LRU演算法進行管理,由以下兩個結構構成:Shared SQL area、Shared PL/SQL area、Data Dictionary Cache、Data dictionary cache快取最近被使用的資料庫定義。它包括關於資料庫檔案、表、索引、列、使用者、許可權以及其它資料庫物件的資訊。在語法分析階段,Server Process訪問資料字典中的資訊以解析物件名和對存取操作進行驗證。資料字典資訊快取在記憶體中有助於縮短響應時間。  4.資料字典快取(the data dictionary cache)

  • 中秋節和大豐收的關聯?
  • 中信證券配股到底是利好還是利空?