版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Oracle 11g實(shí)用教程第七章 Oracle實(shí)例組成與管理內(nèi)容概要內(nèi)容概要Oracle數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)庫(kù)實(shí)例1Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉2Oracle數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)庫(kù)實(shí)例vOracle實(shí)例概述 vOracle內(nèi)存結(jié)構(gòu)vOracle后臺(tái)進(jìn)程Oracle實(shí)例概述實(shí)例概述vOracle實(shí)例的概念實(shí)例的概念 Oracle數(shù)據(jù)庫(kù)主要由放在磁盤中的物理數(shù)據(jù)庫(kù)和對(duì)物理數(shù)據(jù)庫(kù)進(jìn)行管理的數(shù)據(jù)庫(kù)管理系統(tǒng)構(gòu)成。 其中,數(shù)據(jù)庫(kù)管理系統(tǒng)是處于用戶與物理數(shù)據(jù)庫(kù)之間的一個(gè)中間層軟件,又稱為實(shí)例,由一系列內(nèi)存結(jié)構(gòu)和后臺(tái)進(jìn)程組成。v在啟動(dòng)數(shù)據(jù)庫(kù)時(shí),在啟動(dòng)數(shù)據(jù)庫(kù)時(shí), Oracle首先,在內(nèi)存中獲取一定的空
2、間,啟動(dòng)各種用途的后臺(tái)進(jìn)程,即創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)實(shí)例。 然后,由實(shí)例裝載數(shù)據(jù)文件和重做日志文件。 最后,打開數(shù)據(jù)庫(kù)。v用戶操作數(shù)據(jù)庫(kù)的過程用戶操作數(shù)據(jù)庫(kù)的過程實(shí)質(zhì)實(shí)質(zhì)上是上是與數(shù)據(jù)庫(kù)實(shí)例建與數(shù)據(jù)庫(kù)實(shí)例建立連接立連接,然后通過實(shí)例來連接、操作數(shù)據(jù)庫(kù)的過,然后通過實(shí)例來連接、操作數(shù)據(jù)庫(kù)的過程。程。v數(shù)據(jù)庫(kù)與實(shí)例的關(guān)系數(shù)據(jù)庫(kù)與實(shí)例的關(guān)系 單實(shí)例數(shù)據(jù)庫(kù)系統(tǒng) 多實(shí)例數(shù)據(jù)庫(kù)系統(tǒng)注意注意:同一時(shí)間同一時(shí)間一個(gè)用戶一個(gè)用戶只能與一個(gè)只能與一個(gè)實(shí)例聯(lián)系。實(shí)例聯(lián)系。v實(shí)例組成實(shí)例組成 內(nèi)存結(jié)構(gòu):系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)(PGA) 后臺(tái)進(jìn)程組成 實(shí)例實(shí)例SGA日志緩存日志緩存共享池共享池?cái)?shù)據(jù)字典數(shù)據(jù)字典緩沖區(qū)緩
3、沖區(qū)庫(kù)緩沖區(qū)庫(kù)緩沖區(qū)DBWRSMONPMONCKPTLGWROthers用戶進(jìn)程用戶進(jìn)程服務(wù)器進(jìn)程服務(wù)器進(jìn)程PGA控制文件控制文件數(shù)據(jù)文數(shù)據(jù)文件件 歸檔日志歸檔日志文件文件參數(shù)文件參數(shù)文件口令文件口令文件重做日志重做日志文件文件物理數(shù)據(jù)庫(kù)物理數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)緩存數(shù)據(jù)庫(kù)緩存OracleOracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)Oracle內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu) 內(nèi)存內(nèi)存是是Oracle數(shù)據(jù)庫(kù)重要的信息緩存和共享數(shù)據(jù)庫(kù)重要的信息緩存和共享區(qū)域,主要存儲(chǔ)區(qū)域,主要存儲(chǔ)執(zhí)行的程序代碼執(zhí)行的程序代碼、連接會(huì)話信息連接會(huì)話信息以及程序執(zhí)行期間所需要的以及程序執(zhí)行期間所需要的數(shù)據(jù)和共享信息數(shù)據(jù)和共享信息等。等。v系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)(
4、System Global Area,SGA)v程序全局區(qū)程序全局區(qū)(Program Global Area,PGA) v SGA SGA是由Oracle分配的共享內(nèi)存結(jié)構(gòu),包含一個(gè)數(shù)據(jù)庫(kù)實(shí)例共享的數(shù)據(jù)和控制信息。當(dāng)多個(gè)用戶同時(shí)連接同一個(gè)實(shí)例時(shí),SGA數(shù)據(jù)可供多個(gè)用戶共享,SGA又稱為共享全局區(qū)(Shared Global Area)。 用戶對(duì)數(shù)據(jù)庫(kù)的各種操作主要在SGA中進(jìn)行。該內(nèi)存區(qū)隨數(shù)據(jù)庫(kù)實(shí)例的創(chuàng)建而分配,隨實(shí)例的終止而釋放。 v PGA PGA是在用戶進(jìn)程連接數(shù)據(jù)庫(kù)、創(chuàng)建一個(gè)會(huì)話時(shí),由Oracle為用戶分配的內(nèi)存區(qū)域,保存當(dāng)前用戶私有的數(shù)據(jù)和控制信息,因此該區(qū)又稱為私有全局區(qū)(Priv
5、ate Global Area)。 每個(gè)服務(wù)器進(jìn)程只能訪問自己的PGA,所有服務(wù)器進(jìn)程的PGA總和即為實(shí)例的PGA的大小。SGAvSGA包含的內(nèi)存結(jié)構(gòu)有:包含的內(nèi)存結(jié)構(gòu)有: 數(shù)據(jù)高速緩沖區(qū)(Database Buffer Cache) 共享池(Shared Pool) 重做日志緩沖區(qū)(Redo Log Cache) 大型池(Large Pool) Java池(Java Pool) 流池(Streams Pool) 其他結(jié)構(gòu)(如固定SGA、鎖管理等)(1)數(shù)據(jù)高速緩沖區(qū))數(shù)據(jù)高速緩沖區(qū)v 功能功能存儲(chǔ)最近從數(shù)據(jù)文件中檢索出來的數(shù)據(jù)拷貝,供所有用戶共享。存儲(chǔ)在數(shù)據(jù)緩沖區(qū)中被修改后的數(shù)據(jù),然后由數(shù)據(jù)
6、寫入進(jìn)程(DBWR)寫到硬盤的數(shù)據(jù)文件中永久保存。提高獲取和更新數(shù)據(jù)的性能。v數(shù)據(jù)高速緩沖區(qū)的工作過程數(shù)據(jù)高速緩沖區(qū)的工作過程v數(shù)據(jù)高速緩沖區(qū)由許多數(shù)據(jù)高速緩沖區(qū)由許多大小相等的大小相等的緩存塊組成。緩存塊組成。處理、存儲(chǔ)處理、存儲(chǔ)v 緩沖塊的類型緩沖塊的類型臟緩存塊(Dirty Buffers)保存的是已經(jīng)被修改過的數(shù)據(jù)。當(dāng)一條SQL語句對(duì)某個(gè)緩存塊中的數(shù)據(jù)進(jìn)行修改后,這個(gè)緩存塊就被標(biāo)記為臟緩存塊。它們最終將由DBWR進(jìn)程寫入數(shù)據(jù)文件,以永久性地保存修改結(jié)果。 空閑緩存塊(Free Buffers)不包含任何數(shù)據(jù),它們等待后臺(tái)進(jìn)程或服務(wù)器進(jìn)程向其中寫入數(shù)據(jù)。當(dāng)Oracle從數(shù)據(jù)文件中讀取數(shù)據(jù)
7、時(shí),將會(huì)尋找空閑緩存塊,以便將數(shù)據(jù)寫入其中。命中緩存塊(Pinned Buffers)正被使用,或者被顯式地聲明為保留的緩存塊。這些緩存塊始終保留在數(shù)據(jù)高速緩沖區(qū)中,不會(huì)被換出內(nèi)存。 v緩存塊的管理緩存塊的管理 臟緩存塊列表:包含那些已經(jīng)被修改但還沒有寫入數(shù)據(jù)文件的臟緩存塊。 LRU列表(Least Recently Used):包含 所有的空閑緩存塊 命中緩存塊 那些還沒有來得及移入到臟緩存塊列表中的臟緩存塊。 說明:在該列表中,最近被訪問的緩存塊被移動(dòng)到列表的頭部,而其他緩存塊向列表尾部移動(dòng),最近最少被訪問的緩存塊最先被移出LRU列表,從而保證最頻繁使用的緩存塊始終保存在內(nèi)存中。v數(shù)據(jù)高速
8、緩沖區(qū)大小數(shù)據(jù)高速緩沖區(qū)大小 數(shù)據(jù)高速緩沖區(qū)越大,緩存命中率越高,從而減少了Oracle訪問硬盤數(shù)據(jù)的次數(shù),提高了數(shù)據(jù)庫(kù)系統(tǒng)執(zhí)行的效率。然而,如果數(shù)據(jù)高速緩沖區(qū)的值太大,Oracle就不得不在內(nèi)存中尋找更多的塊來定位所需要的數(shù)據(jù),反而降低了系統(tǒng)性能。顯然,需要確定一個(gè)合理的數(shù)據(jù)高速緩沖區(qū)大小。 通過查詢動(dòng)態(tài)性能視圖V$SGA_DYNAMIC_COMPONETS查看數(shù)據(jù)高速緩沖區(qū)的構(gòu)成情況。 使用ALTER SYSTEM語句動(dòng)態(tài)修改參數(shù)DB_CACHE_SIZE(標(biāo)準(zhǔn)塊),從而調(diào)整數(shù)據(jù)高速緩沖區(qū)的大小。(2)重做日志緩沖區(qū))重做日志緩沖區(qū)v功能功能 用于緩存用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改操作時(shí)生成的重做記
9、錄。 為了提高工作效率,重做記錄并不是直接寫入重做日志文件中,而是首先被服務(wù)器進(jìn)程寫入重做日志緩沖區(qū)中,在一定條件下,再由日志寫入進(jìn)程(LGWR)把重做日志緩沖區(qū)的內(nèi)容寫入重做日志文件中做永久性保存。在歸檔模式下,當(dāng)重做日志切換時(shí),由歸檔進(jìn)程(ARCH)將重做日志文件的內(nèi)容寫入歸檔文件中。 v重做日志緩沖區(qū)的工作過程重做日志緩沖區(qū)的工作過程 說明說明:重做日志緩沖區(qū)是一個(gè):重做日志緩沖區(qū)是一個(gè)循環(huán)緩沖區(qū)循環(huán)緩沖區(qū),在使用時(shí)從頂端向底端寫入數(shù),在使用時(shí)從頂端向底端寫入數(shù) 據(jù),然后返回到緩沖區(qū)的起始點(diǎn)循環(huán)寫入。據(jù),然后返回到緩沖區(qū)的起始點(diǎn)循環(huán)寫入。重做記錄重做記錄v重做日志緩沖區(qū)的大小重做日志緩沖
10、區(qū)的大小 較大的重做日志緩沖區(qū),可以減少對(duì)重做日志文件寫的次數(shù),適合長(zhǎng)時(shí)間運(yùn)行的、產(chǎn)生大量重做記錄的事務(wù)。 使用ALTER SYSTEM語句動(dòng)態(tài)修改參數(shù)LOG_BUFFER,以調(diào)整緩沖區(qū)大小。()共享池()共享池v功能功能 用于緩存最近執(zhí)行過的SQL語句、PL/SQL程序和數(shù)據(jù)字典信息,是對(duì)SQL語句、PL/SQL程序進(jìn)行語法分析、編譯、執(zhí)行的區(qū)域。v組成組成 庫(kù)緩存 用于緩存已經(jīng)解釋并執(zhí)行過的SQL語句和PL/SQL程序代碼,以提高SQL或PL/SQL程序的執(zhí)行效率。 包括SQL工作區(qū)和PL/SQL工作區(qū)共享共享SQL區(qū):存放區(qū):存放SQL語句分析結(jié)果和執(zhí)行計(jì)劃。語句分析結(jié)果和執(zhí)行計(jì)劃。私有
11、私有SQL區(qū):包括綁定變量、環(huán)境和會(huì)話參數(shù)等。區(qū):包括綁定變量、環(huán)境和會(huì)話參數(shù)等。 數(shù)據(jù)字典緩存區(qū) 保存最常用的數(shù)據(jù)字典信息。v共享池大小共享池大小 由SHARED_POOL_SIZE參數(shù)指定。 合適的共享池大小,可使編譯過的程序代碼長(zhǎng)駐內(nèi)存,大大降低重復(fù)執(zhí)行相同的SQL語句、PL/SQL程序的系統(tǒng)開銷,從而提高數(shù)據(jù)庫(kù)的性能。 ()大型池()大型池 v功能功能 大型池是一個(gè)可選的內(nèi)存配置項(xiàng),主要為Oracle多線程服務(wù)器、服務(wù)器I/O進(jìn)程、數(shù)據(jù)庫(kù)備份與恢復(fù)操作、執(zhí)行具有大量排序操作的SQL語句、執(zhí)行并行化的數(shù)據(jù)庫(kù)操作等需要大量緩存的操作提供內(nèi)存空間。 如果沒有在SGA區(qū)中創(chuàng)建大型池,上述操作所
12、需要的緩存空間將在共享池或PGA中分配,因而影響共享池或PGA的使用效率。v大型池大小大型池大小 LARGE_POOL_SIZE()()Java池池 v功能功能 Java提供對(duì)Java程序設(shè)計(jì)的支持,用于存儲(chǔ)Java代碼、Java語句的語法分析表、Java語句的執(zhí)行方案和進(jìn)行Java程序開發(fā)。vJava池大小池大小 JAVA_POOL_SIZE 通常不小于20M,以便安裝Java虛擬機(jī) (6)流池)流池 v功能功能 流池是一個(gè)可選的內(nèi)存配置項(xiàng),用于對(duì)流的支持。v流池大小流池大小 STREAMS_POOL_SIZE SGA的管理的管理vSGA組件大小調(diào)整組件大小調(diào)整 DB_CACHE_SIZE
13、LOG_BUFFER SHARED_POOL_SIZE LARGE_POOL_SIZE Java_POOL_SIZE STRAMS_POOL_SIZE SGA_MAX_SIZEv查詢視圖查詢視圖V$SGAINFO來查看各組件大來查看各組件大注意注意:除了:除了SGA_MAX_SIZESGA_MAX_SIZE不能修改不能修改外,外, 其他幾個(gè)參數(shù)可以使用其他幾個(gè)參數(shù)可以使用 ALTER SYSTEMALTER SYSTEM語句進(jìn)行動(dòng)態(tài)調(diào)整。語句進(jìn)行動(dòng)態(tài)調(diào)整。SQL SELECT * FROM V$SGAINFO; vSGA自動(dòng)管理自動(dòng)管理 通過設(shè)置初始化參數(shù)SGA_TARGET,可以實(shí)現(xiàn)對(duì)SGA
14、中的數(shù)據(jù)高速緩沖區(qū)、共享池、大型池、Java池和流池的自動(dòng)管理,即這幾個(gè)組件的內(nèi)存調(diào)整不需要DBA來干預(yù),系統(tǒng)自動(dòng)進(jìn)行調(diào)整。 但是對(duì)于日志緩沖區(qū)、非標(biāo)準(zhǔn)塊的數(shù)據(jù)高速緩沖區(qū)、保留池、回收池等其他區(qū)域的調(diào)整還需要DBA使用ALTER SYSTEM語句手動(dòng)進(jìn)行調(diào)整。v設(shè)置設(shè)置SGA自動(dòng)管理的自動(dòng)管理的方法方法 計(jì)算參數(shù)SGA_TARGET的大?。?設(shè)置參數(shù)SGA_TARGET 通過ALTER SYSTEM語句設(shè)置參數(shù)SGA_TARGET的值,該值可以是上一步計(jì)算出來的結(jié)果,也可以是當(dāng)前SGA大小與SGA_MAX_SIZE之間的某個(gè)值。 將SGA中與自動(dòng)管理相關(guān)的組件大小設(shè)置為0:SQL SELECT
15、 (SELECT SUM(value) FROM V$SGA)- (SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY)/1024/1024|MB AS SGA_TARGET FROM DUAL; v如果要取消自動(dòng)管理,只需將參數(shù)如果要取消自動(dòng)管理,只需將參數(shù)SGA_TARGETSGA_TARGET設(shè)設(shè)置為置為0 0即可。即可。 SQL ALTER SYSTEM SET SHARED_POOL_SIZE=0;SQL ALTER SYSTEM SET LARGE_POOL_SIZE=0;SQL ALTER SYSTEM SET Java_POOL
16、_SIZE=0;SQL ALTER SYSTEM SET LARGE_POOL_SIZE=0;SQL ALTER SYSTEM SET STREAMS_POOL_SIZE=0;PGAv功能功能 PGA是為每一個(gè)與Oracle數(shù)據(jù)庫(kù)連接的用戶保留的內(nèi)存區(qū),主要存儲(chǔ)該連接使用的變量信息和與用戶進(jìn)程交換的信息。是非共享的,只有服務(wù)進(jìn)程本身才能訪問它自己的PGA區(qū)。v組成組成 由排序區(qū)、會(huì)話區(qū)、游標(biāo)區(qū)以及堆棧區(qū)組成 排序區(qū)主要用于存放排序操作所產(chǎn)生的臨時(shí)數(shù)據(jù),其大小由初始化參數(shù)SORT_AREA_SIZE定義;會(huì)話區(qū)用于保存用戶會(huì)話所具有的權(quán)限、角色、性能統(tǒng)計(jì)信息;游標(biāo)區(qū)用于存放執(zhí)行游標(biāo)操作時(shí)所產(chǎn)生的
17、數(shù)據(jù);堆棧區(qū)用于保存會(huì)話過程中的綁定變量、會(huì)話變量等信息。Oracle進(jìn)程概述進(jìn)程概述v進(jìn)程的概念進(jìn)程的概念 進(jìn)程:是操作系統(tǒng)中一個(gè)獨(dú)立的可以調(diào)度的活動(dòng),用于完成指定的任務(wù)。 進(jìn)程與程序的區(qū)別在于: 進(jìn)程是動(dòng)態(tài)的概念,即動(dòng)態(tài)創(chuàng)建,完成任務(wù)后立即消亡;而程序是一個(gè)靜態(tài)實(shí)體。 進(jìn)程強(qiáng)調(diào)執(zhí)行過程,而程序僅僅是指令的有序集合v進(jìn)程的類型進(jìn)程的類型 用戶進(jìn)程 服務(wù)器進(jìn)程 后臺(tái)進(jìn)程 v用戶進(jìn)程用戶進(jìn)程 當(dāng)用戶連接數(shù)據(jù)庫(kù)執(zhí)行一個(gè)應(yīng)用程序時(shí),會(huì)創(chuàng)建一個(gè)用戶進(jìn)程,來完成用戶所指定的任務(wù)。 v服務(wù)器進(jìn)程服務(wù)器進(jìn)程 服務(wù)器進(jìn)程由Oracle自身創(chuàng)建,用于處理連接到數(shù)據(jù)庫(kù)實(shí)例的用戶進(jìn)程所提出的請(qǐng)求。用戶進(jìn)程只有通過服
18、務(wù)器進(jìn)程才能實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問和操作。 服務(wù)器進(jìn)程分為專用服務(wù)器進(jìn)程和共享服務(wù)器進(jìn)程兩種。只能為一個(gè)只能為一個(gè)用戶進(jìn)程用戶進(jìn)程提供服務(wù),即提供服務(wù),即一對(duì)一一對(duì)一服務(wù)。服務(wù)。可以為多個(gè)可以為多個(gè)用戶進(jìn)程用戶進(jìn)程提供服務(wù),即提供服務(wù),即一對(duì)多一對(duì)多服務(wù)。服務(wù)。 服務(wù)器進(jìn)程主要完成以下任務(wù): 解析并執(zhí)行用戶提交的SQL語句和PL/SQL程序; 在SGA的數(shù)據(jù)高速緩沖區(qū)中搜索用戶進(jìn)程所要訪問的數(shù)據(jù),如果數(shù)據(jù)不在緩沖區(qū)中,則需要從硬盤數(shù)據(jù)文件中讀取所需的數(shù)據(jù),再將它們復(fù)制到緩沖區(qū)中; 將用戶改變數(shù)據(jù)庫(kù)的操作信息寫入日志緩沖區(qū)中。 將查詢或執(zhí)行后的結(jié)果數(shù)據(jù)返回給用戶進(jìn)程。v后臺(tái)進(jìn)程后臺(tái)進(jìn)程 作用 為了保
19、證Oracle數(shù)據(jù)庫(kù)在任意一個(gè)時(shí)刻可以處理多用戶的并發(fā)請(qǐng)求,進(jìn)行復(fù)雜的數(shù)據(jù)操作,而且還要優(yōu)化系統(tǒng)性能,Oracle數(shù)據(jù)庫(kù)起用了一些相互獨(dú)立的附加進(jìn)程,稱為后臺(tái)進(jìn)程。服務(wù)器進(jìn)程在執(zhí)行用戶進(jìn)程請(qǐng)求時(shí),調(diào)用后臺(tái)進(jìn)程來實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。 主要完成以下任務(wù): 在內(nèi)存與磁盤之間進(jìn)行I/O操作; 監(jiān)視各個(gè)服務(wù)器進(jìn)程狀態(tài); 協(xié)調(diào)各個(gè)服務(wù)器進(jìn)程的任務(wù); 維護(hù)系統(tǒng)性能和可靠性等。 Oracle后臺(tái)進(jìn)程后臺(tái)進(jìn)程vDBWR 數(shù)據(jù)庫(kù)寫入進(jìn)程數(shù)據(jù)庫(kù)寫入進(jìn)程vLGWR 日志寫入進(jìn)程日志寫入進(jìn)程vCKPT 檢查點(diǎn)進(jìn)程檢查點(diǎn)進(jìn)程vSMON 系統(tǒng)監(jiān)控進(jìn)程系統(tǒng)監(jiān)控進(jìn)程vPMON 進(jìn)程監(jiān)控進(jìn)程進(jìn)程監(jiān)控進(jìn)程vARCn 歸檔進(jìn)程歸檔進(jìn)
20、程vRECO 恢復(fù)進(jìn)程恢復(fù)進(jìn)程vLCKn 封鎖進(jìn)程封鎖進(jìn)程vDnnn 調(diào)度進(jìn)程調(diào)度進(jìn)程vSnnn 共享服務(wù)器進(jìn)程共享服務(wù)器進(jìn)程(1)DBWR(數(shù)據(jù)庫(kù)寫入進(jìn)程)(數(shù)據(jù)庫(kù)寫入進(jìn)程)n 功能:功能: 數(shù)據(jù)庫(kù)寫入進(jìn)程負(fù)責(zé)把數(shù)據(jù)數(shù)據(jù)庫(kù)寫入進(jìn)程負(fù)責(zé)把數(shù)據(jù)高速緩沖區(qū)中已經(jīng)被修改過高速緩沖區(qū)中已經(jīng)被修改過的數(shù)據(jù)(的數(shù)據(jù)(“臟臟”緩存塊)成緩存塊)成批寫入數(shù)據(jù)文件中永久保存批寫入數(shù)據(jù)文件中永久保存,同時(shí)使數(shù)據(jù)高速緩沖區(qū)有,同時(shí)使數(shù)據(jù)高速緩沖區(qū)有更多的空閑緩存塊,保證服更多的空閑緩存塊,保證服務(wù)器進(jìn)程將所需要的數(shù)據(jù)從務(wù)器進(jìn)程將所需要的數(shù)據(jù)從數(shù)據(jù)文件讀取到數(shù)據(jù)高速緩數(shù)據(jù)文件讀取到數(shù)據(jù)高速緩沖區(qū)中,提高緩存命中率。沖
21、區(qū)中,提高緩存命中率。InstanceSGADatabaseBufferCacheDBWnControl filesData files Redo log filesDatabasev啟動(dòng)啟動(dòng)DBWR進(jìn)程的進(jìn)程的條件條件: 執(zhí)行INSERT、UPDATE等操作時(shí), 沒有足夠的空閑塊 當(dāng)檢查點(diǎn)發(fā)生時(shí),將啟動(dòng)DBWR進(jìn)程 當(dāng)數(shù)據(jù)緩存的LRU列表的長(zhǎng)度達(dá)到初始化 DB_BLOCK_WRITE_BATCH指定值的一半時(shí) 若發(fā)生超時(shí)(大約3秒未被啟動(dòng)) 注意注意:DBWRDBWR進(jìn)程進(jìn)程啟動(dòng)的時(shí)間啟動(dòng)的時(shí)間與用戶與用戶提交事務(wù)的時(shí)間提交事務(wù)的時(shí)間完全完全無關(guān)無關(guān)。LGWR(日志寫入進(jìn)程)(日志寫入進(jìn)程)
22、v功能功能 日志寫入進(jìn)程負(fù)責(zé)把重做日志緩沖區(qū)的數(shù)據(jù)寫入重做日志文件中永久保存。 數(shù)據(jù)寫入進(jìn)程在工作之前,需要了解日志寫入進(jìn)程是否已經(jīng)把相關(guān)的日志緩沖區(qū)中記載的數(shù)據(jù)寫入硬盤中,如果相關(guān)的日志緩沖區(qū)中的記錄還沒有被寫入,DBWR會(huì)通知LGWR完成相應(yīng)的工作,然后DBWR才開始寫入。InstanceSGADBWnRedo LogBufferControl filesData files Redo log filesLGWRDatabasev啟動(dòng)啟動(dòng)LGWR進(jìn)程的進(jìn)程的條件條件: 用戶通過COMMIT語句提交當(dāng)前事務(wù) 重做日志緩存被寫滿三分之一 DBWR進(jìn)程開始將臟緩存塊寫入數(shù)據(jù)文件 每隔3秒,即發(fā)生
23、一次超時(shí),將啟動(dòng)LGWR v事務(wù)提交機(jī)制事務(wù)提交機(jī)制 快速提交:用戶提交COMMIT語句,提交記錄和重做信息都被寫入重做日志文件中。 組提交:一次性將重做日志緩沖區(qū)的重做記錄寫入從左日志文件,不管事務(wù)是否提交。 CKPT(檢查點(diǎn)進(jìn)程)(檢查點(diǎn)進(jìn)程)v檢查點(diǎn)概念檢查點(diǎn)概念 檢查點(diǎn)檢查點(diǎn)是一個(gè)是一個(gè)事件事件,當(dāng)該事件發(fā)生時(shí),當(dāng)該事件發(fā)生時(shí)(每隔一段時(shí)間發(fā)每隔一段時(shí)間發(fā)生生),DBWR進(jìn)程進(jìn)程把數(shù)據(jù)高速緩沖區(qū)把數(shù)據(jù)高速緩沖區(qū)中臟緩存塊寫入數(shù)中臟緩存塊寫入數(shù)據(jù)文件中,同時(shí)據(jù)文件中,同時(shí)Oracle將對(duì)數(shù)據(jù)庫(kù)將對(duì)數(shù)據(jù)庫(kù)控制文件和數(shù)據(jù)文控制文件和數(shù)據(jù)文件的頭部的同步序件的頭部的同步序號(hào)進(jìn)行更新,以記號(hào)進(jìn)行
24、更新,以記錄下當(dāng)前的數(shù)據(jù)庫(kù)錄下當(dāng)前的數(shù)據(jù)庫(kù)結(jié)構(gòu)和狀態(tài),保證結(jié)構(gòu)和狀態(tài),保證數(shù)據(jù)的同步。數(shù)據(jù)的同步。InstanceSGADWW0Redo LogBufferLGWRInstanceSGADBWnLGWRCKPTControl filesData files Redo log filesvCKPT進(jìn)程的進(jìn)程的作用作用 更新控制文件與數(shù)據(jù)文件的頭部,使其同步; 觸發(fā)DBWR進(jìn)程,將臟緩存塊寫入數(shù)據(jù)文件。v檢查點(diǎn)的檢查點(diǎn)的級(jí)別級(jí)別 數(shù)據(jù)庫(kù)檢查點(diǎn):每一次日志切換時(shí),執(zhí)行一個(gè)數(shù)據(jù)庫(kù)檢查點(diǎn),DBWR進(jìn)程將數(shù)據(jù)高速緩沖區(qū)中的臟緩存塊寫入數(shù)據(jù)文件中; 表空間檢查點(diǎn):當(dāng)一個(gè)表空間設(shè)置為脫機(jī)狀態(tài)時(shí),執(zhí)行一個(gè)表空間
25、檢查點(diǎn),DBWR進(jìn)程把數(shù)據(jù)高速緩存中與該表空間相關(guān)的臟緩存塊寫入數(shù)據(jù)文件中。 時(shí)間檢查點(diǎn):可以設(shè)置以時(shí)間為基礎(chǔ)的檢查點(diǎn),每隔一段時(shí)間執(zhí)行一次檢查點(diǎn)。需要為檢查點(diǎn)設(shè)置一個(gè)合適的執(zhí)行間隔,間隔太短,將會(huì)產(chǎn)生過多的硬盤I/O操作;間隔太長(zhǎng),數(shù)據(jù)庫(kù)的恢復(fù)將耗費(fèi)太多時(shí)間。 v檢查點(diǎn)事件的檢查點(diǎn)事件的觸發(fā)觸發(fā) 每一個(gè)日志切換時(shí) 當(dāng)實(shí)例以如下方式關(guān)閉時(shí) NORMAL、TRANSACTION、IMMEDIATE 當(dāng)使用 ALTER TABLESPACE OFFLINE NORMAL|READ ONLY|BEGIN BACKUP ,作用于某個(gè)數(shù)據(jù)文件上的檢查點(diǎn)發(fā)生時(shí) 設(shè)置以時(shí)間為基礎(chǔ)的檢查點(diǎn)事件 當(dāng)數(shù)據(jù)庫(kù)管理員
26、需要手工操作時(shí) ALTER SYSTEM CHECKPOINTSMON(系統(tǒng)監(jiān)控進(jìn)程)(系統(tǒng)監(jiān)控進(jìn)程)v功能功能 在實(shí)例啟動(dòng)時(shí)負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)進(jìn)行恢復(fù); 回收不再使用的臨時(shí)空間。 將各個(gè)表空間的空閑碎片合并(表空間的存儲(chǔ)參數(shù)PCTINCREASE不為0時(shí))。InstanceSGASMONControl filesData files Redo log filesInstanceSGASMONDatabasePMON(進(jìn)程監(jiān)控進(jìn)程)(進(jìn)程監(jiān)控進(jìn)程)v功能功能 負(fù)責(zé)恢復(fù)失敗的用戶進(jìn)程或服務(wù)器進(jìn)程,并且釋放進(jìn)程所占用的資源; 清除非正常中斷的用戶進(jìn)程留下的孤兒會(huì)話,回退未提交的事務(wù),釋放會(huì)話所占用的鎖、
27、SGA、PGA等資源; 監(jiān)控調(diào)度進(jìn)程和服務(wù)器進(jìn)程的狀態(tài),如果它們失敗,則嘗試重新啟動(dòng)它們,并釋放它們所占用的各種資源。InstanceSGAPMONPGA areaARCn(歸檔進(jìn)程)(歸檔進(jìn)程)v功能功能 歸檔進(jìn)程負(fù)責(zé)在日志切換后將已經(jīng)寫滿的重做日志文件復(fù)制到歸檔目標(biāo)中,防止寫滿的重做日志文件被覆蓋。v最多可啟動(dòng)最多可啟動(dòng)10個(gè)歸檔進(jìn)程個(gè)歸檔進(jìn)程(ARC0 ARC9)RECO(恢復(fù)進(jìn)程)(恢復(fù)進(jìn)程)v功能功能 RECO進(jìn)程負(fù)責(zé)在分布式數(shù)據(jù)庫(kù)環(huán)境中自動(dòng)解決分布式事務(wù)的故障。一個(gè)節(jié)點(diǎn)的RECO自動(dòng)解決所有的懸而未決的事務(wù)。當(dāng)一個(gè)數(shù)據(jù)庫(kù)服務(wù)器的RECO后臺(tái)進(jìn)程試圖建立同一遠(yuǎn)程服務(wù)器的通信,如果該遠(yuǎn)
28、程服務(wù)器不可用或者網(wǎng)絡(luò)連接不能建立時(shí),RECO自動(dòng)地在一個(gè)時(shí)間間隔之后再次連接。當(dāng)且僅當(dāng)數(shù)據(jù)庫(kù)配置為分布式事務(wù)處理,且初始化參數(shù)DISTRIBUTED_TRANSACTIONS的值大于0時(shí),RECO進(jìn)程才會(huì)自動(dòng)啟動(dòng)。 LCKn(鎖進(jìn)程)(鎖進(jìn)程)v功能功能 LCKn進(jìn)程用于Oracle并行服務(wù)器環(huán)境中。在數(shù)據(jù)庫(kù)中最多可以啟動(dòng)10個(gè)LCKn進(jìn)程,主要用于實(shí)例間的封鎖。Dnnn(調(diào)度進(jìn)程)(調(diào)度進(jìn)程)v功能功能 Dnnn進(jìn)程是多線程服務(wù)器(Multithreaded Server,MTS)的組成部分,以后臺(tái)進(jìn)程的形式運(yùn)行。調(diào)度進(jìn)程接受用戶進(jìn)程請(qǐng)求,將它們放入請(qǐng)求隊(duì)列中,然后為請(qǐng)求隊(duì)列中的用戶進(jìn)程分
29、配一個(gè)服務(wù)器進(jìn)程。最后,從響應(yīng)隊(duì)列返回?cái)?shù)據(jù)給用戶進(jìn)程。 SGA(System Global Area)共享共享SQL區(qū)區(qū)共享池共享池?cái)?shù)據(jù)庫(kù)緩沖存儲(chǔ)區(qū)數(shù)據(jù)庫(kù)緩沖存儲(chǔ)區(qū)日志緩沖區(qū)日志緩沖區(qū)數(shù)據(jù)字典數(shù)據(jù)字典Server ProcessUser ProcessDBWRPMONCKPTLGWRSMONARCHDatafilesControl FilesRedo Log Files歸檔Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉v數(shù)據(jù)庫(kù)的啟動(dòng)數(shù)據(jù)庫(kù)的啟動(dòng)v數(shù)據(jù)庫(kù)的關(guān)閉數(shù)據(jù)庫(kù)的關(guān)閉v數(shù)據(jù)庫(kù)的狀態(tài)轉(zhuǎn)換數(shù)據(jù)庫(kù)的狀態(tài)轉(zhuǎn)換Oracle數(shù)據(jù)庫(kù)的啟動(dòng)數(shù)據(jù)庫(kù)的啟動(dòng)v數(shù)據(jù)庫(kù)啟動(dòng)步驟數(shù)據(jù)庫(kù)啟動(dòng)步驟創(chuàng)建并啟動(dòng)實(shí)例 (初始化
30、參數(shù)文件)裝載數(shù)據(jù)庫(kù) (控制文件)打開數(shù)據(jù)庫(kù) (數(shù)據(jù)文件與重做日志文件)數(shù)據(jù)庫(kù)啟動(dòng)的準(zhǔn)備數(shù)據(jù)庫(kù)啟動(dòng)的準(zhǔn)備v啟動(dòng)數(shù)據(jù)庫(kù)前,要先啟動(dòng)數(shù)據(jù)庫(kù)前,要先啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)聽服啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)聽服務(wù)以及數(shù)據(jù)庫(kù)服務(wù)務(wù)以及數(shù)據(jù)庫(kù)服務(wù)v以命令行的方式啟動(dòng)和關(guān)閉監(jiān)聽程序以命令行的方式啟動(dòng)和關(guān)閉監(jiān)聽程序 打開監(jiān)聽程序 C:LSNRCTL START 以SYSDBA或SYSOPER身份連接到Oracle C:SQLPLUS /NOLOG CONNECT sys/sys ORCL AS SYSDBA v在在Windows系統(tǒng)中啟動(dòng)和關(guān)閉監(jiān)聽程序系統(tǒng)中啟動(dòng)和關(guān)閉監(jiān)聽程序在在SQL*Plus中啟動(dòng)數(shù)據(jù)庫(kù)中啟動(dòng)數(shù)據(jù)庫(kù)v
31、 數(shù)據(jù)庫(kù)啟動(dòng)的三種模式數(shù)據(jù)庫(kù)啟動(dòng)的三種模式 v 啟動(dòng)數(shù)據(jù)庫(kù)的基本語法啟動(dòng)數(shù)據(jù)庫(kù)的基本語法 STARTUP NOMOUNT|MOUNT|OPEN|FORCERESTRICT PFILE=filename 啟 動(dòng) 模 式說 明NOMOUNT 創(chuàng)建并啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例,對(duì)應(yīng)數(shù)據(jù)庫(kù)啟動(dòng)的第一個(gè)步驟MOUNT啟動(dòng)實(shí)例并裝載數(shù)據(jù)庫(kù),對(duì)應(yīng)數(shù)據(jù)庫(kù)啟動(dòng)的第二個(gè)步驟OPEN啟動(dòng)實(shí)例、裝載并打開數(shù)據(jù)庫(kù),對(duì)應(yīng)數(shù)據(jù)庫(kù)啟動(dòng)的第三個(gè)步驟v STARTUP NOMOUNT創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)重建數(shù)據(jù)庫(kù)的控制文件v STARTUP MOUNT重命名數(shù)據(jù)文件添加、刪除或重命名重做日志文件改變數(shù)據(jù)庫(kù)的歸檔模式執(zhí)行數(shù)據(jù)庫(kù)完全恢復(fù)操作v S
32、TARTUP OPENv STARTUP FORCE無法使用SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION語句關(guān)閉數(shù)據(jù)庫(kù)實(shí)例在啟動(dòng)實(shí)例時(shí)出現(xiàn)無法恢復(fù)的錯(cuò)誤v STARTUP RESTRICT 執(zhí)行數(shù)據(jù)庫(kù)數(shù)據(jù)的導(dǎo)出或?qū)氩僮鲌?zhí)行數(shù)據(jù)裝載操作暫時(shí)阻止普通用戶連接數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)移植或升級(jí)操作vSTARTUP PFILE 默認(rèn)服務(wù)器端初始化參數(shù)文件 默認(rèn)文本文件 使用非默認(rèn)的服務(wù)器端初始化參數(shù)文件,由SPFILE指定關(guān)閉關(guān)閉Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)v數(shù)據(jù)庫(kù)關(guān)閉步驟數(shù)據(jù)庫(kù)關(guān)閉步驟 關(guān)閉數(shù)據(jù)庫(kù) (關(guān)閉數(shù)據(jù)文件與重做日志文件)卸載數(shù)據(jù)庫(kù) (關(guān)閉控制文件)關(guān)閉實(shí)例 (釋放內(nèi)存、關(guān)閉后臺(tái)進(jìn)程)在在SQL*Plus中關(guān)閉數(shù)據(jù)庫(kù)中關(guān)閉數(shù)據(jù)庫(kù) v關(guān)閉數(shù)據(jù)庫(kù)的基本步驟關(guān)閉數(shù)據(jù)庫(kù)的基本步驟 關(guān)閉數(shù)據(jù)庫(kù) 卸載數(shù)據(jù)庫(kù) 關(guān)閉實(shí)例v關(guān)閉數(shù)據(jù)庫(kù)的基本語法關(guān)閉數(shù)據(jù)庫(kù)的基本語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工承包合同協(xié)議書
- 二零二五年度智能硬件知識(shí)產(chǎn)權(quán)授權(quán)與保密合同
- 健身房整裝清包合同樣本
- 風(fēng)力發(fā)電葉片運(yùn)輸合同
- 二零二五年度辦公室門套定制與建筑節(jié)能改造合同
- 港口物流居間合同委托書
- 電子設(shè)備采購(gòu)合同
- 法院判決離婚協(xié)議書
- 醫(yī)療器械外包合同
- 設(shè)備維護(hù)管理作業(yè)指導(dǎo)書
- (2024年)肺栓塞的護(hù)理課件
- 小學(xué)數(shù)學(xué)三年級(jí)下冊(cè)第八單元《數(shù)學(xué)廣角-搭配(二)》大單元集體備課整體設(shè)計(jì)
- (高清版)TDT 1031.6-2011 土地復(fù)墾方案編制規(guī)程 第6部分:建設(shè)項(xiàng)目
- 2024年江蘇省高中學(xué)業(yè)水平測(cè)試生物試卷
- 露天采場(chǎng)危險(xiǎn)有害因素辨識(shí)
- 食品感官評(píng)價(jià)員培訓(xùn)方案
- 蘇教版一年級(jí)上、下冊(cè)勞動(dòng)與技術(shù)教案
- 柔性生產(chǎn)線技術(shù)及其影響
- 智研咨詢發(fā)布:2023年中國(guó)醫(yī)院后勤服務(wù)行業(yè)市場(chǎng)現(xiàn)狀、發(fā)展概況、未來前景分析報(bào)告
- 七上-動(dòng)點(diǎn)、動(dòng)角問題12道好題-解析
- 《企業(yè)所得稅法稅法》課件
評(píng)論
0/150
提交評(píng)論