Oracle內(nèi)存結(jié)構(gòu)中包含兩個(gè)內(nèi)存區(qū)
Oracle內(nèi)存結(jié)構(gòu)包含兩個(gè)內(nèi)存區(qū),這兩個(gè)內(nèi)存區(qū)又稱為共享全局區(qū),在實(shí)際操作過中它的功能主要是用來存儲(chǔ)數(shù)據(jù)庫信息,并由N個(gè)數(shù)據(jù)庫對其進(jìn)程共享,以下就是相關(guān)內(nèi)容的詳細(xì)介紹,望你會(huì)有所了解。
Oracle內(nèi)存結(jié)構(gòu)包含以下兩個(gè)內(nèi)存區(qū):
系統(tǒng)全局區(qū):(SGA):實(shí)例啟動(dòng)時(shí)分配該內(nèi)存區(qū)。 Oracle實(shí)例的SGA(System Global Area)又稱為共享全局區(qū),它用來存儲(chǔ)數(shù)據(jù)庫信息,并由多個(gè)數(shù)據(jù)庫進(jìn)程共享。當(dāng)數(shù)據(jù)庫實(shí)例啟動(dòng)時(shí),SGA的內(nèi)存被自動(dòng)分配。SGA是數(shù)據(jù)庫中占用服務(wù)器內(nèi)存***的一個(gè)區(qū)域,同時(shí)也是影響數(shù)據(jù)庫性能的一個(gè)重要指標(biāo)。SGA按其作用不同,可以分為共享池、數(shù)據(jù)緩沖區(qū)及日志緩沖區(qū)。
共享池
共享池是對SQL、PL/SQL程序進(jìn)行語法分析、編譯、執(zhí)行的內(nèi)存區(qū)域 共享池由庫緩存和數(shù)據(jù)字典緩存組成。 共享池的大小直接影響數(shù)據(jù)庫的性能。
數(shù)據(jù)緩沖區(qū)
用于存儲(chǔ)從磁盤數(shù)據(jù)文件中讀入的數(shù)據(jù),所有用戶共享。 服務(wù)器進(jìn)程將讀入的數(shù)據(jù)保存在數(shù)據(jù)緩沖區(qū)中,當(dāng)后續(xù)的請求需要這些數(shù)據(jù)時(shí)可以在內(nèi)存中找到,不需要再從磁盤讀取,提高了讀取速度。 數(shù)據(jù)緩沖區(qū)的大小對數(shù)據(jù)庫的讀取速度有直接的影響。
日志緩沖區(qū)
日志記錄數(shù)據(jù)庫的所有修改信息,日志信息首先產(chǎn)生于日志緩沖區(qū)。 當(dāng)日志緩沖區(qū)的日志數(shù)據(jù)達(dá)到一定數(shù)量時(shí),由后臺(tái)進(jìn)程將日志數(shù)據(jù)寫入日志文件中。相對來說,日志緩沖區(qū)對數(shù)據(jù)庫的性能影響較小。
程序全局區(qū):(PGA):服務(wù)器進(jìn)程啟動(dòng)時(shí)分配該內(nèi)存區(qū)。 程序全局區(qū)PGA(Program Global Area)包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺(tái)進(jìn)程所需的數(shù)據(jù)和控制信息。PGA是在用戶進(jìn)程連接到數(shù)據(jù)庫并創(chuàng)建一個(gè)會(huì)話時(shí)自動(dòng)分配的,該區(qū)內(nèi)保留每個(gè)與Oracle數(shù)據(jù)庫連接的用戶進(jìn)程所需的內(nèi)存。PGA為非共享區(qū),只能單個(gè)進(jìn)程使用,當(dāng)一個(gè)用戶會(huì)話結(jié)束后,PGA釋放。
以上的相關(guān)內(nèi)容就是對Oracle內(nèi)存結(jié)構(gòu)的介紹,望你能有所收獲。
【編輯推薦】