Oracle9i體系結(jié)構(gòu)第二章_第1頁
Oracle9i體系結(jié)構(gòu)第二章_第2頁
Oracle9i體系結(jié)構(gòu)第二章_第3頁
Oracle9i體系結(jié)構(gòu)第二章_第4頁
Oracle9i體系結(jié)構(gòu)第二章_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Oracle9i體系結(jié)構(gòu)第二章第2講Oracle9i體系結(jié)構(gòu)提問回顧數(shù)據(jù)模型的三要素中哪一個(gè)要素用于描述數(shù)據(jù)模型的動(dòng)態(tài)特征?說出數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)的區(qū)別。Oracle9i數(shù)據(jù)庫能不能在Linux平臺(tái)上運(yùn)行?SQLServer2000能不能?Oracle9i的產(chǎn)品組成由幾部分構(gòu)成?引入從邏輯和物理的角度考慮,Oracle的組成如何?Oracle數(shù)據(jù)庫如何保證成千上萬用戶的高性能并發(fā)訪問?使用Oracle數(shù)據(jù)庫如何構(gòu)建數(shù)據(jù)庫應(yīng)用程序?本節(jié)課要講解的內(nèi)容Oracle9i的邏輯結(jié)構(gòu):表空間、段、區(qū)間、數(shù)據(jù)塊、表、其他邏輯對(duì)象。Oracle9i的物理結(jié)構(gòu):數(shù)據(jù)文件、控制文件、日志文件、初始化參數(shù)文件、其他文件。Oracle9i的總體結(jié)構(gòu):內(nèi)存結(jié)構(gòu)、后臺(tái)進(jìn)程、Oracle例程。Oracle9i的應(yīng)用架構(gòu):多磁盤結(jié)構(gòu)、磁盤映像結(jié)構(gòu)、客戶/服務(wù)器系統(tǒng)、共享服務(wù)器系統(tǒng)、并行數(shù)據(jù)庫系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)。Oracle9i數(shù)據(jù)庫的邏輯結(jié)構(gòu)表空間(TableSpace)表空間是Oracle數(shù)據(jù)庫中數(shù)據(jù)的邏輯組織單位,通過表空間來組織數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)庫邏輯上由一個(gè)或多個(gè)表空間組成,表空間物理上是由一個(gè)或多個(gè)數(shù)據(jù)文件組成。通過使用表空間,Oracle可以有效的控制數(shù)據(jù)庫所占用的磁盤空間,并控制數(shù)據(jù)庫用戶的空間配額。如果一個(gè)用戶的表空間空間不夠用時(shí),可以通過添加數(shù)據(jù)文件來增加空間配額。Oracle通過將表空間的聯(lián)機(jī)或脫機(jī)來控制數(shù)據(jù)庫數(shù)據(jù)的可用性,即一個(gè)表空間有兩種狀態(tài):聯(lián)機(jī)和脫機(jī)。默認(rèn)表空間表空間名稱說明CWMLITE用于聯(lián)機(jī)分析處理(OLAP)DRSYS用于存放與工作空間設(shè)置有關(guān)的信息EXAMPLE用于存放例程(Instance)信息INDEX用于存放數(shù)據(jù)庫中的索引信息SYSTEM是每個(gè)Oracle數(shù)據(jù)庫都必須具備的部分TEMP用于存儲(chǔ)臨時(shí)表TOOLS用于存放數(shù)據(jù)庫工具軟件所需的數(shù)據(jù)庫對(duì)象UNDOTBS用于保存回滾段(RollbackSegment)為RBSUSERS用于存放用戶私有信息DatafileSegmentBlocksExtentSegmentDatafileSegmentBlocksExtentSegment表空間表空間/文件/段/區(qū)間/數(shù)據(jù)塊的示意圖段(Segment)

