Oracle數(shù)據(jù)庫開發(fā)實用教程第七章_第1頁
Oracle數(shù)據(jù)庫開發(fā)實用教程第七章_第2頁
Oracle數(shù)據(jù)庫開發(fā)實用教程第七章_第3頁
Oracle數(shù)據(jù)庫開發(fā)實用教程第七章_第4頁
Oracle數(shù)據(jù)庫開發(fā)實用教程第七章_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Oracle 11g實用教程第七章 Oracle實例組成與管理內(nèi)容概要內(nèi)容概要Oracle數(shù)據(jù)庫實例數(shù)據(jù)庫實例1Oracle數(shù)據(jù)庫的啟動和關閉數(shù)據(jù)庫的啟動和關閉2Oracle數(shù)據(jù)庫實例數(shù)據(jù)庫實例vOracle實例概述 vOracle內(nèi)存結(jié)構(gòu)vOracle后臺進程Oracle實例概述實例概述vOracle實例的概念實例的概念 Oracle數(shù)據(jù)庫主要由放在磁盤中的物理數(shù)據(jù)庫和對物理數(shù)據(jù)庫進行管理的數(shù)據(jù)庫管理系統(tǒng)構(gòu)成。 其中,數(shù)據(jù)庫管理系統(tǒng)是處于用戶與物理數(shù)據(jù)庫之間的一個中間層軟件,又稱為實例,由一系列內(nèi)存結(jié)構(gòu)和后臺進程組成。v在啟動數(shù)據(jù)庫時,在啟動數(shù)據(jù)庫時, Oracle首先,在內(nèi)存中獲取一定的空

2、間,啟動各種用途的后臺進程,即創(chuàng)建一個數(shù)據(jù)庫實例。 然后,由實例裝載數(shù)據(jù)文件和重做日志文件。 最后,打開數(shù)據(jù)庫。v用戶操作數(shù)據(jù)庫的過程用戶操作數(shù)據(jù)庫的過程實質(zhì)實質(zhì)上是上是與數(shù)據(jù)庫實例建與數(shù)據(jù)庫實例建立連接立連接,然后通過實例來連接、操作數(shù)據(jù)庫的過,然后通過實例來連接、操作數(shù)據(jù)庫的過程。程。v數(shù)據(jù)庫與實例的關系數(shù)據(jù)庫與實例的關系 單實例數(shù)據(jù)庫系統(tǒng) 多實例數(shù)據(jù)庫系統(tǒng)注意注意:同一時間同一時間一個用戶一個用戶只能與一個只能與一個實例聯(lián)系。實例聯(lián)系。v實例組成實例組成 內(nèi)存結(jié)構(gòu):系統(tǒng)全局區(qū)(SGA)和程序全局區(qū)(PGA) 后臺進程組成 實例實例SGA日志緩存日志緩存共享池共享池數(shù)據(jù)字典數(shù)據(jù)字典緩沖區(qū)緩

