oracle數(shù)據(jù)庫課件chapt4Db結(jié)構(gòu).ppt_第1頁
oracle數(shù)據(jù)庫課件chapt4Db結(jié)構(gòu).ppt_第2頁
oracle數(shù)據(jù)庫課件chapt4Db結(jié)構(gòu).ppt_第3頁
oracle數(shù)據(jù)庫課件chapt4Db結(jié)構(gòu).ppt_第4頁
oracle數(shù)據(jù)庫課件chapt4Db結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章 ORACLE數(shù)據(jù)庫結(jié)構(gòu),數(shù)據(jù)庫結(jié)構(gòu)是指它存儲數(shù)據(jù)的方式。Oracle數(shù)據(jù)庫結(jié)構(gòu)分為邏輯存儲結(jié)構(gòu)(或稱之為邏輯數(shù)據(jù)庫)與物理存儲結(jié)構(gòu)(或稱之為物理數(shù)據(jù)庫)。 邏輯存儲結(jié)構(gòu)用于描述在0racle內(nèi)部組織和管理數(shù)據(jù)的方式。 物理存儲結(jié)構(gòu)定義了Oracle外部,即操作系統(tǒng)中組織和管理數(shù)據(jù)的方式。,ADMIN:每個數(shù)據(jù)庫在該目錄下,跟蹤文件,BIN:所有可執(zhí)行程序,DATABASE默認(rèn)備份位置,RDBMS:默認(rèn)歸檔位置,NETWORKADMIN監(jiān)聽程序、網(wǎng)絡(luò)服務(wù)名配置等,ORADATA:數(shù)據(jù)文件、控制文件和重做日志,第三章小結(jié),1.什么是實例?實例的組成? 2.實例內(nèi)存的組成?每種內(nèi)存中存放的內(nèi)容? 3.數(shù)據(jù)庫緩存和重做日志緩存? 4.用戶進(jìn)程 服務(wù)進(jìn)程 后臺進(jìn)程 5.后臺進(jìn)程(DBWR,LGWR,ARC0)功能 6.共享和專用服務(wù)器進(jìn)程工作方式. 7.跟蹤文件和警告文件的內(nèi)容.,練習(xí),1 SGA區(qū)包括 ( ABCD) A.共享池 B.重做日志緩存 C.數(shù)據(jù)庫緩存 D.排序區(qū) 2.哪個后臺進(jìn)程可在實例啟動時對實例自動恢復(fù) A.ARCH B. PMON C. SMON D.CKPT 3.對重做日志進(jìn)行歸檔的后臺進(jìn)程是(D) A.PMON B. CKPT C. LCKN D.ARCH 4.實例是由_和_組成.服務(wù)進(jìn)程是_. 5.下面_不是Oracle實例的組成部分. A.SGA B.PMON C.控制文件 D. 調(diào)度進(jìn)程 6.SGA中_是以循環(huán)方式寫入的. A.數(shù)據(jù)庫緩存 B.重做日志緩存 C.共享池 D.大型池 7.Oracle實例中最多可以啟動幾個DBWR后臺進(jìn)程. A. 1個 B.10個 C.9個 D.無限制,練習(xí),8.如果一服務(wù)進(jìn)程意外終止,用哪個后臺進(jìn)程釋放它所占用的資源. A.DBWn B. LGWR C.SMON D.PMON 9.如果服務(wù)進(jìn)程無法在DB緩存中找到空閑空間,會啟動哪個進(jìn)程 A.CKPT B. SMON C.LGWR D.DBWn 10.下面哪個進(jìn)程不是Oracle實例必須啟動的進(jìn)程? A.DBWn B.LGWR C.SMON D.ARCn (DBWR LGWR CKPT SMON PMON) 11.PMON或DBWn運行時的錯誤信息記錄在跟蹤文件中,服務(wù)進(jìn)程的錯誤信息記錄在跟蹤文件,實例出現(xiàn)錯誤信息記錄在警告文件 12.DBW0進(jìn)程是將DB緩存中臟數(shù)據(jù)塊的內(nèi)容寫入到數(shù)據(jù)文件中,LGWR是將重做日志緩存中的內(nèi)容寫入到聯(lián)機重做日志文件,ARCn是將聯(lián)機重做日志文件的內(nèi)容復(fù)制到歸檔重做日志文件中.,數(shù)據(jù)庫邏輯上是由一個或多個表空間(Tablespace)組成,而表空間在物理上是由一個或多個數(shù)據(jù)文件組成.,4.1 邏輯存儲結(jié)構(gòu),邏輯數(shù)據(jù)庫是由若干表空間組成,每個表空間由若干個段組成,每個段由若干區(qū)組成,每個區(qū)是由若干個連續(xù)的數(shù)據(jù)塊組成,每個塊是由若干字節(jié)組成.(塊是最小的讀寫單元),4.1.1 數(shù)據(jù)塊(Data Block),Oracle是以數(shù)據(jù)塊(簡稱塊)為單位管理數(shù)據(jù)文件中的存儲空間。數(shù)據(jù)塊是數(shù)據(jù)庫讀寫的最小I/O單位。 Oracle數(shù)據(jù)庫進(jìn)行輸入輸出操作時,都是以數(shù)據(jù)塊為單位進(jìn)行邏輯讀寫操作。一個Oracle塊由一個或多個操作系統(tǒng)塊組成。 Oracle塊的大小在數(shù)據(jù)庫創(chuàng)建時一旦確定,以后不能再更改。 塊大小由初始化參數(shù)DB_BLOCK_SIZE指定。,塊空間管理可以自動和手工。如果在創(chuàng)建表空間時使用的是本地管理方式,并且將段的存儲空間管理方式設(shè)置為AUTO,Oracle將自動管理表空間中塊的空閑存儲空間。,4.1.1 數(shù)據(jù)塊(Data Block),手工是設(shè)置 PCTFREE和 PCTUSED來定義。PCTFREE參數(shù)用于指定塊中必須保留的最小空閑空間比例,小于該比例塊將標(biāo)記為已滿(此塊只能做UPDATE)。PCTUSED參數(shù)用于指定塊中已經(jīng)使用的存儲空間降低到指定的百分比時,這個塊才被重新標(biāo)記為可用狀態(tài)(可插入數(shù)據(jù))。,4.1.2 區(qū)(EXTENT),區(qū)是由物理上連續(xù)存放的塊所構(gòu)成的Oracle邏輯存儲單位,由一個或多個區(qū)再構(gòu)成段。區(qū)是Oracle為段分配空間的最小單位。 創(chuàng)建帶有實際存儲結(jié)構(gòu)的數(shù)據(jù)庫對象時,自動分配若干個區(qū)作為對象的初始存儲空間。 初始區(qū)和后續(xù)區(qū)的分配大小在創(chuàng)建對象時由STORAGE子句指定;或者在創(chuàng)建表空間使用 DEFAULT STORAGE子句設(shè)置參數(shù)INITLAL、 NEXT和 PCTINCREASE,它將按照指定的方式為數(shù)據(jù)段分配區(qū)。,4.1.3 段(Segment),段由一個或多個區(qū)組成的,是獨立的邏輯存儲結(jié)構(gòu),而不是存儲空間分配的單位。具有獨立存儲結(jié)構(gòu)的對象中的數(shù)據(jù)將全部保存在它的段中。 段只屬于一個特定的數(shù)據(jù)庫對象。每當(dāng)創(chuàng)建具有獨立段的數(shù)據(jù)庫對象時,Oracle將為它創(chuàng)建一個段,段中至少有一個初始區(qū)。 PCTFREE、PCTUSED等參數(shù)來控制塊的存儲空間管理方式,也可以指定INITIAL、NEXT、PCTINCREASE等來指定區(qū)的分配方式。,段(Segment),1.數(shù)據(jù)段 存放所有表的數(shù)據(jù)。當(dāng)用CREATE語句建立表或簇時將建立數(shù)據(jù)段,未分區(qū)的表用一個段,而分區(qū)的表每個區(qū)有一個獨立的數(shù)據(jù)段。在創(chuàng)建表時STORAGE參數(shù)指定數(shù)據(jù)段區(qū)分配方式,2.索引段 索引段保存的是索引中的索引條目。在創(chuàng)建索引將為索引創(chuàng)建索引段。未分區(qū)索引都用一個段,而分區(qū)的索引每個區(qū)用一個獨立的索引段。STORAGE指定索引段的區(qū)分配方式。,SELECT .ORADE BY;SELECT DISTINCT;SELECT GROUP BY ,; SELECT .UNION;SELECT INTERSECT; SELECT MINUS; CREATE INDEX;,段(Segment),3.臨時段 臨時段是Oracle在進(jìn)行大的查詢或排序時自動分配的臨時工作空間,用來保存SQL語句分析和執(zhí)行的中間結(jié)果。如果排序操作能在內(nèi)存中進(jìn)行,Oracle不會建立臨時段。,4.回滾段 回滾段記錄了每個事務(wù)修改數(shù)據(jù)時數(shù)據(jù)的舊值,不管這個事務(wù)是否提交?;貪L段是由若干回滾條目組成。每個回滾條目包括塊信息(修改的文件號和塊ID)和修改前的數(shù)據(jù)。,4.1.4 表空間(Tablespace),在邏輯上,Oracle數(shù)據(jù)庫是由一個或多個表空間組成的,表空間被劃分為一個個獨立的段,數(shù)據(jù)庫中創(chuàng)建的所有對象都必須保存在指定的表空間中。 在物理上,一個表空間對應(yīng)于操作系統(tǒng)中的一個或多個數(shù)據(jù)文件。一個對象的數(shù)據(jù)存儲在表空間的任意一個數(shù)據(jù)文件中,也可將同一個對象的數(shù)據(jù)分布在表空間的多個數(shù)據(jù)文件中,還可以將同一個對象分布在多個表空間中(如對表進(jìn)行分區(qū)后的分區(qū)表)。,表空間與數(shù)據(jù)文件的關(guān)系,1.用戶定義表空間 是用于存儲用戶數(shù)據(jù)的普通表空間,它是 根據(jù)實際應(yīng)用由用戶自己來建立的。 2.SYSTEM表空間 創(chuàng)建數(shù)據(jù)庫時,自動創(chuàng)建SYSTEM表空間。 SYSTEM表空間中存儲數(shù)據(jù)庫數(shù)據(jù)字典、所有 PL/SQL程序的源代碼和解析代碼和數(shù)據(jù)庫對 象的定義。 存儲SYS模式中的對象。,表空間分類,(如視圖、對象類型說明、同義詞和序列),3. 撤消表空間 撤銷表空間是用來在自動撤銷管理方式下存儲撤銷信息的專用表空間。在撤銷表空間中只能建立撤銷段(回滾段)。任何數(shù)據(jù)庫用戶(包括管理員)都不能在撤銷表空間中創(chuàng)建數(shù)據(jù)庫對象。默認(rèn)的撤銷表空間UNDOTBS 4.臨時表空間 運行過程中要使用臨時空間來保存SQL語句執(zhí)行過程中產(chǎn)生的臨時數(shù)據(jù)。如果沒有指定臨時表空間,臨時數(shù)據(jù)保存在SYSTEM表空間中,表空間分類,4.2 物理數(shù)據(jù)庫結(jié)構(gòu),Oracle物理數(shù)據(jù)庫是從操作系統(tǒng)的文件級來描述數(shù)據(jù)庫。 Oracle數(shù)據(jù)庫是由若干個物理文件組成,每個物理文件由若干個操作系統(tǒng)物理塊組成。 物理數(shù)據(jù)庫由四種類型的操作系統(tǒng)文件組成:數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件和歸檔重做日志文件。 表空間與數(shù)據(jù)文件。一個表空間可由多個數(shù)據(jù)文件組成,一個數(shù)據(jù)文件只屬于一個表空間,4.2.1 數(shù)據(jù)文件(Data File),數(shù)據(jù)文件是存儲數(shù)據(jù)庫數(shù)據(jù)的操作系統(tǒng)文件,一個表空間在物理上對應(yīng)于一個或多個數(shù)據(jù)文件,而一個數(shù)據(jù)文件只能屬于唯一的表空間。Oracle通過為表空間創(chuàng)建數(shù)據(jù)文件來從硬盤中獲取物理存儲空間。 一個數(shù)據(jù)庫對象的數(shù)據(jù)可以全部保存在一個數(shù)據(jù)文件中,也可以分布在同一個表空間的多個數(shù)據(jù)文件中。 表空間的大小由數(shù)據(jù)文件的大小和個數(shù)決定(增加數(shù)據(jù)文件,擴大數(shù)據(jù)文件大小,自動增),4.2.2 控制文件(Control File),控制文件是一個記錄數(shù)據(jù)庫結(jié)構(gòu)的二進(jìn)制文件,在其中如下重要信息: 數(shù)據(jù)庫名,數(shù)據(jù)庫建立的時間。 數(shù)據(jù)文件名稱、位置、聯(lián)機/脫機狀態(tài)信息 重做日志文件的名稱和路徑。 表空間名稱等信息。 當(dāng)前日志序列號,日志歷史記錄。 歸檔日志信息。最近檢查點信息。 恢復(fù)管理器RMAN的備份信息等。,實例在加載數(shù)據(jù)庫時讀取控制文件,以找到自己所需的操作系統(tǒng)文件。(否則將無法加載和打開數(shù)據(jù)庫) 控制文件必須在整個數(shù)據(jù)庫打開期間始終保持可用狀態(tài)。 控制文件中的內(nèi)容只能夠由 Oracle本身來修改。(記錄數(shù)據(jù)庫結(jié)構(gòu)的二進(jìn)制文件) 每個數(shù)據(jù)庫必須至少擁有一個控制文件。一個數(shù)據(jù)庫也可同時擁有多個相同的控制文件,但是一個控制文件只能屬于一個數(shù)據(jù)庫。,控制文件(Control File),4.2.3 聯(lián)機重做日志文件,Oracle聯(lián)機重做日志文件(簡稱重做日志文件)中以重做記錄的形式記錄了用戶對數(shù)據(jù)庫進(jìn)行的所有修改操作。重做記錄由一組變更向量組成,每個變更向量中記錄了事務(wù)對數(shù)據(jù)庫中某個數(shù)據(jù)塊所做的修改。,利用重做記錄,在系統(tǒng)發(fā)生故障而導(dǎo)致數(shù)據(jù)庫崩潰時,Oracle可以恢復(fù)丟失的數(shù)據(jù)修改操作信息。,聯(lián)機重做日志文件,寫入:LGWR循環(huán)方式來使用聯(lián)機重做日志。 提交事務(wù),生成系統(tǒng)變更號SCN。SCN與重做記錄一起保存在重做日志文件中。,重做記錄中記載修改后的結(jié)果,回滾條目中記錄事物修改之前的數(shù)據(jù)。,聯(lián)機重做日志文件,日志切換和日志序列號 日志切換是指LGWR進(jìn)程結(jié)束當(dāng)前重做日志文件的使用,開始寫入下一個重做日志文件的時刻。自動切換和手工切換。 每當(dāng)發(fā)生日志切換時,Oracle將會生成一個新的日志序列號,并將這個號碼分配給即將開始使用的重做日志文件。日志序列號不會重復(fù),在歸檔時一同保存。 日志序列號表示日志文件使用的先后。,多路重做日志文件 多路重做日志文件是指同時保存一個重做日志文件的多個鏡像文件,防止被破壞。這些完全相同的重做日志文件構(gòu)成一個重做日志文件組,組中每個重做日志文件稱為一個日志組成員。,聯(lián)機重做日志文件,4.2.4 歸檔重做日志文件,歸檔是指在重做日志文件被覆蓋之前,Oracle將已經(jīng)寫滿的重做日志文件復(fù)制到指定的位置并以文件形式存放,這類文件稱為歸檔重做日志文件。 歸檔重做日志文件主要用于進(jìn)行數(shù)據(jù)庫恢復(fù)和更新備份數(shù)據(jù)庫,同時借用LogMiner工具可以得到數(shù)據(jù)庫操作的歷史信息。 只有數(shù)據(jù)庫處于歸檔模式中,才會執(zhí)行歸檔操作。歸檔操作可以由后臺進(jìn)程ARCn自動完成,或由管理員手工通過命令來完成。,歸檔重做日志文件,歸檔過程,數(shù)據(jù)庫的歸檔模式 數(shù)據(jù)庫可以在ARCHIVELOG或非歸檔模式。數(shù)據(jù)庫的歸檔模式將記錄在控制文件中。 如果將數(shù)據(jù)庫設(shè)置為非歸檔模式,將不會對重做日志文件進(jìn)行歸檔操作。當(dāng)發(fā)生日志切換時,LGWR進(jìn)程直接寫入下一個可用的聯(lián)機重做日志文件,聯(lián)機重做日志文件中原有的重做記錄將被覆蓋。不能: 無法進(jìn)行介質(zhì)恢復(fù),數(shù)據(jù)庫進(jìn)行完全備份, 不能夠進(jìn)行聯(lián)機表空間備份操作。,歸檔重做日志文件,數(shù)據(jù)庫在歸檔模式,LGWR進(jìn)程在寫入下一個重做日志文件之前,必須等待該聯(lián)機重做日志文件完成歸檔,否則LGWR進(jìn)程將被掛起,數(shù)據(jù)庫也停止運行。在歸檔重做日志文件中,記錄了自從數(shù)據(jù)庫置于歸檔模式后,用戶對數(shù)據(jù)庫所進(jìn)行的所有修改操作。優(yōu)點 可以進(jìn)行介質(zhì)恢復(fù),可以進(jìn)行部分備份, 保證備份數(shù)據(jù)庫與目標(biāo)庫的一致性。,歸檔重做日志文件,啟動數(shù)據(jù)庫過程,4.3 數(shù)據(jù)字典,數(shù)據(jù)字典是Oracle數(shù)據(jù)庫最重要的部分之一,它是由一系列提供數(shù)據(jù)庫信息的只讀表組成。 所有數(shù)據(jù)字典都被組織為表或視圖,它們都存儲在數(shù)據(jù)庫的 SYSTEM 表空間中。,數(shù)據(jù)字典中的主要內(nèi)容: 各種對象的定義信息、數(shù)據(jù)庫存儲空間的分配信息、數(shù)據(jù)庫安全信息、字段的缺省值和完整性約束信息、數(shù)據(jù)庫運行時的性能和統(tǒng)計信息。,數(shù)據(jù)字典的主要用途 Oracle通過訪問數(shù)據(jù)字典來獲取有關(guān)用戶、模式、對象以及存儲結(jié)構(gòu)的信息;,數(shù)據(jù)字典,執(zhí)行DDL語句來修改對象的結(jié)構(gòu)時,Oracle將修改數(shù)據(jù)字典中的記錄;,數(shù)據(jù)庫用戶可從數(shù)據(jù)字典的只讀視圖中獲取各種與數(shù)據(jù)庫相關(guān)的信息;,管理員能夠從數(shù)據(jù)字典中監(jiān)視數(shù)據(jù)庫的運行狀態(tài),從而獲得進(jìn)行性能調(diào)整的依據(jù)。,數(shù)據(jù)字典,數(shù)據(jù)字典由基礎(chǔ)表和用戶視圖兩部分組成?;A(chǔ)表存儲數(shù)據(jù)庫信息,只有Oracle本身才有讀寫基礎(chǔ)表的權(quán)限?;A(chǔ)表中的信息經(jīng)過解密和其他加工處理后以視圖的方式展示給用戶,這就是用戶視圖。 數(shù)據(jù)字典分為三類: USER視圖,USER_,用戶自己的信息 ALL視圖,ALL_,用戶可訪問 DBA視圖,DBA_,數(shù)據(jù)庫中所有的,動態(tài)性能視圖,在實例的運行過程中,Oracle維護(hù)一組虛擬的表,它們記錄當(dāng)前數(shù)據(jù)庫活動的相關(guān)信息,這些表稱為動態(tài)性能表。 動態(tài)性能表并不是實際的表,而且它們不能被大多數(shù)數(shù)據(jù)庫用戶所訪問。但管理員可以訪問這些表。 在Oracle實例啟動時,動態(tài)性能表被動態(tài)地創(chuàng)建,并向其中寫入數(shù)據(jù);在Oracle關(guān)閉時,動態(tài)性能表不會保存下來。,動態(tài)性能視圖,所有的動態(tài)性能表都屬于SYS用戶,它們以V_$開頭。Oracle自動根據(jù)動態(tài)性能表建立視圖(稱之為動態(tài)性能視圖),并為視圖建立公共同義詞。這些公共同義詞都以V$開頭。 數(shù)據(jù)庫管理員可以通過SELECT語句來查詢所有動態(tài)視圖。 V$SGA,V$PARAMETERS,關(guān)閉數(shù)據(jù)庫,第4章小 結(jié),1.Oracle邏輯數(shù)據(jù)庫和物理數(shù)據(jù)庫的組成。 2.什么是重做日志文件和歸檔重做日志文件?存放什么內(nèi)容?聯(lián)機重做日志寫入過程和歸檔過程?什么是歸檔? 3.什么是數(shù)據(jù)文件?存放的內(nèi)容是什么?與表空間的關(guān)系? 4.控制文件?存放的內(nèi)容和最小數(shù)量? 5.表或索引與段的關(guān)系。 6.日志切換和日志序列號 7.數(shù)據(jù)字典和動態(tài)性能視圖的作用。,第4章 練習(xí),1.數(shù)據(jù)庫邏輯存儲結(jié)構(gòu): A. 塊-段-區(qū)-表空間-數(shù)據(jù)庫 B. 塊-區(qū)-段-表空間-數(shù)據(jù)庫 C. 塊-區(qū)-表空間- 段-數(shù)據(jù)庫 D. 塊-表空間-區(qū)- 段-數(shù)據(jù)庫 2. 下面哪個不是數(shù)據(jù)庫物理存儲結(jié)構(gòu)中的對象. A. 數(shù)據(jù)文件 B. 重做日志 C. 控制文件 D. 表空間 數(shù)據(jù)庫必須至少有幾個控制文件? A. 1 B. 2 C. 4 D. 由初始化參數(shù)定 4. 數(shù)據(jù)庫必須至少有幾個聯(lián)機重做日志文件

溫馨提示

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

評論

0/150

提交評論