、區(qū)間(Extent)和數(shù)據(jù)塊段:數(shù)據(jù)段、索引段、臨時(shí)段和回滾段。段由若干個(gè)區(qū)間組成。區(qū)間:由連續(xù)分配的相鄰數(shù)據(jù)塊組成。數(shù)據(jù)塊:是數(shù)據(jù)庫中最小的、最基本的存儲(chǔ)單位。表(Table)及其他邏輯對(duì)象表是用于存放數(shù)據(jù)的數(shù)據(jù)庫對(duì)象。按照功能的不同,表分為系統(tǒng)表和用戶表。系統(tǒng)表又稱數(shù)據(jù)字典,用于存儲(chǔ)管理用戶數(shù)據(jù)和數(shù)據(jù)庫本身的數(shù)據(jù),記錄數(shù)據(jù)、口令、數(shù)據(jù)文件的位置等;用戶表就是用于存放用戶的數(shù)據(jù)。除了表之外,Orac1e9i數(shù)據(jù)庫提供了其他邏輯對(duì)象(LogicObject),如高級(jí)隊(duì)列、數(shù)組、過程和函數(shù)、包、觸發(fā)器等。Oracle9i數(shù)據(jù)庫的物理結(jié)構(gòu)物理上,Oracle9i數(shù)據(jù)庫由各種物理文件組成,每個(gè)物理文件又由若干個(gè)Oracle塊組成。物理文件是構(gòu)成Oracle9i數(shù)據(jù)庫的基礎(chǔ)。Oracle9i數(shù)據(jù)庫的物理文件主要有以下幾種:(1)數(shù)據(jù)文件(Datafile);(2)控制文件(Controlfile);(3)日志文件(Redofile);(4)初始化參數(shù)文件(Parameterfile);(5)其他Oracle物理文件。各種物理文件關(guān)系圖數(shù)據(jù)文件數(shù)據(jù)文件就是用來存放數(shù)據(jù)庫數(shù)據(jù)的物理文件,文件后綴“.DBF”。數(shù)據(jù)文件存放的主要內(nèi)容如下:(1)表中的數(shù)據(jù);(2)索引數(shù)據(jù);(3)數(shù)據(jù)字典定義;(4)回滾事務(wù)所需信息;(5)存儲(chǔ)過程、函數(shù)和數(shù)據(jù)包的代碼;(6)用來排序的臨時(shí)數(shù)據(jù)??刂莆募刂莆募糜谟涗浐途S護(hù)整個(gè)數(shù)據(jù)庫的全局物理結(jié)構(gòu),它是一個(gè)二進(jìn)制文件,文件后綴為“.CTL”??刂莆募娣帕伺cOracle9i數(shù)據(jù)庫物理文件有關(guān)的關(guān)鍵控制信息,如數(shù)據(jù)庫名和創(chuàng)建時(shí)間,物理文件名、大小及存放位置等信息。控制文件在創(chuàng)建數(shù)據(jù)庫時(shí)生成,以后當(dāng)數(shù)據(jù)庫發(fā)生任何物理變化都將被自動(dòng)更新。每個(gè)數(shù)據(jù)庫包含通常兩個(gè)或多個(gè)控制文件。這幾個(gè)控制文件的內(nèi)容上保持一致。日志文件日志文件用于記錄對(duì)數(shù)據(jù)庫進(jìn)行的修改操作和事務(wù)操作,文件后綴為“.LOG”。每個(gè)數(shù)據(jù)庫至少包含兩個(gè)重做日志組,這兩個(gè)日志組是循環(huán)使用的。日志寫入進(jìn)程(LGWR)會(huì)將數(shù)據(jù)庫發(fā)生的變化寫入到日志組一,當(dāng)日志組一寫滿后,即產(chǎn)生日志切換,LGWR會(huì)將數(shù)據(jù)庫發(fā)生的變化寫入到日志組二,當(dāng)日志組二也寫滿后,產(chǎn)生日志切換,LGWR會(huì)將數(shù)據(jù)庫發(fā)生的變化再寫入日志組一,依次類推。日志文件分為聯(lián)機(jī)重做日志文件和歸檔日志文件。歸檔日志,是當(dāng)前非活動(dòng)重做日志的備份,可以使用歸檔日志進(jìn)行恢復(fù)。日志文件的模式歸檔模式Archivclog、非歸檔模式NoArchivelog歸檔模式,將保留所有的重做日志內(nèi)容。這樣數(shù)據(jù)庫可以從所有類型的失敗中恢復(fù),是最安全的數(shù)據(jù)庫工作方式。對(duì)于非常重要的Oraclc9i數(shù)據(jù)庫應(yīng)用,比如銀行系統(tǒng)等,必須采用歸檔模式。非歸檔模式,不保留以前的重做日志內(nèi)容,適合于對(duì)數(shù)據(jù)庫中數(shù)據(jù)要求不高的場合。初始化參數(shù)文件初始化參數(shù)文件INIT.ORA是一個(gè)文本文件,定義了要啟動(dòng)的數(shù)據(jù)庫及內(nèi)存結(jié)構(gòu)的大約200多項(xiàng)參數(shù)信息。啟動(dòng)任何一個(gè)數(shù)據(jù)庫之前,Oracle系統(tǒng)都要讀取初始化參數(shù)文件中的各項(xiàng)參數(shù)。初始化參數(shù)文件的主要內(nèi)容如下:(1)設(shè)置內(nèi)存大??;(2)設(shè)置數(shù)據(jù)庫回滾段;(3)設(shè)置要使用的數(shù)據(jù)庫和控制文件;(4)設(shè)置檢查點(diǎn);(5)設(shè)置數(shù)據(jù)庫的控制結(jié)構(gòu);(6)非強(qiáng)制性后臺(tái)進(jìn)程的初始化其他Oracle物理文件跟蹤文件(Tracefile):存放著后臺(tái)進(jìn)程的警告和錯(cuò)誤信息,每個(gè)后臺(tái)進(jìn)程都有相應(yīng)的跟蹤文件。警告文件(

Alertfile):由連續(xù)的消息和錯(cuò)誤組成,可以看到Oracle內(nèi)部錯(cuò)誤、塊損壞錯(cuò)誤等。備份文件(

Backupfile):包含恢復(fù)數(shù)據(jù)庫結(jié)構(gòu)和數(shù)據(jù)文件所需的副本??诹钗募?