3、沖區(qū)庫緩沖區(qū)庫緩沖區(qū)DBWRSMONPMONCKPTLGWROthers用戶進程用戶進程服務器進程服務器進程PGA控制文件控制文件數(shù)據(jù)文數(shù)據(jù)文件件 歸檔日志歸檔日志文件文件參數(shù)文件參數(shù)文件口令文件口令文件重做日志重做日志文件文件物理數(shù)據(jù)庫物理數(shù)據(jù)庫數(shù)據(jù)庫緩存數(shù)據(jù)庫緩存OracleOracle數(shù)據(jù)庫數(shù)據(jù)庫Oracle內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu) 內(nèi)存內(nèi)存是是Oracle數(shù)據(jù)庫重要的信息緩存和共享數(shù)據(jù)庫重要的信息緩存和共享區(qū)域,主要存儲區(qū)域,主要存儲執(zhí)行的程序代碼執(zhí)行的程序代碼、連接會話信息連接會話信息以及程序執(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),包含一個數(shù)據(jù)庫實例共享的數(shù)據(jù)和控制信息。當多個用戶同時連接同一個實例時,SGA數(shù)據(jù)可供多個用戶共享,SGA又稱為共享全局區(qū)(Shared Global Area)。 用戶對數(shù)據(jù)庫的各種操作主要在SGA中進行。該內(nèi)存區(qū)隨數(shù)據(jù)庫實例的創(chuàng)建而分配,隨實例的終止而釋放。 v PGA PGA是在用戶進程連接數(shù)據(jù)庫、創(chuàng)建一個會話時,由Oracle為用戶分配的內(nèi)存區(qū)域,保存當前用戶私有的數(shù)據(jù)和控制信息,因此該區(qū)又稱為私有全局區(qū)(Priv

5、ate Global Area)。 每個服務器進程只能訪問自己的PGA,所有服務器進程的PGA總和即為實例的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 功能功能存儲最近從數(shù)據(jù)文件中檢索出來的數(shù)據(jù)拷貝,供所有用戶共享。存儲在數(shù)據(jù)緩沖區(qū)中被修改后的數(shù)據(jù),然后由數(shù)據(jù)

6、寫入進程(DBWR)寫到硬盤的數(shù)據(jù)文件中永久保存。提高獲取和更新數(shù)據(jù)的性能。v數(shù)據(jù)高速緩沖區(qū)的工作過程數(shù)據(jù)高速緩沖區(qū)的工作過程v數(shù)據(jù)高速緩沖區(qū)由許多數(shù)據(jù)高速緩沖區(qū)由許多大小相等的大小相等的緩存塊組成。緩存塊組成。處理、存儲處理、存儲v 緩沖塊的類型緩沖塊的類型臟緩存塊(Dirty Buffers)保存的是已經(jīng)被修改過的數(shù)據(jù)。當一條SQL語句對某個緩存塊中的數(shù)據(jù)進行修改后,這個緩存塊就被標記為臟緩存塊。它們最終將由DBWR進程寫入數(shù)據(jù)文件,以永久性地保存修改結(jié)果。 空閑緩存塊(Free Buffers)不包含任何數(shù)據(jù),它們等待后臺進程或服務器進程向其中寫入數(shù)據(jù)。當Oracle從數(shù)據(jù)文件中讀取數(shù)據(jù)

7、時,將會尋找空閑緩存塊,以便將數(shù)據(jù)寫入其中。命中緩存塊(Pinned Buffers)正被使用,或者被顯式地聲明為保留的緩存塊。這些緩存塊始終保留在數(shù)據(jù)高速緩沖區(qū)中,不會被換出內(nèi)存。 v緩存塊的管理緩存塊的管理 臟緩存塊列表:包含那些已經(jīng)被修改但還沒有寫入數(shù)據(jù)文件的臟緩存塊。 LRU列表(Least Recently Used):包含 所有的空閑緩存塊 命中緩存塊 那些還沒有來得及移入到臟緩存塊列表中的臟緩存塊。 說明:在該列表中,最近被訪問的緩存塊被移動到列表的頭部,而其他緩存塊向列表尾部移動,最近最少被訪問的緩存塊最先被移出LRU列表,從而保證最頻繁使用的緩存塊始終保存在內(nèi)存中。v數(shù)據(jù)高速

8、緩沖區(qū)大小數(shù)據(jù)高速緩沖區(qū)大小 數(shù)據(jù)高速緩沖區(qū)越大,緩存命中率越高,從而減少了Oracle訪問硬盤數(shù)據(jù)的次數(shù),提高了數(shù)據(jù)庫系統(tǒng)執(zhí)行的效率。然而,如果數(shù)據(jù)高速緩沖區(qū)的值太大,Oracle就不得不在內(nèi)存中尋找更多的塊來定位所需要的數(shù)據(jù),反而降低了系統(tǒng)性能。顯然,需要確定一個合理的數(shù)據(jù)高速緩沖區(qū)大小。 通過查詢動態(tài)性能視圖V$SGA_DYNAMIC_COMPONETS查看數(shù)據(jù)高速緩沖區(qū)的構(gòu)成情況。 使用ALTER SYSTEM語句動態(tài)修改參數(shù)DB_CACHE_SIZE(標準塊),從而調(diào)整數(shù)據(jù)高速緩沖區(qū)的大小。(2)重做日志緩沖區(qū))重做日志緩沖區(qū)v功能功能 用于緩存用戶對數(shù)據(jù)庫進行修改操作時生成的重做記

