oracle第8章數(shù)據(jù)庫實(shí)例與操作模式.ppt_第1頁
oracle第8章數(shù)據(jù)庫實(shí)例與操作模式.ppt_第2頁
oracle第8章數(shù)據(jù)庫實(shí)例與操作模式.ppt_第3頁
oracle第8章數(shù)據(jù)庫實(shí)例與操作模式.ppt_第4頁
oracle第8章數(shù)據(jù)庫實(shí)例與操作模式.ppt_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第8章數(shù)據(jù)庫實(shí)例和操作模式,本章內(nèi)容,Oracle實(shí)例Oracle內(nèi)存結(jié)構(gòu)Oracle后臺(tái)進(jìn)程數(shù)據(jù)庫操作模式,本章要求,掌握Oracle實(shí)例的基本概念,掌握Oracle實(shí)例的內(nèi)存結(jié)構(gòu)、功能和管理,了解Oracle進(jìn)程的分類和功能,掌握Oracle數(shù)據(jù)庫的操作模式,8.1實(shí)例概述,Oracle實(shí)例的概念是Oracle數(shù)據(jù)庫的軟件結(jié)構(gòu),它由一系列后臺(tái)進(jìn)程和內(nèi)存結(jié)構(gòu)組成。用于處理數(shù)據(jù)的內(nèi)存結(jié)構(gòu)、真實(shí)實(shí)例、后臺(tái)進(jìn)程、服務(wù)器進(jìn)程、數(shù)據(jù)庫、Oracle數(shù)據(jù)庫服務(wù)器由數(shù)據(jù)庫和實(shí)例組成。數(shù)據(jù)庫和實(shí)例之間的關(guān)系數(shù)據(jù)庫是Oracle用來保存數(shù)據(jù)的一系列物理和邏輯結(jié)構(gòu)。用戶直接與實(shí)例交互,實(shí)例訪問數(shù)據(jù)庫。每個(gè)數(shù)據(jù)庫

2、至少有一個(gè)對(duì)應(yīng)的實(shí)例。啟動(dòng)數(shù)據(jù)庫時(shí),首先創(chuàng)建一個(gè)Oracle實(shí)例,它包括、實(shí)例、SGA、日志緩存、共享池、數(shù)據(jù)字典緩沖區(qū)、庫緩沖區(qū)、dbwr、smon、pmon、ckpt、lgwr、其他、用戶進(jìn)程、服務(wù)器進(jìn)程、PGA、控制文件、數(shù)據(jù)文件、存檔日志文件和參數(shù)文件。密碼文件、重做日志文件、數(shù)據(jù)庫、數(shù)據(jù)庫緩存、8.2內(nèi)存結(jié)構(gòu)、系統(tǒng)全局區(qū)域SGA SGA區(qū)域是由Oracle分配的共享內(nèi)存結(jié)構(gòu),包含數(shù)據(jù)庫實(shí)例共享的數(shù)據(jù)和控制信息。當(dāng)多個(gè)用戶同時(shí)連接到同一個(gè)實(shí)例時(shí),SGA區(qū)域的數(shù)據(jù)由多個(gè)用戶共享,因此SGA區(qū)域也稱為共享全局區(qū)域。程序全局區(qū)域是Oracle在用戶進(jìn)程連接到數(shù)據(jù)庫并創(chuàng)建會(huì)話時(shí)為用戶分配的內(nèi)存

3、區(qū)域,它存儲(chǔ)當(dāng)前用戶的私有數(shù)據(jù)和控制信息。8.2.1系統(tǒng)全局區(qū)域SGA,SGA包含的內(nèi)存結(jié)構(gòu)包括:數(shù)據(jù)緩存、共享池、重做日志緩沖區(qū)和其他位于SGA的結(jié)構(gòu)(如鎖管理和統(tǒng)計(jì))。有兩種可配置的可選內(nèi)存結(jié)構(gòu):大池、數(shù)據(jù)緩存和功能數(shù)據(jù)緩沖區(qū),用于存儲(chǔ)從數(shù)據(jù)文件中檢索到的數(shù)據(jù)副本。應(yīng)用程序要訪問的數(shù)據(jù)必須從磁盤上的數(shù)據(jù)文件讀取到數(shù)據(jù)緩沖區(qū)進(jìn)行處理。數(shù)據(jù)緩沖區(qū)中的修改數(shù)據(jù)由數(shù)據(jù)寫入過程寫入硬盤的數(shù)據(jù)文件中,以供永久存儲(chǔ)。提高獲取和更新數(shù)據(jù)的性能。緩沖區(qū)塊類型:臟緩沖區(qū)保存修改的數(shù)據(jù)??臻e緩沖區(qū)不包含任何數(shù)據(jù),它們等待后臺(tái)進(jìn)程或服務(wù)器進(jìn)程將數(shù)據(jù)寫入其中。正在使用固定緩沖區(qū),或明確聲明為保留緩存塊,以及緩沖區(qū)塊

