資源描述:
《oracle基本概念的教案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、Oracle教案第一講主講內(nèi)容:Oracle系統(tǒng)結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)STRUCTURE(內(nèi)存結(jié)構(gòu))ORACLE數(shù)據(jù)庫(kù)的后臺(tái)進(jìn)程Oracle總體概括實(shí)例由以下組成:SGA,Shared?pool(共享池),Databasebuffercache(數(shù)據(jù)庫(kù)高速緩存),Redologbuffercache(重做日志緩沖區(qū)).ORACLESERVER由兩個(gè)部分組成:1.INSTANCE:由內(nèi)存結(jié)構(gòu)和后臺(tái)進(jìn)程2.DATABASE:由數(shù)據(jù)文件,日志文件和控制文件組成。廣告:下載源碼就到源碼網(wǎng),www.codpeub.comOracle系統(tǒng)結(jié)構(gòu)與其他數(shù)據(jù)庫(kù)產(chǎn)品不同,O
2、racle有其自己獨(dú)特的系統(tǒng)體系結(jié)構(gòu)。Oracle系統(tǒng)體系結(jié)構(gòu)是整個(gè)Oracle服務(wù)器系統(tǒng)的框架,是管理和應(yīng)用Oracle數(shù)據(jù)服務(wù)器的基礎(chǔ)和核心。Oracle系統(tǒng)體系結(jié)構(gòu)由三部分組成:邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和實(shí)例。其中,實(shí)例是維系物理結(jié)構(gòu)和邏輯結(jié)構(gòu)的核心。如圖所示:數(shù)據(jù)庫(kù)模式及其物理文件關(guān)系示意圖Oracle系統(tǒng)體系結(jié)構(gòu)與功能不論是Oracle的應(yīng)用開發(fā)還是數(shù)據(jù)庫(kù)管理都是以實(shí)例作為切入點(diǎn)的。只不過(guò)Oracle的應(yīng)用程序開發(fā)主要是以數(shù)據(jù)庫(kù)的邏輯對(duì)象為主(如表、索引和視圖等),而數(shù)據(jù)庫(kù)管理則是針對(duì)數(shù)據(jù)庫(kù)的全部?jī)?nèi)容。Oracle數(shù)據(jù)庫(kù)由構(gòu)成物理結(jié)構(gòu)的各種文件組成,如數(shù)據(jù)文件、控制文件和重做日志文件等;實(shí)
3、例是Oracle在內(nèi)存中分配的一段區(qū)域SGA和服務(wù)器后臺(tái)進(jìn)程的集合。Oracle數(shù)據(jù)庫(kù)服務(wù)器就是數(shù)據(jù)庫(kù)和實(shí)例的組合。一、控制文件(ControlFiles)控制文件(ControlFiles)是一個(gè)很小的二進(jìn)制文件,它用于描述數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。數(shù)據(jù)控制文件一般在安裝Oracle系統(tǒng)時(shí)自動(dòng)創(chuàng)建,并且其存放路徑由服務(wù)器參數(shù)文件SPFILEsid.ora的CONTROL_FILES參數(shù)值來(lái)確定。由于控制文件存放有數(shù)據(jù)文件和日志文件等信息,因此Oracle數(shù)據(jù)庫(kù)在啟動(dòng)時(shí),數(shù)據(jù)庫(kù)須訪問(wèn)控制文件。在數(shù)據(jù)庫(kù)的使用過(guò)程中,Oracle將不斷更新控制文件。如果由于某些原因?qū)е驴丶募粨p壞,那么數(shù)據(jù)庫(kù)也就不能
4、正常工作了。由于控制文件的重要性,因此一個(gè)數(shù)據(jù)庫(kù)至少應(yīng)該包含一個(gè)以上的控制文件,Oracle10g默認(rèn)包含了3個(gè)控制文件,每個(gè)控制文件都包含了相同的信息。這樣可確保在數(shù)據(jù)庫(kù)運(yùn)行時(shí),如果某個(gè)控制文件損壞,Oracle會(huì)自動(dòng)使用另一個(gè)控制文件,不致于因某個(gè)控制文件損壞而無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)。為了獲取控制文件的信息,可以通過(guò)查詢V$CONTROLFILE數(shù)據(jù)字典獲知。查詢數(shù)據(jù)字典V$CONTROLFILE獲取數(shù)據(jù)庫(kù)的控制文件信息。如下圖:Oracle-物理結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)由以下駐留在磁盤上的文件構(gòu)成:控制文件(Controlfiles)、數(shù)據(jù)文件(Datafiles)和重做日志文件(Redologs
5、),與數(shù)據(jù)關(guān)聯(lián)但不是數(shù)據(jù)構(gòu)成部分的文件有:passwordfile(口令文件)、ArchivedLog、OracleNet等??刂莆募暮缶Y是ctl。控制文件通常非常小,一般在1M在5M之間,可以修改參數(shù)文件中的參數(shù):controlfile_record_keep_time讓控制文件更大些。控制文件在Oracle數(shù)據(jù)庫(kù)管理系統(tǒng)中管理數(shù)據(jù)庫(kù)的狀態(tài),是Oracle數(shù)據(jù)庫(kù)中重為重要的一個(gè)文件,只有Oracle能向控制文件中寫入信息,只有Oracle服務(wù)器進(jìn)程在數(shù)據(jù)庫(kù)操作時(shí)能刷新控制文件。一個(gè)數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)時(shí),先找控制文件,然后由控制文件找到數(shù)據(jù)文件和日志文件,加載數(shù)據(jù)庫(kù)和打開數(shù)據(jù)庫(kù)。二、數(shù)據(jù)文件(D
6、atafiles)數(shù)據(jù)文件是存儲(chǔ)在磁盤上的插入到表中的數(shù)據(jù)。這些數(shù)據(jù)文件與數(shù)據(jù)庫(kù)中表的數(shù)據(jù)相關(guān)。查詢視圖v$datafile,如下圖:通過(guò)查詢視圖v$datafile可以看到數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件。它們是以dbf(Databasefile)為后綴。數(shù)據(jù)文件(DataFile)用于存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)的文件,如表中的記錄,索引,數(shù)據(jù)字典信息等都存儲(chǔ)于數(shù)據(jù)文件中。在存取數(shù)據(jù)時(shí),Oracle數(shù)據(jù)庫(kù)系統(tǒng)首先從數(shù)據(jù)文件中讀取數(shù)據(jù),并存儲(chǔ)在內(nèi)存中的數(shù)據(jù)緩沖區(qū)中。當(dāng)用戶查詢數(shù)據(jù)時(shí),如果所要查詢的數(shù)據(jù)不在數(shù)據(jù)緩沖區(qū)中,則這時(shí)Oracle數(shù)據(jù)庫(kù)進(jìn)行啟動(dòng)相應(yīng)的進(jìn)程從數(shù)據(jù)文件中讀取數(shù)據(jù),并保存到數(shù)據(jù)緩沖區(qū)中。當(dāng)用戶修改數(shù)據(jù)時(shí)
7、,用戶對(duì)數(shù)據(jù)的修改保存在數(shù)據(jù)緩沖區(qū)中,然后由Oracle的相應(yīng)后臺(tái)進(jìn)程將數(shù)據(jù)寫入到數(shù)據(jù)文件中。這樣的存取方式減少了磁盤的I/O操作,提高了系統(tǒng)的響應(yīng)性能。一個(gè)Oracle數(shù)據(jù)庫(kù)往往有多個(gè)數(shù)據(jù)文件。這里需要注意的是:當(dāng)向Oracle數(shù)據(jù)庫(kù)中某個(gè)表添加數(shù)據(jù)時(shí),輸入到表中的數(shù)據(jù)可能包含在一個(gè)數(shù)據(jù)文件中,也可能包含在多個(gè)數(shù)據(jù)文件中。換句說(shuō)話,當(dāng)在Oracle數(shù)據(jù)庫(kù)為中創(chuàng)建一個(gè)表時(shí),Oracle數(shù)據(jù)庫(kù)系統(tǒng)