9、錄。 為了提高工作效率,重做記錄并不是直接寫入重做日志文件中,而是首先被服務器進程寫入重做日志緩沖區(qū)中,在一定條件下,再由日志寫入進程(LGWR)把重做日志緩沖區(qū)的內(nèi)容寫入重做日志文件中做永久性保存。在歸檔模式下,當重做日志切換時,由歸檔進程(ARCH)將重做日志文件的內(nèi)容寫入歸檔文件中。 v重做日志緩沖區(qū)的工作過程重做日志緩沖區(qū)的工作過程 說明說明:重做日志緩沖區(qū)是一個:重做日志緩沖區(qū)是一個循環(huán)緩沖區(qū)循環(huán)緩沖區(qū),在使用時從頂端向底端寫入數(shù),在使用時從頂端向底端寫入數(shù) 據(jù),然后返回到緩沖區(qū)的起始點循環(huán)寫入。據(jù),然后返回到緩沖區(qū)的起始點循環(huán)寫入。重做記錄重做記錄v重做日志緩沖區(qū)的大小重做日志緩沖

10、區(qū)的大小 較大的重做日志緩沖區(qū),可以減少對重做日志文件寫的次數(shù),適合長時間運行的、產(chǎn)生大量重做記錄的事務。 使用ALTER SYSTEM語句動態(tài)修改參數(shù)LOG_BUFFER,以調(diào)整緩沖區(qū)大小。()共享池()共享池v功能功能 用于緩存最近執(zhí)行過的SQL語句、PL/SQL程序和數(shù)據(jù)字典信息,是對SQL語句、PL/SQL程序進行語法分析、編譯、執(zhí)行的區(qū)域。v組成組成 庫緩存 用于緩存已經(jīng)解釋并執(zhí)行過的SQL語句和PL/SQL程序代碼,以提高SQL或PL/SQL程序的執(zhí)行效率。 包括SQL工作區(qū)和PL/SQL工作區(qū)共享共享SQL區(qū):存放區(qū):存放SQL語句分析結(jié)果和執(zhí)行計劃。語句分析結(jié)果和執(zhí)行計劃。私有

11、私有SQL區(qū):包括綁定變量、環(huán)境和會話參數(shù)等。區(qū):包括綁定變量、環(huán)境和會話參數(shù)等。 數(shù)據(jù)字典緩存區(qū) 保存最常用的數(shù)據(jù)字典信息。v共享池大小共享池大小 由SHARED_POOL_SIZE參數(shù)指定。 合適的共享池大小,可使編譯過的程序代碼長駐內(nèi)存,大大降低重復執(zhí)行相同的SQL語句、PL/SQL程序的系統(tǒng)開銷,從而提高數(shù)據(jù)庫的性能。 ()大型池()大型池 v功能功能 大型池是一個可選的內(nèi)存配置項,主要為Oracle多線程服務器、服務器I/O進程、數(shù)據(jù)庫備份與恢復操作、執(zhí)行具有大量排序操作的SQL語句、執(zhí)行并行化的數(shù)據(jù)庫操作等需要大量緩存的操作提供內(nèi)存空間。 如果沒有在SGA區(qū)中創(chuàng)建大型池,上述操作所