4、管理此列表包含那些已被修改但尚未寫入數(shù)據(jù)文件的臟緩存塊。LRU列表(最近最少使用):該列表包含所有空閑高速緩存塊、命中高速緩存塊和那些尚未移動(dòng)到臟高速緩存塊列表中的臟高速緩存塊。在該列表中,最近訪問的緩存塊被移動(dòng)到列表的頭部,而其他緩存塊被移動(dòng)到列表的尾部。最近最少訪問的緩存塊首先從LRU列表中移出,從而確保最常用的數(shù)據(jù)塊始終存儲(chǔ)在內(nèi)存中。數(shù)據(jù)緩存大小可以設(shè)置參數(shù)文件中數(shù)據(jù)緩存的大小。數(shù)據(jù)緩存越大,用戶所需的數(shù)據(jù)在內(nèi)存中的可能性就越大,即緩存命中率越高,從而減少了Oracle訪問硬盤數(shù)據(jù)的次數(shù),提高了數(shù)據(jù)庫系統(tǒng)的執(zhí)行效率。但是,由于數(shù)據(jù)緩存的值太大,Oracle必須在內(nèi)存中找到更多的塊來定位所

5、需的數(shù)據(jù),這降低了系統(tǒng)性能。因此,有必要確定合理的數(shù)據(jù)緩存大小。重做日志緩沖區(qū),用于緩存用戶數(shù)據(jù)修改操作期間生成的重做記錄。當(dāng)重做日志緩沖區(qū)已滿時(shí),日志寫入過程會(huì)將重做日志緩沖區(qū)的內(nèi)容寫入磁盤的重做日志文件,以便永久存儲(chǔ)。重做日志緩沖區(qū)LOG_BUFFER的大小在參數(shù)文件中設(shè)置。LOG_BUFFER的值越大,可以在重做日志緩沖區(qū)中存儲(chǔ)的事務(wù)提交記錄就越多,從而減少了數(shù)據(jù)頻繁填充到重做日志文件中的次數(shù)。共享池,用于緩存與SQL或PL/SQL語句、數(shù)據(jù)字典、資源鎖和其他控制結(jié)構(gòu)相關(guān)的數(shù)據(jù)。數(shù)據(jù)字典緩存包括SQL workspace和PL/SQL workspace數(shù)據(jù)字典緩存,數(shù)據(jù)字典緩存存儲(chǔ)最常

6、用的數(shù)據(jù)字典信息,共享池大小SHARED_POOL_SIZE合適,可以使編譯后的程序代碼長(zhǎng)時(shí)間停留在內(nèi)存中,大大降低了重復(fù)執(zhí)行同一個(gè)SQL語句和PL/SQL程序的系統(tǒng)開銷,從而提高了數(shù)據(jù)庫的性能。大池、函數(shù)大池是一個(gè)可選的內(nèi)存配置項(xiàng),主要為Oracle多線程服務(wù)器、服務(wù)器I/O進(jìn)程、數(shù)據(jù)庫備份和恢復(fù)操作、執(zhí)行帶有大量排序操作的SQL語句、執(zhí)行并行數(shù)據(jù)庫操作以及其他需要大量緩存的操作提供內(nèi)存空間。如果未在SGA區(qū)域創(chuàng)建大型池,上述操作所需的緩存空間將分配到共享池或PGA中,從而影響共享池或PGA的使用效率。大型池的大小由參數(shù)“大型池大小”指定。在數(shù)據(jù)庫運(yùn)行期間,可以使用ALTER SYSTEM語

