Oracle第章數(shù)據(jù)庫實(shí)例_第1頁
Oracle第章數(shù)據(jù)庫實(shí)例_第2頁
Oracle第章數(shù)據(jù)庫實(shí)例_第3頁
Oracle第章數(shù)據(jù)庫實(shí)例_第4頁
Oracle第章數(shù)據(jù)庫實(shí)例_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章數(shù)據(jù)庫實(shí)例本章內(nèi)容Oracle實(shí)例概述Oracle內(nèi)存結(jié)構(gòu)Oracle后臺(tái)進(jìn)程本章要求掌握Oracle實(shí)例基本概念掌握Oracle實(shí)例的內(nèi)存結(jié)構(gòu)、功能及管理了解Oracle進(jìn)程分類及其作用掌握Oracle后臺(tái)進(jìn)程、功能及管理7.1實(shí)例概述Oracle實(shí)例的概念Oracle數(shù)據(jù)庫主要由放在磁盤中的物理數(shù)據(jù)庫和對(duì)物理數(shù)據(jù)庫進(jìn)行管理的數(shù)據(jù)庫管理系統(tǒng)。其中數(shù)據(jù)庫管理系統(tǒng)是處于用戶與物理數(shù)據(jù)庫之間的一個(gè)中間層軟件,又稱為實(shí)例,由一系列內(nèi)存結(jié)構(gòu)和后臺(tái)進(jìn)程組成。在啟動(dòng)數(shù)據(jù)庫時(shí),Oracle首先在內(nèi)存中獲取一定的空間,啟動(dòng)各種用途的后臺(tái)進(jìn)程,即創(chuàng)建一個(gè)數(shù)據(jù)庫實(shí)例,然后由實(shí)例裝載數(shù)據(jù)文件和重做日志文件,最后打開數(shù)據(jù)庫。用戶操作數(shù)據(jù)庫的過程實(shí)質(zhì)上是與數(shù)據(jù)庫實(shí)例建立連接,然后通過實(shí)例來連接、操作數(shù)據(jù)庫的過程。數(shù)據(jù)庫與實(shí)例的關(guān)系單實(shí)例數(shù)據(jù)庫系統(tǒng)多實(shí)例數(shù)據(jù)庫系統(tǒng)實(shí)例組成內(nèi)存結(jié)構(gòu):系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)(PGA)后臺(tái)進(jìn)程組成

處理數(shù)據(jù)的內(nèi)存結(jié)構(gòu)實(shí)例

后臺(tái)進(jìn)程

客戶應(yīng)用程序

服務(wù)器進(jìn)程