12、需要的緩存空間將在共享池或PGA中分配,因而影響共享池或PGA的使用效率。v大型池大小大型池大小 LARGE_POOL_SIZE()()Java池池 v功能功能 Java提供對Java程序設計的支持,用于存儲Java代碼、Java語句的語法分析表、Java語句的執(zhí)行方案和進行Java程序開發(fā)。vJava池大小池大小 JAVA_POOL_SIZE 通常不小于20M,以便安裝Java虛擬機 (6)流池)流池 v功能功能 流池是一個可選的內(nèi)存配置項,用于對流的支持。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不能修改不能修改外,外, 其他幾個參數(shù)可以使用其他幾個參數(shù)可以使用 ALTER SYSTEMALTER SYSTEM語句進行動態(tài)調(diào)整。語句進行動態(tài)調(diào)整。SQL SELECT * FROM V$SGAINFO; vSGA自動管理自動管理 通過設置初始化參數(shù)SGA_TARGET,可以實現(xiàn)對SGA

14、中的數(shù)據(jù)高速緩沖區(qū)、共享池、大型池、Java池和流池的自動管理,即這幾個組件的內(nèi)存調(diào)整不需要DBA來干預,系統(tǒng)自動進行調(diào)整。 但是對于日志緩沖區(qū)、非標準塊的數(shù)據(jù)高速緩沖區(qū)、保留池、回收池等其他區(qū)域的調(diào)整還需要DBA使用ALTER SYSTEM語句手動進行調(diào)整。v設置設置SGA自動管理的自動管理的方法方法 計算參數(shù)SGA_TARGET的大小: 設置參數(shù)SGA_TARGET 通過ALTER SYSTEM語句設置參數(shù)SGA_TARGET的值,該值可以是上一步計算出來的結(jié)果,也可以是當前SGA大小與SGA_MAX_SIZE之間的某個值。 將SGA中與自動管理相關的組件大小設置為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如果要取消自動管理,只需將參數(shù)如果要取消自動管理,只需將參數(shù)SGA_TARGETSGA_TARGET設設置為置為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是為每一個與Oracle數(shù)據(jù)庫連接的用戶保留的內(nèi)存區(qū),主要存儲該連接使用的變量信息和與用戶進程交換的信息。是非共享的,只有服務進程本身才能訪問它自己的PGA區(qū)。v組成組成 由排序區(qū)、會話區(qū)、游標區(qū)以及堆棧區(qū)組成 排序區(qū)主要用于存放排序操作所產(chǎn)生的臨時數(shù)據(jù),其大小由初始化參數(shù)SORT_AREA_SIZE定義;會話區(qū)用于保存用戶會話所具有的權(quán)限、角色、性能統(tǒng)計信息;游標區(qū)用于存放執(zhí)行游標操作時所產(chǎn)生的

17、數(shù)據(jù);堆棧區(qū)用于保存會話過程中的綁定變量、會話變量等信息。Oracle進程概述進程概述v進程的概念進程的概念 進程:是操作系統(tǒng)中一個獨立的可以調(diào)度的活動,用于完成指定的任務。 進程與程序的區(qū)別在于: 進程是動態(tài)的概念,即動態(tài)創(chuàng)建,完成任務后立即消亡;而程序是一個靜態(tài)實體。 進程強調(diào)執(zhí)行過程,而程序僅僅是指令的有序集合v進程的類型進程的類型 用戶進程 服務器進程 后臺進程 v用戶進程用戶進程 當用戶連接數(shù)據(jù)庫執(zhí)行一個應用程序時,會創(chuàng)建一個用戶進程,來完成用戶所指定的任務。 v服務器進程服務器進程 服務器進程由Oracle自身創(chuàng)建,用于處理連接到數(shù)據(jù)庫實例的用戶進程所提出的請求。用戶進程只有通過服