7、句修改大型池的大小。Java池和功能Java為Java編程提供支持,用于存儲(chǔ)Java代碼、Java語句的語法分析表、Java語句的執(zhí)行方案和開發(fā)Java程序。JAVA池大小Java池大小由參數(shù)JAVA _ POOL _ SIZE指定,通常不小于20M,以便安裝Java虛擬機(jī)。影響SGA大小的參數(shù),db _ cache _ size lob _ buffer _ shared _ pool _ size Java _ pool _ size大_ pool _ size,8.2.3PGA區(qū)域,函數(shù)PGA是為連接到Oracle數(shù)據(jù)庫的每個(gè)用戶保留的內(nèi)存區(qū)域,主要存儲(chǔ)連接中使用的變量信息和與用戶進(jìn)程交

8、換的信息。它是非共享的,只有服務(wù)進(jìn)程本身可以訪問自己的PGA區(qū)域,該區(qū)域由排序區(qū)域、會(huì)話區(qū)域、游標(biāo)區(qū)域和堆棧區(qū)域組成。排序區(qū)主要用于存儲(chǔ)排序操作生成的臨時(shí)數(shù)據(jù),其大小由初始化參數(shù)SORT_AREA_SIZE定義;會(huì)話區(qū)用于保存用戶會(huì)話的權(quán)限、角色和性能統(tǒng)計(jì)。光標(biāo)區(qū)域用于存儲(chǔ)光標(biāo)操作期間生成的數(shù)據(jù)。堆棧區(qū)域用于在會(huì)話期間保存綁定變量、會(huì)話變量和其他信息。用戶進(jìn)程、堆??臻g、會(huì)話信息排序區(qū)域、游標(biāo)信息、SGA、共享的SQL區(qū)域、SGA、PGA專用服務(wù)器共享的服務(wù)器、服務(wù)器進(jìn)程、共享的SQL區(qū)域、堆??臻g、排序區(qū)域、游標(biāo)信息、8.2.4管理原始設(shè)備制造商中數(shù)據(jù)庫實(shí)例的內(nèi)存結(jié)構(gòu)、8.3后臺(tái)進(jìn)程、進(jìn)程的

9、概念是操作系統(tǒng)中獨(dú)立且可調(diào)度的活動(dòng),用于完成指定的任務(wù)。過程和程序的區(qū)別在于過程是一個(gè)動(dòng)態(tài)的概念,也就是說,它是動(dòng)態(tài)創(chuàng)建的,并在完成任務(wù)后立即死亡;程序是一個(gè)靜態(tài)實(shí)體。過程強(qiáng)調(diào)執(zhí)行過程,而程序只是指令的有序集合。進(jìn)程類型用戶進(jìn)程服務(wù)器進(jìn)程后臺(tái)進(jìn)程當(dāng)用戶連接到數(shù)據(jù)庫執(zhí)行應(yīng)用程序時(shí),會(huì)創(chuàng)建一個(gè)用戶進(jìn)程來完成用戶指定的任務(wù)。服務(wù)器進(jìn)程服務(wù)器進(jìn)程由Oracle自己創(chuàng)建,用于處理連接到數(shù)據(jù)庫實(shí)例的用戶進(jìn)程發(fā)出的請(qǐng)求。用戶進(jìn)程只能通過服務(wù)器進(jìn)程訪問和操作數(shù)據(jù)庫。服務(wù)器進(jìn)程分為專用服務(wù)器進(jìn)程和共享服務(wù)器進(jìn)程。一個(gè)專用的服務(wù)器進(jìn)程只能服務(wù)一個(gè)用戶進(jìn)程;一個(gè)共享服務(wù)器進(jìn)程可以服務(wù)多個(gè)用戶進(jìn)程。服務(wù)器進(jìn)程主要完成