數(shù)據(jù)庫實(shí)例SGA日志緩存共享池?cái)?shù)據(jù)字典緩沖區(qū)庫緩沖區(qū)DBWRSMONPMONCKPTLGWROthers用戶進(jìn)程服務(wù)器進(jìn)程PGA控制文件數(shù)據(jù)文件歸檔日志文件參數(shù)文件口令文件重做日志文件數(shù)據(jù)庫數(shù)據(jù)庫緩存7.2Oracle內(nèi)存結(jié)構(gòu)系統(tǒng)全局區(qū)(SystemGlobalArea,SGA)程序全局區(qū)(ProgramGlobalArea,PGA)SGASGA是由Oracle分配的共享內(nèi)存結(jié)構(gòu),包含一個(gè)數(shù)據(jù)庫實(shí)例共享的數(shù)據(jù)和控制信息。當(dāng)多個(gè)用戶同時(shí)連接同一個(gè)實(shí)例時(shí),SGA數(shù)據(jù)可供多個(gè)用戶共享,SGA又稱為共享全局區(qū)(SharedGlobalArea)。用戶對(duì)數(shù)據(jù)庫的各種操作主要在SGA中進(jìn)行。該內(nèi)存區(qū)隨數(shù)據(jù)庫實(shí)例的創(chuàng)建而分配,隨實(shí)例的終止而釋放。PGAPGA是在用戶進(jìn)程連接數(shù)據(jù)庫、創(chuàng)建一個(gè)會(huì)話時(shí),由Oracle為用戶分配的內(nèi)存區(qū)域,保存當(dāng)前用戶私有的數(shù)據(jù)和控制信息,因此該區(qū)又稱為私有全局區(qū)(PrivateGlobalArea)。每個(gè)服務(wù)器進(jìn)程只能訪問自己的PGA,所有服務(wù)器進(jìn)程的PGA總和即為實(shí)例的PGA的大小。SGA包含的的內(nèi)存存結(jié)構(gòu)構(gòu)有::數(shù)據(jù)高高速緩緩沖區(qū)區(qū)(DatabaseBufferCache)共享池池(SharedPool)重做日日志緩緩沖區(qū)區(qū)(RedoLogCache)大型池池(LargePool)Java池(JavaPool)流池((StreamsPool)其他結(jié)結(jié)構(gòu)((如固固定SGA、鎖管管理等等)(1)數(shù)據(jù)據(jù)高速速緩沖沖區(qū)功能存儲(chǔ)從從數(shù)據(jù)據(jù)文件件中檢檢索出出來的的數(shù)據(jù)據(jù)拷貝貝。應(yīng)應(yīng)用程程序要要訪問問的數(shù)數(shù)據(jù)必必須從從磁盤盤的數(shù)數(shù)據(jù)文文件讀讀到數(shù)數(shù)據(jù)緩緩沖區(qū)區(qū)中處處理。。在數(shù)據(jù)據(jù)緩沖沖區(qū)中中被修修改后后的數(shù)數(shù)據(jù)由由數(shù)據(jù)據(jù)寫入入進(jìn)程程寫到到硬盤盤的數(shù)數(shù)據(jù)文文件中中永久久保存存。提高獲獲取和和更新新數(shù)據(jù)據(jù)的性性能。。數(shù)據(jù)高高速緩緩沖區(qū)區(qū)的工工作過過程緩沖塊塊的類類型臟緩存存塊((DirtyBuffers)臟緩存存塊中中保存存的是是已經(jīng)經(jīng)被修修改過過的數(shù)數(shù)據(jù)。。當(dāng)一一條SQL語句對(duì)對(duì)某個(gè)個(gè)緩存存塊中中的數(shù)數(shù)據(jù)進(jìn)進(jìn)行修修改后后,這這個(gè)緩緩存塊塊就被被標(biāo)記記為臟臟緩存存塊。。它們們最終終將由由DBWR進(jìn)程寫寫入數(shù)數(shù)據(jù)文文件,,以永永久性性地保保存修修改結(jié)結(jié)空閑緩緩存塊塊(FreeBuffers)空閑緩緩存塊塊中不不包含含任何何數(shù)據(jù)據(jù),它它們等等待后后臺(tái)進(jìn)進(jìn)程或或服務(wù)務(wù)器進(jìn)進(jìn)程向向其中中寫入入數(shù)據(jù)據(jù)。當(dāng)當(dāng)Oracle從數(shù)據(jù)據(jù)文件件中讀讀取數(shù)數(shù)據(jù)時(shí)時(shí),將將會(huì)尋尋找空空閑緩緩存塊塊,以以便將將數(shù)據(jù)據(jù)寫入入其中中命中緩緩存塊塊(PinnedBuffers)正被使使用,,或者者被顯顯式地地聲明明為保保留的的緩存存塊。。這些些緩存存塊始始終保保留在在數(shù)據(jù)據(jù)高速速緩沖沖區(qū)中中,不不會(huì)被被換出出內(nèi)存存。緩存塊塊的管管理臟緩存存塊列列表::包含含那些些已經(jīng)經(jīng)被修修改但但還沒沒有寫寫入數(shù)數(shù)據(jù)文文件的的臟緩緩存塊塊。LRU列表((LeastRecentlyUsed):包包含所所有的的空閑閑緩存存塊、、命中中緩存存塊和和那些些還沒沒有來來得及及移入入到臟臟緩存存塊列列表中中的臟臟緩存存塊。。在該該列表表中,,最近近被訪訪問的的緩存存塊被被移動(dòng)動(dòng)到列列表的的頭部部,而而其他他緩存存塊向向列表表尾部部移動(dòng)動(dòng),最最近最最少被被訪問問的緩緩存塊塊最先先被移移出LRU列表,,從而而保證證最頻頻繁使使用的的緩存存塊始始終保保存在在內(nèi)存存中。。數(shù)據(jù)高高速緩緩沖區(qū)區(qū)大小小數(shù)據(jù)高高速緩緩沖區(qū)區(qū)越大大,用用戶需需要的的數(shù)據(jù)據(jù)在內(nèi)內(nèi)存中中的可可能性性就越越大,,即緩緩存命命中率率越高高,從從而減減少了了Oracle訪問硬硬盤數(shù)數(shù)據(jù)的的次數(shù)數(shù),提提高了了數(shù)據(jù)據(jù)庫系系統(tǒng)執(zhí)執(zhí)行的的效率率。然然而,,如果果數(shù)據(jù)據(jù)高速速緩沖沖區(qū)的的值太太大,,Oracle就不得得不在在內(nèi)存存中尋尋找更更多的的塊來來定位位所需需要的的數(shù)據(jù)據(jù),反反而降降低了了系統(tǒng)統(tǒng)性能能。顯顯然需需要確確定一一個(gè)合合理的的數(shù)據(jù)據(jù)高速速緩沖沖區(qū)大大小。。DB_CACHE_SIZE(標(biāo)準(zhǔn)準(zhǔn)塊))(2)重做做日志志緩沖沖區(qū)功能重做日日志緩緩沖區(qū)區(qū)用于于緩存存用戶戶對(duì)數(shù)數(shù)據(jù)庫庫進(jìn)行行修改改操作作時(shí)生生成的的重做做記錄錄。為了提提高工工作效效率,,重做做記錄錄并不不是直直接寫寫入重重做日日志文文件中中,而而是首首先被被服務(wù)務(wù)器進(jìn)進(jìn)程寫寫入重重做日日志緩緩沖區(qū)區(qū)中,,在一一定條條件下下,再再由日日志寫寫入進(jìn)進(jìn)程((LGWR)把重重做日日志緩緩沖區(qū)區(qū)的內(nèi)內(nèi)容寫寫入重重做日日志文文件中中做永永久性性保存存。在在歸檔檔模式式下,,當(dāng)重重做日日志切切換時(shí)時(shí),由由歸檔檔進(jìn)程程(ARCH)將重重做日日志文文件的的內(nèi)容容寫入入歸檔檔文件件中重做日日志緩緩沖區(qū)區(qū)的工工作過過程重做日日志緩緩沖區(qū)區(qū)的大大小LOG_BUFFER較大的的重做做日志志緩沖沖區(qū),,可以以減少少對(duì)重重做日日志文文件寫寫的次次數(shù),,適合合長時(shí)時(shí)間運(yùn)運(yùn)行的的、產(chǎn)產(chǎn)生大大量重重做記記錄的的事務(wù)務(wù)。(3))共享享池功能共享池池用于于緩存存最近近執(zhí)行行過的的SQL語句、、PL/SQL程序和和數(shù)據(jù)據(jù)字典典信息息,是是對(duì)SQL語句、、PL/SQL程序進(jìn)進(jìn)行語語法分分析、、編譯譯、執(zhí)執(zhí)行的的區(qū)域域。組成庫緩存存庫緩存存用于于緩存存已經(jīng)經(jīng)解釋釋并執(zhí)執(zhí)行過過的SQL語句和和PL/SQL程序代代碼,,以提提高SQL或PL/SQL程序的的執(zhí)行行效率率。包括SQL工作區(qū)區(qū)和PL/SQL工作區(qū)區(qū)數(shù)據(jù)字字典緩緩存區(qū)數(shù)據(jù)字字典緩緩存區(qū)區(qū)保存存最常常用的的數(shù)據(jù)據(jù)字典典信息息共享池池大小小SHARED_POOL_SIZE合適的的共享享池大大小,,可使使編譯譯過的的程序序代碼碼長駐駐內(nèi)存存,大大大降降低重重復(fù)執(zhí)執(zhí)行相相同的的SQL語句、、PL/SQL程序的的系統(tǒng)統(tǒng)開銷銷,從從而提提高數(shù)數(shù)據(jù)庫庫的性性能。。(4))大型型池功能大型池池是一一個(gè)可可選的的內(nèi)存存配置置項(xiàng),,主要要為Oracle多線程程服務(wù)務(wù)器、、服務(wù)務(wù)器I/O進(jìn)程、、數(shù)據(jù)據(jù)庫備備份與與恢復(fù)復(fù)操作作、執(zhí)執(zhí)行具具有大大量排排序操操作的的SQL語句、、執(zhí)行行并行行化的的數(shù)據(jù)據(jù)庫操操作等等需要要大量量緩存存的操操作提提供內(nèi)內(nèi)存空空間。。如果果沒有有在SGA區(qū)中創(chuàng)創(chuàng)建大大型池池,上上述操操作所所需要要的緩緩存空空間將將在共共享池池或PGA中分配配,因因而影影響共共享池池或PGA的使用用效率率。大型池池大小小LARGE_POOL_SIZE(5))Java池功能Java提供對(duì)對(duì)Java程序設(shè)設(shè)計(jì)的的支持持,用用于存存儲(chǔ)Java代碼、、Java語句的的語法法分析析表、、Java語句的的執(zhí)行行方案案和進(jìn)進(jìn)行Java程序開開發(fā)。。Java池大小小JAVA_POOL_SIZE通常不小小于20M,以便安安裝Java虛擬機(jī)(6)流池功能流池是一一個(gè)可選選的內(nèi)存存配置項(xiàng)項(xiàng),用于于對(duì)流的的支持。。流池大小小STREAMS_POOL_SIZE的管理SGA組件大小小調(diào)整DB_CACHE_SIZELOG_BUFFERSHARED_POOL_SIZELARGE_POOL_SIZEJava_POOL_SIZESTRAMS_POOL_SIZESGA_MAX_SIZE注意除了SGA_MAX_SIZE不能修改改外,其其他幾個(gè)個(gè)參數(shù)可可以使用用ALTERSYSTEM語句進(jìn)行行動(dòng)態(tài)調(diào)調(diào)整。SGA自動(dòng)管理理在Oracle10g中,通過過設(shè)置初初始化參參數(shù)SGA_TARGET,可以實(shí)實(shí)現(xiàn)對(duì)SGA中的數(shù)據(jù)據(jù)高速緩緩沖區(qū)、、共享池池、大型型池、Java池和流池池的自動(dòng)動(dòng)管理,,即這幾幾個(gè)組件件的內(nèi)存存調(diào)整不不需要DBA來干預(yù),,系統(tǒng)自自動(dòng)進(jìn)行行調(diào)整。。但是對(duì)對(duì)于日志志緩沖區(qū)區(qū)、非標(biāo)標(biāo)準(zhǔn)塊的的數(shù)據(jù)高高速緩沖沖區(qū)、保保留池、、回收池池等其他他區(qū)域的的調(diào)整還還需要DBA使用ALTERSYSTEM語句手動(dòng)動(dòng)進(jìn)行調(diào)調(diào)整。設(shè)置SGA自動(dòng)管理理的方法法計(jì)算參數(shù)數(shù)SGA_TARGET的大小SELECT((SELECTSUM(value)FROMV$SGA)-(SELECTCURRENT_SIZEFROMV$SGA_DYNAMIC_FREE_MEMORY))/1024/1024||'MB'"SGA_TARGET"FROMDUAL;設(shè)置參數(shù)數(shù)SGA_TARGET通過ALTERSYSTEM語句設(shè)置置參數(shù)SGA_TARGET的值,該該值可以以是(1)中計(jì)算算出來的的結(jié)果,,也可以以是當(dāng)前前SGA大小與SGA_MAX_SIZE之間的某某個(gè)值。。例如將SGA中與自動(dòng)動(dòng)管理相相關(guān)的組組件大小小設(shè)置為為0ALTERSYSTEMSETSHARED_POOL_SIZE=0;SQL>ALTERSYSTEMSETLARGE_POOL_SIZE=0;SQL>ALTERSYSTEMSETJava_POOL_SIZE=0;SQL>ALTERSYSTEMSETLARGE_POOL_SIZE=0;SQL>ALTERSYSTEMSETSTREAMS_POOL_SIZE=0;如果要取取消自動(dòng)動(dòng)管理,,只需將將參數(shù)SGA_TARGET設(shè)置為0即可。功能PGA是為每一一個(gè)與Oracle數(shù)據(jù)庫連連接的用用戶保留留的內(nèi)存存區(qū),主主要存儲(chǔ)儲(chǔ)該連接接使用的的變量信信息和與與用戶進(jìn)進(jìn)程交換換的信息息。是非非共享的的,只有有服務(wù)進(jìn)進(jìn)程本身身才能訪訪問它自自己的PGA區(qū)組成由排序區(qū)區(qū)、會(huì)話話區(qū)、游游標(biāo)區(qū)以以及堆棧棧區(qū)組成成排序區(qū)主主要用于于存放排排序操作作所產(chǎn)生生的臨時(shí)時(shí)數(shù)據(jù),,其大小小由初始始化參數(shù)數(shù)SORT_AREA_SIZE定義;會(huì)會(huì)話區(qū)用用于保存存用戶會(huì)會(huì)話所具具有的權(quán)權(quán)限、角角色、性性能統(tǒng)計(jì)計(jì)信息;;游標(biāo)區(qū)區(qū)用于存存放執(zhí)行行游標(biāo)操操作時(shí)所所產(chǎn)生的的數(shù)據(jù);;堆棧區(qū)區(qū)用于保保存會(huì)話話過程中中的綁定定變量、、會(huì)話變變量等信信息。User

processStackspaceSessioninformationsortarea,cursorinformationSGASharedSQLareasSGASessioninformationPGADedicatedserverSharedserverServerprocessSharedSQLareasStackspacesortarea,cursorinformation在OEM中管理數(shù)數(shù)據(jù)庫實(shí)實(shí)例的內(nèi)內(nèi)存結(jié)構(gòu)構(gòu)7.3Oracle后臺(tái)進(jìn)程程Oracle進(jìn)程概述述Oracle后臺(tái)進(jìn)程程進(jìn)程概述述進(jìn)程的概概念進(jìn)程是操操作系統(tǒng)統(tǒng)中一個(gè)個(gè)獨(dú)立的的可以調(diào)調(diào)度的活活動(dòng),用用于完成成指定的的任務(wù)。。進(jìn)程與與程序的的區(qū)別在在于:進(jìn)程是動(dòng)動(dòng)態(tài)的概概念,即即動(dòng)態(tài)創(chuàng)創(chuàng)建,完完成任務(wù)務(wù)后立即即消亡;;而程序序是一個(gè)個(gè)靜態(tài)實(shí)實(shí)體。進(jìn)程強(qiáng)調(diào)調(diào)執(zhí)行過過程,而而程序僅僅僅是指指令的有有序集合合。進(jìn)程的類類型用戶進(jìn)程程服務(wù)器進(jìn)進(jìn)程后臺(tái)進(jìn)程程用戶進(jìn)程程當(dāng)用戶連連接數(shù)據(jù)據(jù)庫執(zhí)行行一個(gè)應(yīng)應(yīng)用程序序時(shí),會(huì)會(huì)創(chuàng)建一一個(gè)用戶戶進(jìn)程,,來完成成用戶所所指定的的任務(wù)。。服務(wù)器進(jìn)進(jìn)程服務(wù)器進(jìn)進(jìn)程由Oracle自身創(chuàng)建建,用于于處理連連接到數(shù)數(shù)據(jù)庫實(shí)實(shí)例的用用戶進(jìn)程程所提出出的請求求。用戶戶進(jìn)程只只有通過過服務(wù)器器進(jìn)程才才能實(shí)現(xiàn)現(xiàn)對(duì)數(shù)據(jù)據(jù)庫的訪訪問和操操作。服務(wù)器進(jìn)進(jìn)程分為為專用服服務(wù)器進(jìn)進(jìn)程和共共享服務(wù)務(wù)器進(jìn)程程兩種。。服務(wù)器進(jìn)進(jìn)程主要要完成以以下任務(wù)務(wù):解析并執(zhí)執(zhí)行用戶戶提交的的SQL語句和PL/SQL程序;在SGA的數(shù)據(jù)高高速緩沖沖區(qū)中搜搜索用戶戶進(jìn)程所所要訪問問的數(shù)據(jù)據(jù),如果果數(shù)據(jù)不不在緩沖沖區(qū)中,,則需要要從硬盤盤數(shù)據(jù)文文件中讀讀取所需需的數(shù)據(jù)據(jù),再將將它們復(fù)復(fù)制到緩緩沖區(qū)中中;將用戶改改變數(shù)據(jù)據(jù)庫的操操作信息息寫入日日志緩沖沖區(qū)中。。將查詢或或執(zhí)行后后的結(jié)果果數(shù)據(jù)返返回給用用戶進(jìn)程程。后臺(tái)進(jìn)程程后臺(tái)進(jìn)程程作用為了保證證Oracle數(shù)據(jù)庫在在任意一一個(gè)時(shí)刻刻可以處處理多用用戶的并并發(fā)請求求,進(jìn)行行復(fù)雜的的數(shù)據(jù)操操作,而而且還要要優(yōu)化系系統(tǒng)性能能,Oracle數(shù)據(jù)庫起起用了一一些相互互獨(dú)立的的附加進(jìn)進(jìn)程,稱稱為后臺(tái)臺(tái)進(jìn)程。。服務(wù)器器進(jìn)程在在執(zhí)行用用戶進(jìn)程程請求時(shí)時(shí),調(diào)用用后臺(tái)進(jìn)進(jìn)程來實(shí)實(shí)現(xiàn)對(duì)數(shù)數(shù)據(jù)庫的的操作。。后臺(tái)進(jìn)程程主要完完成以下下任務(wù)::在內(nèi)存與與磁盤之之間進(jìn)行行I/O操作;監(jiān)視各個(gè)個(gè)服務(wù)器器進(jìn)程狀狀態(tài);協(xié)調(diào)各個(gè)個(gè)服務(wù)器器進(jìn)程的的任務(wù);;維護(hù)系統(tǒng)統(tǒng)性能和和可靠性性等。后臺(tái)進(jìn)程程DBWR數(shù)據(jù)庫寫寫入進(jìn)程程LGWR日志寫入入進(jìn)程CKPT檢查點(diǎn)進(jìn)進(jìn)程SMON系統(tǒng)監(jiān)控控進(jìn)程PMON進(jìn)程監(jiān)控控進(jìn)程ARCH歸檔進(jìn)程程RECO恢復(fù)進(jìn)程程LCKn封鎖進(jìn)程程Dnnn調(diào)度進(jìn)程程Snnn共享服務(wù)務(wù)器進(jìn)程程(1)DBWR(數(shù)據(jù)庫寫寫入進(jìn)程程)功能:數(shù)據(jù)庫寫寫入進(jìn)程程負(fù)責(zé)把把數(shù)據(jù)高高速緩沖沖區(qū)中已已經(jīng)被修修改過的的數(shù)據(jù)((“臟”緩存塊))成批寫寫入數(shù)據(jù)據(jù)文件中中永久保保存,同同時(shí)使數(shù)數(shù)據(jù)高速速緩沖區(qū)區(qū)有更多多的空閑閑緩存塊塊,保證證服務(wù)器器進(jìn)程將將所需要要的數(shù)據(jù)據(jù)從數(shù)據(jù)據(jù)文件讀讀取到數(shù)數(shù)據(jù)高速速緩沖區(qū)區(qū)中,提提高緩存存命中率率。InstanceSGADatabaseBuffer

CacheDBWnControlfilesDatafilesRedologfilesDatabase啟動(dòng)DBWR進(jìn)程執(zhí)行INSERT、UPDATE等操作時(shí)時(shí),沒沒有足夠夠的空閑閑塊當(dāng)檢查點(diǎn)點(diǎn)發(fā)生時(shí)時(shí),將啟啟動(dòng)DBWR進(jìn)程當(dāng)數(shù)據(jù)緩緩存的LRU列表的長長度達(dá)到到初始化化DB_BLOCK_WRITE_BATCH指定值的的一半時(shí)時(shí)若發(fā)生超超時(shí)(大大約3秒未被啟啟動(dòng))LGWR(日志寫寫入進(jìn)程程)功能日志寫入入進(jìn)程負(fù)負(fù)責(zé)把重重做日志志緩沖區(qū)區(qū)的數(shù)據(jù)據(jù)寫入重重做日志志文件中中永久保保存。數(shù)據(jù)寫入入進(jìn)程在在工作之之前,需需要了解解日志寫寫入進(jìn)程程是否已已經(jīng)把相相關(guān)的日日志緩沖沖區(qū)中記記載的數(shù)數(shù)據(jù)寫入入硬盤中中,如果果相關(guān)的的日志緩緩沖區(qū)中中的記錄錄還沒有有被寫入入,DBWR會(huì)通知LGWR完成相應(yīng)應(yīng)的工作作,然后后DBWR才開始寫寫入。InstanceSGADBWnRedoLogBufferControlfilesDatafilesRedologfilesLGWRDatabase啟動(dòng)LGWR進(jìn)程用戶通過過COMMIT語句提交交當(dāng)前事事務(wù)重做日志志緩存被被寫滿三三分之一一DBWR進(jìn)程開始始將臟緩緩存塊寫寫入數(shù)據(jù)據(jù)文件每隔3秒,即發(fā)發(fā)生一次次超時(shí),,將啟動(dòng)動(dòng)LGWR事務(wù)提交交機(jī)制快速提交交組提交CKPT(檢查點(diǎn)點(diǎn)進(jìn)程))檢查點(diǎn)概概念檢查點(diǎn)是是一個(gè)事事件,當(dāng)當(dāng)該事件件發(fā)生時(shí)時(shí)(每隔隔一段時(shí)時(shí)間發(fā)生生),DBWR進(jìn)程把數(shù)數(shù)據(jù)高速速緩沖區(qū)區(qū)中臟緩緩存塊寫寫入數(shù)據(jù)據(jù)文件中中,同時(shí)時(shí)Oracle將對(duì)數(shù)據(jù)據(jù)庫控制制文件和和數(shù)據(jù)文文件的頭頭部的同同步序號(hào)號(hào)進(jìn)行更更新,以以記錄下下當(dāng)前的的數(shù)據(jù)庫庫結(jié)構(gòu)和和狀態(tài),,保證數(shù)數(shù)據(jù)的同同步。InstanceSGADWW0RedoLogBufferLGWRInstanceSGADBWnLGWRCKPTControlfilesDatafilesRedologfilesCKPT進(jìn)程的作作用更新控制制文件與與數(shù)據(jù)文文件的頭頭部,使使其同步步觸發(fā)DBWR進(jìn)程,將將臟緩存存塊寫入入數(shù)據(jù)文文件檢查點(diǎn)的的級(jí)別數(shù)據(jù)庫檢檢查點(diǎn)::每一次次日志切切換時(shí),,執(zhí)行一一個(gè)數(shù)據(jù)據(jù)庫檢查查點(diǎn),DBWR進(jìn)程將數(shù)數(shù)據(jù)高速速緩沖區(qū)區(qū)中的臟臟緩存塊塊寫入數(shù)數(shù)據(jù)文件件中;表空間檢檢查點(diǎn)::當(dāng)一個(gè)個(gè)表空間間設(shè)置為為脫機(jī)狀狀態(tài)時(shí),,執(zhí)行一一個(gè)表空空間檢查查點(diǎn),DBWR進(jìn)程把數(shù)數(shù)據(jù)高速速緩存中中與該表表空間相相關(guān)的臟臟緩存塊塊寫入數(shù)數(shù)據(jù)文件件中。時(shí)間檢查查點(diǎn):可可以設(shè)置置以時(shí)間間為基礎(chǔ)礎(chǔ)的檢查查點(diǎn),每每隔一段段時(shí)間執(zhí)執(zhí)行一次次檢查點(diǎn)點(diǎn)。需要要為檢查查點(diǎn)設(shè)置置一個(gè)合合適的執(zhí)執(zhí)行間隔隔,間隔隔太短,,將會(huì)產(chǎn)產(chǎn)生過多多的硬盤盤I/O操作;間間隔太長長,數(shù)據(jù)據(jù)庫的恢恢復(fù)將耗耗費(fèi)太多多時(shí)間。。檢查點(diǎn)事事件的觸觸發(fā)每一個(gè)日日志切換換時(shí)當(dāng)實(shí)例以以如下方方式關(guān)閉閉時(shí)NORMAL,TRANSACTION,IMMEDIATE當(dāng)使用ALTERTABLESPACE[OFFLINENORMAL|READONLY|BEGINBACKUP],作用于于某個(gè)數(shù)數(shù)據(jù)文件件上的檢檢查點(diǎn)發(fā)發(fā)生時(shí).設(shè)置以時(shí)時(shí)間為基基礎(chǔ)的檢檢查點(diǎn)事事件當(dāng)數(shù)據(jù)庫庫管理員員需要手手工操作作時(shí)ALTERSYSTEMCHECKPOINT與檢查點(diǎn)點(diǎn)的相關(guān)關(guān)初始化化參數(shù)LOG_CHECKPOINT_INTERVAL用來指定定重做日日志文件件每寫多多少操作作系統(tǒng)塊塊發(fā)生一一次檢查查點(diǎn)事件件例如重做做日志文文件1M,系統(tǒng)操操作塊為為1K:設(shè)置此此參數(shù)為為500,則重做做日志文文件寫入入500K時(shí),檢查查點(diǎn)事件件發(fā)生LOG_CHECKPOINT_TIMEOUT用來指定定每隔多多長時(shí)間間發(fā)生一一次檢查查點(diǎn)如1800,表示每每隔1800秒,如果果為0,表示此此參數(shù)無無效ELOG_CHECKPOINT_TO_ALERT用于設(shè)置置是否將將檢查點(diǎn)點(diǎn)信息記記錄到警警告日志志中數(shù)SMON(系統(tǒng)監(jiān)監(jiān)控進(jìn)程程)功能在實(shí)例啟啟動(dòng)時(shí)負(fù)負(fù)責(zé)對(duì)數(shù)數(shù)據(jù)庫進(jìn)進(jìn)行恢復(fù)復(fù);回收不再再使用的的臨時(shí)空空間。將各個(gè)表表空間的的空閑碎碎片合并并(表空空間的存存儲(chǔ)參數(shù)數(shù)PCTINCREASE不為0時(shí))。InstanceSGASMONControlfilesDatafilesRedologfilesInstanceSGASMONDatabasePMON(進(jìn)程監(jiān)監(jiān)控進(jìn)程程)功能負(fù)責(zé)恢復(fù)復(fù)失敗的的用戶進(jìn)進(jìn)程或服服務(wù)器進(jìn)進(jìn)程,并并且釋放放進(jìn)程所所占用的的資源;;清除非正正常中斷斷的用戶戶進(jìn)程留留下的孤孤兒會(huì)話話,回退退未提交交的事務(wù)務(wù),釋放放會(huì)話所所占用的的鎖、SGA、PGA等資源;;監(jiān)控調(diào)度度進(jìn)程和和服務(wù)器器進(jìn)程的的狀態(tài)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論