18、務器進程才能實現(xiàn)對數(shù)據(jù)庫的訪問和操作。 服務器進程分為專用服務器進程和共享服務器進程兩種。只能為一個只能為一個用戶進程用戶進程提供服務,即提供服務,即一對一一對一服務。服務??梢詾槎鄠€可以為多個用戶進程用戶進程提供服務,即提供服務,即一對多一對多服務。服務。 服務器進程主要完成以下任務: 解析并執(zhí)行用戶提交的SQL語句和PL/SQL程序; 在SGA的數(shù)據(jù)高速緩沖區(qū)中搜索用戶進程所要訪問的數(shù)據(jù),如果數(shù)據(jù)不在緩沖區(qū)中,則需要從硬盤數(shù)據(jù)文件中讀取所需的數(shù)據(jù),再將它們復制到緩沖區(qū)中; 將用戶改變數(shù)據(jù)庫的操作信息寫入日志緩沖區(qū)中。 將查詢或執(zhí)行后的結(jié)果數(shù)據(jù)返回給用戶進程。v后臺進程后臺進程 作用 為了保

19、證Oracle數(shù)據(jù)庫在任意一個時刻可以處理多用戶的并發(fā)請求,進行復雜的數(shù)據(jù)操作,而且還要優(yōu)化系統(tǒng)性能,Oracle數(shù)據(jù)庫起用了一些相互獨立的附加進程,稱為后臺進程。服務器進程在執(zhí)行用戶進程請求時,調(diào)用后臺進程來實現(xiàn)對數(shù)據(jù)庫的操作。 主要完成以下任務: 在內(nèi)存與磁盤之間進行I/O操作; 監(jiān)視各個服務器進程狀態(tài); 協(xié)調(diào)各個服務器進程的任務; 維護系統(tǒng)性能和可靠性等。 Oracle后臺進程后臺進程vDBWR 數(shù)據(jù)庫寫入進程數(shù)據(jù)庫寫入進程vLGWR 日志寫入進程日志寫入進程vCKPT 檢查點進程檢查點進程vSMON 系統(tǒng)監(jiān)控進程系統(tǒng)監(jiān)控進程vPMON 進程監(jiān)控進程進程監(jiān)控進程vARCn 歸檔進程歸檔進

20、程vRECO 恢復進程恢復進程vLCKn 封鎖進程封鎖進程vDnnn 調(diào)度進程調(diào)度進程vSnnn 共享服務器進程共享服務器進程(1)DBWR(數(shù)據(jù)庫寫入進程)(數(shù)據(jù)庫寫入進程)n 功能:功能: 數(shù)據(jù)庫寫入進程負責把數(shù)據(jù)數(shù)據(jù)庫寫入進程負責把數(shù)據(jù)高速緩沖區(qū)中已經(jīng)被修改過高速緩沖區(qū)中已經(jīng)被修改過的數(shù)據(jù)(的數(shù)據(jù)(“臟臟”緩存塊)成緩存塊)成批寫入數(shù)據(jù)文件中永久保存批寫入數(shù)據(jù)文件中永久保存,同時使數(shù)據(jù)高速緩沖區(qū)有,同時使數(shù)據(jù)高速緩沖區(qū)有更多的空閑緩存塊,保證服更多的空閑緩存塊,保證服務器進程將所需要的數(shù)據(jù)從務器進程將所需要的數(shù)據(jù)從數(shù)據(jù)文件讀取到數(shù)據(jù)高速緩數(shù)據(jù)文件讀取到數(shù)據(jù)高速緩沖區(qū)中,提高緩存命中率。沖

21、區(qū)中,提高緩存命中率。InstanceSGADatabaseBufferCacheDBWnControl filesData files Redo log filesDatabasev啟動啟動DBWR進程的進程的條件條件: 執(zhí)行INSERT、UPDATE等操作時, 沒有足夠的空閑塊 當檢查點發(fā)生時,將啟動DBWR進程 當數(shù)據(jù)緩存的LRU列表的長度達到初始化 DB_BLOCK_WRITE_BATCH指定值的一半時 若發(fā)生超時(大約3秒未被啟動) 注意注意:DBWRDBWR進程進程啟動的時間啟動的時間與用戶與用戶提交事務的時間提交事務的時間完全完全無關無關。LGWR(日志寫入進程)(日志寫入進程)