10、以下任務(wù):解析和執(zhí)行用戶提交的SQL語句和PL/SQL程序;在SGA的數(shù)據(jù)緩存中搜索用戶進(jìn)程要訪問的數(shù)據(jù)。如果數(shù)據(jù)不在緩沖區(qū)中,您需要從硬盤數(shù)據(jù)文件中讀取所需的數(shù)據(jù),然后將它們復(fù)制到緩沖區(qū)中;并將查詢或執(zhí)行的結(jié)果數(shù)據(jù)返回給用戶進(jìn)程。后臺(tái)進(jìn)程后臺(tái)進(jìn)程為了確保Oracle數(shù)據(jù)庫能夠隨時(shí)處理多用戶并發(fā)請(qǐng)求,執(zhí)行復(fù)雜的數(shù)據(jù)操作并優(yōu)化系統(tǒng)性能,Oracle數(shù)據(jù)庫使用了一些稱為后臺(tái)進(jìn)程的獨(dú)立附加進(jìn)程。當(dāng)服務(wù)器進(jìn)程執(zhí)行用戶進(jìn)程請(qǐng)求時(shí),它調(diào)用后臺(tái)進(jìn)程來操作數(shù)據(jù)庫。后臺(tái)進(jìn)程主要完成以下任務(wù):內(nèi)存和磁盤之間的輸入輸出操作;監(jiān)控每臺(tái)服務(wù)器進(jìn)程狀態(tài);協(xié)調(diào)每個(gè)服務(wù)器進(jìn)程的任務(wù);保持系統(tǒng)性能和可靠性。8 . 3 . 2后

11、臺(tái)進(jìn)程,DBWR數(shù)據(jù)庫寫進(jìn)程LGWR日志寫進(jìn)程CKPT檢查點(diǎ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)程Dnn調(diào)度進(jìn)程Snnn共享服務(wù)器進(jìn)程,DBWR(數(shù)據(jù)庫寫進(jìn)程),功能:數(shù)據(jù)庫寫進(jìn)程負(fù)責(zé)將數(shù)據(jù)緩存中修改后的數(shù)據(jù)(“臟”緩存塊)成批寫入數(shù)據(jù)文件,以便永久存儲(chǔ),同時(shí), 使數(shù)據(jù)緩存有更多的空閑緩存塊,確保服務(wù)器進(jìn)程將所需數(shù)據(jù)從數(shù)據(jù)文件讀取到數(shù)據(jù)緩存中,并提高緩存命中率。 當(dāng)DBWR進(jìn)程開始執(zhí)行插入、更新和其他操作時(shí),沒有足夠的空閑塊。當(dāng)檢查點(diǎn)出現(xiàn)時(shí),將啟動(dòng)DBWR進(jìn)程。如果數(shù)據(jù)緩存的LRU列表長(zhǎng)度達(dá)到初始化數(shù)據(jù)庫塊寫批處理指定值的一半,LGWR(日

12、志寫進(jìn)程)將負(fù)責(zé)將重做日志緩沖區(qū)中的數(shù)據(jù)寫入重做日志文件,以便永久存儲(chǔ)。在工作之前,數(shù)據(jù)寫入過程需要知道日志寫入過程是否已經(jīng)將相關(guān)日志緩沖區(qū)中記錄的數(shù)據(jù)寫入硬盤。如果相關(guān)日志緩沖區(qū)中的記錄尚未寫入,DBWR將通知LGWR在DBWR開始寫入之前完成相應(yīng)的工作。實(shí)例、SGA、數(shù)據(jù)庫、重做日志緩沖區(qū)、控制文件、數(shù)據(jù)文件、重做日志文件、LGWR、數(shù)據(jù)庫、啟動(dòng)LGWR進(jìn)程的用戶通過COMMIT語句提交當(dāng)前事務(wù)。重做日志緩存已滿三分之一。當(dāng)DBWR進(jìn)程開始向數(shù)據(jù)文件寫入臟緩存塊時(shí),每3秒鐘就會(huì)超時(shí)一次,并且將啟動(dòng)LGWR事務(wù)提交機(jī)制來快速提交組提交。CKPT(檢查點(diǎn)流程),檢查點(diǎn)概念檢查點(diǎn)是一個(gè)事件。當(dāng)此