Passwordfile):存放用戶口令的加密文件。Oracle9i數(shù)據(jù)庫服務(wù)器的總體結(jié)構(gòu)Oracle9i數(shù)據(jù)庫服務(wù)器由數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫組成。數(shù)據(jù)庫管理系統(tǒng)由內(nèi)存結(jié)構(gòu)(PGA和SGA)、后臺(tái)進(jìn)程和服務(wù)器進(jìn)程組成。數(shù)據(jù)庫主要由數(shù)據(jù)文件、控制文件和日志文件組成。Oracle9i數(shù)據(jù)庫服務(wù)器的總體結(jié)構(gòu)圖內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)是Oracle存放常用信息和所有運(yùn)行在該機(jī)器上的Oracle程序的內(nèi)存區(qū)域。Oracle有兩種類型的內(nèi)存結(jié)構(gòu):系統(tǒng)全局區(qū)SystemGlobalArea,SGA程序全局區(qū)ProgramGlobalArea,PGA系統(tǒng)全局區(qū)SGA系統(tǒng)全局區(qū)(SGA),是客戶機(jī)上的用戶進(jìn)程和服務(wù)器上的服務(wù)器進(jìn)程都使用的內(nèi)存區(qū)域。在Oracle例程中,SGA是所有通信的中心,所有的用戶進(jìn)程和服務(wù)器進(jìn)程都可以訪問這部分內(nèi)存區(qū)域,也就是說SGA內(nèi)的數(shù)據(jù)是共享的。在數(shù)據(jù)庫非安裝階段,當(dāng)創(chuàng)建例程時(shí),分配SGA;當(dāng)例程關(guān)閉時(shí),釋放SGA。SGA分成4部分:數(shù)據(jù)緩沖區(qū)、字典緩沖區(qū)、日志緩沖區(qū)和SQL共享池。程序全局區(qū)(PGA)PGA是存儲(chǔ)區(qū)中被單個(gè)用戶進(jìn)程使用的內(nèi)存區(qū)域。每一個(gè)連接到Oracle數(shù)據(jù)庫的進(jìn)程都需要自己的PGA,存放單個(gè)進(jìn)程工作時(shí)需要的數(shù)據(jù)和控制信息,其中包括進(jìn)程會(huì)話變量和數(shù)組及不需要與其他進(jìn)程共享的信息等。PGA是用戶進(jìn)程私有的,不能共享。PGA內(nèi)部的不同部分可以相互通信,但與外界沒有聯(lián)系。后臺(tái)進(jìn)程所謂用戶進(jìn)程指在客戶機(jī)上運(yùn)行的程序,如客戶機(jī)上運(yùn)行的SQLPlus、企業(yè)管理器等,用戶進(jìn)程向服務(wù)器進(jìn)程請(qǐng)求信息。所謂服務(wù)器進(jìn)程指在服務(wù)器上運(yùn)行的程序,接受用戶進(jìn)程發(fā)出的請(qǐng)求,根據(jù)請(qǐng)求與數(shù)據(jù)庫通信。Oracle9i數(shù)據(jù)庫支持成千上百用戶的并行訪問,而且還保證了數(shù)據(jù)的完整性和高性能,這其中離不開Oracle后臺(tái)進(jìn)程的支持。后臺(tái)進(jìn)程幫助用戶進(jìn)程和服務(wù)器進(jìn)程進(jìn)行通信,無論是否有用戶連接數(shù)據(jù)庫它們都在運(yùn)行,負(fù)責(zé)數(shù)據(jù)庫的后臺(tái)管理工作,這也是稱之為后臺(tái)進(jìn)程的原因。系統(tǒng)全局區(qū)SMONARCHLGWRDBWRCKPTRECOPMONQMONOracle9i數(shù)據(jù)庫的后臺(tái)進(jìn)程Oracle9i數(shù)據(jù)庫的主要后臺(tái)進(jìn)程系統(tǒng)監(jiān)視進(jìn)程(SMON):是在數(shù)據(jù)庫系統(tǒng)啟動(dòng)時(shí)執(zhí)行恢復(fù)性工作的強(qiáng)制性進(jìn)程。進(jìn)程監(jiān)視進(jìn)程(PMON):用于恢復(fù)失敗的數(shù)據(jù)庫用戶的強(qiáng)制性進(jìn)程。數(shù)據(jù)庫寫入進(jìn)程(DBWR):主要管理數(shù)據(jù)緩沖區(qū)和字典緩沖區(qū)的內(nèi)容,它從數(shù)據(jù)文件讀取數(shù)據(jù),寫入到SGA。日志寫入進(jìn)程(LGWR):用于將內(nèi)存中的日志內(nèi)容分批寫入到日志文件中。歸檔進(jìn)程(ARCH):是可選進(jìn)程,在當(dāng)數(shù)據(jù)庫服務(wù)器以歸檔模式運(yùn)行時(shí),將已經(jīng)寫滿的聯(lián)機(jī)重做日志文件的內(nèi)容拷貝到歸檔日志文件中才發(fā)生。檢查點(diǎn)進(jìn)程(CKPT):是可選進(jìn)程。用于減少例程恢復(fù)時(shí)間?;謴?fù)進(jìn)程(RECO):用于分布式數(shù)據(jù)庫中的失敗處理,只有在運(yùn)行分布式選項(xiàng)時(shí)才能使用該進(jìn)程。鎖進(jìn)程(LCKn):是可選進(jìn)程。當(dāng)用戶在并行服務(wù)器模式下將出現(xiàn)多個(gè)鎖進(jìn)程以確保數(shù)據(jù)的一致性,這些鎖進(jìn)程有助于數(shù)據(jù)庫通信??煺者M(jìn)程(SNPn):快照刷新和內(nèi)部工作隊(duì)列運(yùn)行計(jì)劃的依賴進(jìn)程。調(diào)度進(jìn)程(Dnnn):是共享服務(wù)器的可選進(jìn)程。InstanceSGASMONDatafilesControlfilesRedologfilesDatabaseOracle9i實(shí)例1.Oracle實(shí)例與數(shù)據(jù)庫2.Oracle實(shí)例的組成InstanceSGARedolog

buffercacheSharedpoolDataDict.

cacheLibrarycacheDBWRSMONPMONCKPTLGWROthersUser

processServer

proce

溫馨提示

  • 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)論