22、v功能功能 日志寫入進程負責把重做日志緩沖區(qū)的數(shù)據(jù)寫入重做日志文件中永久保存。 數(shù)據(jù)寫入進程在工作之前,需要了解日志寫入進程是否已經(jīng)把相關的日志緩沖區(qū)中記載的數(shù)據(jù)寫入硬盤中,如果相關的日志緩沖區(qū)中的記錄還沒有被寫入,DBWR會通知LGWR完成相應的工作,然后DBWR才開始寫入。InstanceSGADBWnRedo LogBufferControl filesData files Redo log filesLGWRDatabasev啟動啟動LGWR進程的進程的條件條件: 用戶通過COMMIT語句提交當前事務 重做日志緩存被寫滿三分之一 DBWR進程開始將臟緩存塊寫入數(shù)據(jù)文件 每隔3秒,即發(fā)生

23、一次超時,將啟動LGWR v事務提交機制事務提交機制 快速提交:用戶提交COMMIT語句,提交記錄和重做信息都被寫入重做日志文件中。 組提交:一次性將重做日志緩沖區(qū)的重做記錄寫入從左日志文件,不管事務是否提交。 CKPT(檢查點進程)(檢查點進程)v檢查點概念檢查點概念 檢查點檢查點是一個是一個事件事件,當該事件發(fā)生時,當該事件發(fā)生時(每隔一段時間發(fā)每隔一段時間發(fā)生生),DBWR進程進程把數(shù)據(jù)高速緩沖區(qū)把數(shù)據(jù)高速緩沖區(qū)中臟緩存塊寫入數(shù)中臟緩存塊寫入數(shù)據(jù)文件中,同時據(jù)文件中,同時Oracle將對數(shù)據(jù)庫將對數(shù)據(jù)庫控制文件和數(shù)據(jù)文控制文件和數(shù)據(jù)文件的頭部的同步序件的頭部的同步序號進行更新,以記號進行

24、更新,以記錄下當前的數(shù)據(jù)庫錄下當前的數(shù)據(jù)庫結(jié)構(gòu)和狀態(tài),保證結(jié)構(gòu)和狀態(tài),保證數(shù)據(jù)的同步。數(shù)據(jù)的同步。InstanceSGADWW0Redo LogBufferLGWRInstanceSGADBWnLGWRCKPTControl filesData files Redo log filesvCKPT進程的進程的作用作用 更新控制文件與數(shù)據(jù)文件的頭部,使其同步; 觸發(fā)DBWR進程,將臟緩存塊寫入數(shù)據(jù)文件。v檢查點的檢查點的級別級別 數(shù)據(jù)庫檢查點:每一次日志切換時,執(zhí)行一個數(shù)據(jù)庫檢查點,DBWR進程將數(shù)據(jù)高速緩沖區(qū)中的臟緩存塊寫入數(shù)據(jù)文件中; 表空間檢查點:當一個表空間設置為脫機狀態(tài)時,執(zhí)行一個表空間

25、檢查點,DBWR進程把數(shù)據(jù)高速緩存中與該表空間相關的臟緩存塊寫入數(shù)據(jù)文件中。 時間檢查點:可以設置以時間為基礎的檢查點,每隔一段時間執(zhí)行一次檢查點。需要為檢查點設置一個合適的執(zhí)行間隔,間隔太短,將會產(chǎn)生過多的硬盤I/O操作;間隔太長,數(shù)據(jù)庫的恢復將耗費太多時間。 v檢查點事件的檢查點事件的觸發(fā)觸發(fā) 每一個日志切換時 當實例以如下方式關閉時 NORMAL、TRANSACTION、IMMEDIATE 當使用 ALTER TABLESPACE OFFLINE NORMAL|READ ONLY|BEGIN BACKUP ,作用于某個數(shù)據(jù)文件上的檢查點發(fā)生時 設置以時間為基礎的檢查點事件 當數(shù)據(jù)庫管理員