13、事件發(fā)生時(shí)(每隔一次),DBWR進(jìn)程將數(shù)據(jù)緩存中的臟緩存塊寫入數(shù)據(jù)文件,Oracle將更新數(shù)據(jù)庫控制文件和數(shù)據(jù)文件頭的同步序列號(hào),以記錄當(dāng)前的數(shù)據(jù)庫結(jié)構(gòu)和狀態(tài),并確保數(shù)據(jù)同步。實(shí)例、SGA、dbwn、lgwr、ckpt、控制文件、數(shù)據(jù)文件、重做日志文件、ckpt進(jìn)程更新控制文件和數(shù)據(jù)文件的標(biāo)頭,以同步觸發(fā)DBWR進(jìn)程,并將臟緩存塊寫入數(shù)據(jù)文件檢查點(diǎn)的數(shù)據(jù)庫檢查點(diǎn)級(jí)別:每個(gè)日志表空間檢查點(diǎn):當(dāng)表空間設(shè)置為脫機(jī)時(shí),將執(zhí)行表空間檢查點(diǎn),并且DBWR進(jìn)程將與數(shù)據(jù)緩存中的表空間相關(guān)的臟緩存塊寫入數(shù)據(jù)文件。時(shí)間檢查點(diǎn):您可以設(shè)置基于時(shí)間的檢查點(diǎn),并定期執(zhí)行檢查點(diǎn)。有必要為檢查點(diǎn)設(shè)置一個(gè)合適的執(zhí)行時(shí)間間隔,

14、時(shí)間間隔過短,會(huì)產(chǎn)生過多的硬盤輸入輸出操作;如果間隔太長(zhǎng),數(shù)據(jù)庫的恢復(fù)將花費(fèi)太多時(shí)間。,當(dāng)每個(gè)日志切換時(shí)觸發(fā)檢查點(diǎn)事件,當(dāng)實(shí)例以下列方式關(guān)閉時(shí),NORMAL,TRANSACTION,IMMENT當(dāng)使用alter tablespace脫機(jī)時(shí)normal |只讀|開始備份,當(dāng)檢查點(diǎn)作用于數(shù)據(jù)文件時(shí)設(shè)置基于時(shí)間的檢查點(diǎn)事件。當(dāng)數(shù)據(jù)庫管理員需要手動(dòng)操作時(shí),請(qǐng)更改系統(tǒng)檢查點(diǎn)。與檢查點(diǎn)相關(guān)的初始化參數(shù)LOG _ CHECKPOINT _ INTERVAL用于指定重做日志文件中寫入了多少操作系統(tǒng)塊。例如,重做日志文件1M,系統(tǒng)操作塊為1K:如果此參數(shù)設(shè)置為500,當(dāng)重做日志文件寫入500K時(shí),檢查點(diǎn)事件日志

15、_檢查點(diǎn)_超時(shí)用于指定檢查點(diǎn)出現(xiàn)的頻率,如1800,即每1800秒。如果為0,則此參數(shù)無效。日志檢查點(diǎn)警報(bào)用于設(shè)置是否在警告日志中記錄檢查點(diǎn)信息,SMON(系統(tǒng)監(jiān)控進(jìn)程回收不再使用的臨時(shí)空間。合并每個(gè)表空間的空閑片段(當(dāng)表空間的存儲(chǔ)參數(shù)PCTRUSION不是0時(shí))。實(shí)例、SGA、smon、控制文件、數(shù)據(jù)文件、重做日志文件、實(shí)例、SGA、smon、數(shù)據(jù)庫、pmon(進(jìn)程監(jiān)控進(jìn)程),負(fù)責(zé)恢復(fù)失敗的用戶進(jìn)程或服務(wù)器進(jìn)程。清除異常中斷的用戶進(jìn)程留下的孤立會(huì)話,回滾未提交的事務(wù),并釋放會(huì)話占用的鎖、SGA、PGA和其他資源;監(jiān)控調(diào)度進(jìn)程和服務(wù)器進(jìn)程的狀態(tài)。如果它們失敗了,試著重新啟動(dòng)它們,釋放它們所占用的各種資源。PGA區(qū)、ARCH(歸檔過程),功能歸檔過程負(fù)責(zé)在日志切換后將完整重做日志文件復(fù)制到歸檔目標(biāo),以防止完整重做日志文件被覆蓋。最多可啟動(dòng)10個(gè)歸檔流程(arc0arc9)和reco(恢復(fù)流程),功能性RECO流程負(fù)責(zé)自動(dòng)解決分布式數(shù)據(jù)庫環(huán)境中分布式事務(wù)的故障。一個(gè)節(jié)點(diǎn)的RECO自動(dòng)解決所有未完成的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論