Oracle內(nèi)存結(jié)構(gòu)--SGA
Oracle內(nèi)存結(jié)構(gòu),是Oracle數(shù)據(jù)庫系統(tǒng)的重要組成部分,下面就為您介紹Oracle內(nèi)存結(jié)構(gòu)中的SGA內(nèi)存結(jié)構(gòu),希望對您能有所幫助。
SGA是一組為系統(tǒng)分配的共享的內(nèi)存結(jié)構(gòu),可以包含一個數(shù)據(jù)庫實(shí)例的數(shù)據(jù)或控制信息。如果多個用戶連接到同一個數(shù)據(jù)庫實(shí)例,在實(shí)例的SGA中,數(shù)據(jù)可以被多個用戶共享。 當(dāng)數(shù)據(jù)庫實(shí)例啟動時,SGA的內(nèi)存被自動分配;當(dāng)數(shù)據(jù)庫實(shí)例關(guān)閉時,SGA內(nèi)存被回收。 SGA是占用內(nèi)存最大的一個區(qū)域,同時也是影響數(shù)據(jù)庫性能的重要因素。
SGA區(qū)是可讀寫的。所有登錄到實(shí)例的用戶都能讀取SGA中的信息,而在oracle做執(zhí)行操作時,服務(wù)進(jìn)程會將修改的信息寫入SGA區(qū)。
SGA主要包括了以下的數(shù)據(jù)結(jié)構(gòu):
數(shù)據(jù)緩沖(Buffer Cache)
重做日志緩沖(Redo Log Buffer)
共享池(Shared Pool)
Java池(Java Pool)
大池(Large Pool)
流池(Streams Pool --- 10g以后才有)
數(shù)據(jù)字典緩存(Data Dictionary Cache)
其他信息(如數(shù)據(jù)庫和實(shí)例的狀態(tài)信息)
- SQL> show sga
- Total System Global Area 612368384 bytes
- Fixed Size 1250428 bytes
- Variable Size 192940932 bytes
- Database Buffers 411041792 bytes
- Redo Buffers 7135232 bytes
SGA 中的數(shù)據(jù)字典緩存 和其他信息 會被實(shí)例的后臺進(jìn)程所訪問,它們在實(shí)例啟動后就固定在SGA中了,而且不會改變,所以這部分又稱為固定SGA(Fixed SGA)。這部分區(qū)域的大小一般小于100K。
Shared Pool、Java Pool、Large Pool和Streams Pool這幾塊內(nèi)存區(qū)的大小是相應(yīng)系統(tǒng)參數(shù)設(shè)置而改變的,所以有通稱為可變SGA(Variable SGA)。
【編輯推薦】