26、需要手工操作時 ALTER SYSTEM CHECKPOINTSMON(系統(tǒng)監(jiān)控進程)(系統(tǒng)監(jiān)控進程)v功能功能 在實例啟動時負責對數(shù)據(jù)庫進行恢復; 回收不再使用的臨時空間。 將各個表空間的空閑碎片合并(表空間的存儲參數(shù)PCTINCREASE不為0時)。InstanceSGASMONControl filesData files Redo log filesInstanceSGASMONDatabasePMON(進程監(jiān)控進程)(進程監(jiān)控進程)v功能功能 負責恢復失敗的用戶進程或服務器進程,并且釋放進程所占用的資源; 清除非正常中斷的用戶進程留下的孤兒會話,回退未提交的事務,釋放會話所占用的鎖、

27、SGA、PGA等資源; 監(jiān)控調(diào)度進程和服務器進程的狀態(tài),如果它們失敗,則嘗試重新啟動它們,并釋放它們所占用的各種資源。InstanceSGAPMONPGA areaARCn(歸檔進程)(歸檔進程)v功能功能 歸檔進程負責在日志切換后將已經(jīng)寫滿的重做日志文件復制到歸檔目標中,防止寫滿的重做日志文件被覆蓋。v最多可啟動最多可啟動10個歸檔進程個歸檔進程(ARC0 ARC9)RECO(恢復進程)(恢復進程)v功能功能 RECO進程負責在分布式數(shù)據(jù)庫環(huán)境中自動解決分布式事務的故障。一個節(jié)點的RECO自動解決所有的懸而未決的事務。當一個數(shù)據(jù)庫服務器的RECO后臺進程試圖建立同一遠程服務器的通信,如果該遠

28、程服務器不可用或者網(wǎng)絡連接不能建立時,RECO自動地在一個時間間隔之后再次連接。當且僅當數(shù)據(jù)庫配置為分布式事務處理,且初始化參數(shù)DISTRIBUTED_TRANSACTIONS的值大于0時,RECO進程才會自動啟動。 LCKn(鎖進程)(鎖進程)v功能功能 LCKn進程用于Oracle并行服務器環(huán)境中。在數(shù)據(jù)庫中最多可以啟動10個LCKn進程,主要用于實例間的封鎖。Dnnn(調(diào)度進程)(調(diào)度進程)v功能功能 Dnnn進程是多線程服務器(Multithreaded Server,MTS)的組成部分,以后臺進程的形式運行。調(diào)度進程接受用戶進程請求,將它們放入請求隊列中,然后為請求隊列中的用戶進程分

29、配一個服務器進程。最后,從響應隊列返回數(shù)據(jù)給用戶進程。 SGA(System Global Area)共享共享SQL區(qū)區(qū)共享池共享池數(shù)據(jù)庫緩沖存儲區(qū)數(shù)據(jù)庫緩沖存儲區(qū)日志緩沖區(qū)日志緩沖區(qū)數(shù)據(jù)字典數(shù)據(jù)字典Server ProcessUser ProcessDBWRPMONCKPTLGWRSMONARCHDatafilesControl FilesRedo Log Files歸檔Oracle數(shù)據(jù)庫的啟動和關閉數(shù)據(jù)庫的啟動和關閉v數(shù)據(jù)庫的啟動數(shù)據(jù)庫的啟動v數(shù)據(jù)庫的關閉數(shù)據(jù)庫的關閉v數(shù)據(jù)庫的狀態(tài)轉(zhuǎn)換數(shù)據(jù)庫的狀態(tài)轉(zhuǎn)換Oracle數(shù)據(jù)庫的啟動數(shù)據(jù)庫的啟動v數(shù)據(jù)庫啟動步驟數(shù)據(jù)庫啟動步驟創(chuàng)建并啟動實例 (初始化

30、參數(shù)文件)裝載數(shù)據(jù)庫 (控制文件)打開數(shù)據(jù)庫 (數(shù)據(jù)文件與重做日志文件)數(shù)據(jù)庫啟動的準備數(shù)據(jù)庫啟動的準備v啟動數(shù)據(jù)庫前,要先啟動數(shù)據(jù)庫前,要先啟動數(shù)據(jù)庫服務器的監(jiān)聽服啟動數(shù)據(jù)庫服務器的監(jiān)聽服務以及數(shù)據(jù)庫服務務以及數(shù)據(jù)庫服務v以命令行的方式啟動和關閉監(jiān)聽程序以命令行的方式啟動和關閉監(jiān)聽程序 打開監(jiān)聽程序 C:LSNRCTL START 以SYSDBA或SYSOPER身份連接到Oracle C:SQLPLUS /NOLOG CONNECT sys/sys ORCL AS SYSDBA v在在Windows系統(tǒng)中啟動和關閉監(jiān)聽程序系統(tǒng)中啟動和關閉監(jiān)聽程序在在SQL*Plus中啟動數(shù)據(jù)庫中啟動數(shù)據(jù)庫v

31、 數(shù)據(jù)庫啟動的三種模式數(shù)據(jù)庫啟動的三種模式 v 啟動數(shù)據(jù)庫的基本語法啟動數(shù)據(jù)庫的基本語法 STARTUP NOMOUNT|MOUNT|OPEN|FORCERESTRICT PFILE=filename 啟 動 模 式說 明NOMOUNT 創(chuàng)建并啟動數(shù)據(jù)庫實例,對應數(shù)據(jù)庫啟動的第一個步驟MOUNT啟動實例并裝載數(shù)據(jù)庫,對應數(shù)據(jù)庫啟動的第二個步驟OPEN啟動實例、裝載并打開數(shù)據(jù)庫,對應數(shù)據(jù)庫啟動的第三個步驟v STARTUP NOMOUNT創(chuàng)建一個新的數(shù)據(jù)庫重建數(shù)據(jù)庫的控制文件v STARTUP MOUNT重命名數(shù)據(jù)文件添加、刪除或重命名重做日志文件改變數(shù)據(jù)庫的歸檔模式執(zhí)行數(shù)據(jù)庫完全恢復操作v S

32、TARTUP OPENv STARTUP FORCE無法使用SHUTDOWN NORMAL,SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTION語句關閉數(shù)據(jù)庫實例在啟動實例時出現(xiàn)無法恢復的錯誤v STARTUP RESTRICT 執(zhí)行數(shù)據(jù)庫數(shù)據(jù)的導出或?qū)氩僮鲌?zhí)行數(shù)據(jù)裝載操作暫時阻止普通用戶連接數(shù)據(jù)庫進行數(shù)據(jù)庫移植或升級操作vSTARTUP PFILE 默認服務器端初始化參數(shù)文件 默認文本文件 使用非默認的服務器端初始化參數(shù)文件,由SPFILE指定關閉關閉Oracle數(shù)據(jù)庫數(shù)據(jù)庫v數(shù)據(jù)庫關閉步驟數(shù)據(jù)庫關閉步驟 關閉數(shù)據(jù)庫 (關閉數(shù)據(jù)文件與重做日志文件)卸載數(shù)據(jù)庫 (關閉控制文件)關閉實例 (釋放內(nèi)存、關閉后臺進程)在在SQL*Plus中關閉數(shù)據(jù)庫中關閉數(shù)據(jù)庫 v關閉數(shù)據(jù)庫的基本步驟關閉數(shù)據(jù)庫的基本步驟 關閉數(shù)據(jù)庫 卸載數(shù)據(jù)庫 關閉實例v關閉數(shù)據(jù)庫的基本語法關閉數(shù)據(jù)庫的基本語

溫馨提示

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

評論

0/150

提交評論