版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、Oracle體系結(jié)構 鄭州藍訊網(wǎng)絡科技有限公司 2010-10-20u 物理結(jié)構u 邏輯結(jié)構u 內(nèi)存結(jié)構u 數(shù)據(jù)庫實例與進程u 數(shù)據(jù)字典Oracle體系結(jié)構Oracle體系結(jié)構概述2022-2-213u 數(shù)據(jù)文件u 日志文件u 控制文件u 參數(shù)文件 物理結(jié)構Oracle物理存儲結(jié)構數(shù)據(jù)庫文件PasswordfileParameterfileArchivedlog filesControl filesData files Redo logfilesDatabase2022-2-216 數(shù)據(jù)文件用來存儲數(shù)據(jù)庫中的全部數(shù)據(jù),如數(shù)據(jù)庫表中的數(shù)據(jù)和索引數(shù)據(jù)。通常為后綴名為.dbf格式的文件。數(shù)據(jù)文件數(shù)據(jù)
2、文件 日志文件(又稱重做日志文件),用于記錄數(shù)據(jù)庫所做的全部變更(如增加、刪除、修改),以便在系統(tǒng)發(fā)生故障時,用它對數(shù)據(jù)庫進行恢復。名字通常為Log*.dbf格式日志文件日志文件 根據(jù)在事務信息將被覆蓋時,是否應該將文件歸檔,數(shù)據(jù)庫分為以下兩種歸檔模式:ARCHIVELOG(歸檔日志)或NOARCHIVELOG(非歸檔日志)模式。 歸檔模式歸檔模式 每個Oracle數(shù)據(jù)庫都有相應的控制文件,用于打開、存取數(shù)據(jù)庫。它們是較小的二進制文件,其中記錄了數(shù)據(jù)庫的物理結(jié)構。名字通常為Ctr*.ctl格式控制文件控制文件 控制文件中的內(nèi)容只能夠由Oracle本身來修改。每個數(shù)據(jù)庫必須至少擁有一個控制文件。
3、一個數(shù)據(jù)庫也可以同時擁有多個控制文件,但是一個控制文件只能屬于一個數(shù)據(jù)庫??刂莆募刂莆募?shù)文件參數(shù)文件 參數(shù)文件是一個ASCII文本文件,記錄Oracle數(shù)據(jù)庫運行時的一些重要參數(shù)。名字通常為initsid*.ora格式,如:initCIMS.ora,SID相當于它所控制的數(shù)據(jù)庫的標識符。每個Oracle數(shù)據(jù)庫和實例都有它自己惟一的init.ora文件。 Oracle9i新引入一個服務器參數(shù)文件(SPFILE),一個服務器參數(shù)文件(SPFILE)可以被認為是在Oracle數(shù)據(jù)庫服務器端的初始化參數(shù)文件。存儲在一個服務器參數(shù)文件的初始化參數(shù)是永久的,它提供了由Oracle數(shù)據(jù)庫服務器自我調(diào)節(jié)
4、的一個基礎。服務器參數(shù)文件是二進制文件,不能使用一個文本編輯器瀏覽或編輯。參數(shù)文件參數(shù)文件表空間段區(qū)數(shù)據(jù)庫塊邏輯結(jié)構模式對象 Oracle邏輯結(jié)構圖表空間的分類表空間的使用表空間中對象的存儲表空間 數(shù)數(shù)據(jù)據(jù)庫庫 Data1.Ora 1MB Data2.Ora 1MB SYSTEM 表空間 Data3.Ora 4MB USER 表空間 數(shù)據(jù)文件 數(shù)據(jù)庫的控制空間分配(例如表和索引)數(shù)據(jù)庫的控制空間分配(例如表和索引)為數(shù)據(jù)庫用戶設置空間配額為數(shù)據(jù)庫用戶設置空間配額 備份或恢復數(shù)據(jù)備份或恢復數(shù)據(jù) Oracle中除了用戶創(chuàng)建的存放數(shù)據(jù)對象的數(shù)據(jù)表空間外,還有以下類型的表空間:(1)System表空間
5、(2)回滾表空間(RollBack TableSpace)(3)臨時表空間(Temp TableSpace)1表空間的分類在數(shù)據(jù)庫中使用多個表空間具有如下優(yōu)勢: (1)能夠?qū)?shù)據(jù)字典與用戶數(shù)據(jù)分離開來,避免由于字典對象和用戶對象保存在同一個數(shù)據(jù)文件中而產(chǎn)生的10沖突。 (2)能夠?qū)⒒赝藬?shù)據(jù)與用戶數(shù)據(jù)分離開來,避免由于硬盤損壞而導致永久性的數(shù)據(jù)丟失。 (3)能夠?qū)⒈砜臻g的數(shù)據(jù)文件分散保存到不同硬盤上,平均分布物理10操作。2表空間的使用 (4)能夠?qū)⒛硞€表空間設置為脫機狀態(tài)或聯(lián)機狀態(tài),以便對數(shù)據(jù)庫的一部分進行備份和恢復。 (5)能夠?qū)⒛硞€表空間設置為只讀狀態(tài),從而將數(shù)據(jù)庫的一部分設置為只讀狀態(tài)。
6、 (6)能夠為某種特殊用途專門設置一個表空間,比如臨時表空間等,以優(yōu)化表空間的使用效率。 (7)能夠更加靈活地為用戶設置表空間限額。 如果表空間只對應一個數(shù)據(jù)文件,該表空間中所有的對象都存儲在此數(shù)據(jù)文件中。如果表空間對應于多個數(shù)據(jù)文件,可將一個對象的數(shù)據(jù)存儲在該表空間的任意一個數(shù)據(jù)文件中,也可將同一個對象的數(shù)據(jù)分布在表空間的多個數(shù)據(jù)文件中。3表空間中對象的存儲 數(shù)據(jù)段段 索引段 臨時段 回退段 數(shù)據(jù)段中保存的是表中的記錄。1數(shù)據(jù)段 在Oracle數(shù)據(jù)庫中每個未分區(qū)索引都有一個索引段保存索引中的索引條目。對于一個分區(qū)索引,每個分區(qū)都有一個索引段保存它的數(shù)據(jù)。2索引段 當處理查詢時,Oracle可
7、能會需要使用到一些臨時存儲空間,用于臨時保存解析過的查詢語句以及在排序過程中產(chǎn)生的臨時數(shù)據(jù)。Oracle會自動在專門用于存儲臨時數(shù)據(jù)的表空間為操作分配臨時段。3臨時段 回滾段用于存放數(shù)據(jù)修改之前的值(包括數(shù)據(jù)修改之前的位置和值)?;貪L段的作用主要有以下幾方面:(1)事務回滾(2)事務恢復(3)讀一致性4回滾段 回滾段數(shù)據(jù)庫操作數(shù)據(jù)庫操作老舊的數(shù)據(jù)老舊的數(shù)據(jù)產(chǎn)生新的數(shù)產(chǎn)生新的數(shù)據(jù)據(jù)回滾段回滾段表表 區(qū)是由很多連續(xù)的數(shù)據(jù)塊組成的數(shù)據(jù)庫存儲空間。缺省情況下,數(shù)據(jù)庫會使用表空間中默認的存儲參數(shù)來管理他們的區(qū)。區(qū) 數(shù)據(jù)庫塊也稱邏輯塊或Oracle塊,它對應磁盤上一個或多個物理塊,它的大小由初始化參數(shù)db
8、_block_size(在文件init.ora中)決定,典型的大小是8k。數(shù)據(jù)庫塊Oracle存儲結(jié)構 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 數(shù)據(jù)塊擴展區(qū) 擴
9、展區(qū) 段 Pckfree和Pctused兩個參數(shù)用來優(yōu)化數(shù)據(jù)塊空間的使用。PCTFREE:塊中保留用于UPDATE操作的空間百分比,當數(shù)據(jù)占用的空間達到此上限時,新的數(shù)據(jù)將不能再插入到此塊中;PCTUSED:指定塊中數(shù)據(jù)使用空間的最低百分比; Oracle數(shù)據(jù)庫的模式對象包括表、視圖、序列、同義詞、索引、觸發(fā)器、存儲過程等。 模式對象 內(nèi)存結(jié)構 系統(tǒng)全局區(qū)程序全局區(qū)排序區(qū) 系統(tǒng)全局區(qū)(SGA,System Global Area.)是內(nèi)存結(jié)構的主要組成部分,是Oracle為一個實例分配的一組共享內(nèi)存緩沖區(qū),保存著Oracle系統(tǒng)與所有數(shù)據(jù)庫用戶的共享信息,包括數(shù)據(jù)維護、SQL語句分析,重做日志
10、管理等。是實例的主要部分。系統(tǒng)全局區(qū) 數(shù)據(jù)塊緩沖區(qū)中存放著Oracle系統(tǒng)最近從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊。數(shù)據(jù)塊緩沖區(qū)又稱用戶數(shù)據(jù)高速緩沖區(qū),為所有與該實例相鏈接的用戶進程所共享。 1數(shù)據(jù)塊緩沖區(qū)數(shù)據(jù)緩沖區(qū) 存儲最近使用的塊,包括 DB_CACHE_SIZE、DB_KEEP_CACHE_SIZE以及DB_BK_CACHE_SIZE Data buffercache數(shù)據(jù)塊緩沖區(qū)的容量受物理容量限制。在Oracle9i中,數(shù)據(jù)庫緩存的大小可以直接由初始化參數(shù)DB_ACHESIZE指定,該參數(shù)可以直接以K字節(jié)或M字節(jié)為單位來設置數(shù)據(jù)庫緩存的大小。 字典緩沖區(qū)用于保存數(shù)據(jù)字典中的行。數(shù)據(jù)字典緩沖區(qū)也通過
11、最近最少使用(LRU)算法來管理。大小由數(shù)據(jù)庫內(nèi)部管理。字典緩存區(qū)是SQL共享池的一部分,共享池的大?。ㄒ宰止?jié)為單位)由數(shù)據(jù)庫文件init.ora中的SHARED_POOL_SIZE參數(shù)來設置。2字典緩沖區(qū) 對數(shù)據(jù)庫進行修改的任何事務(Transaction)在記錄到重做日志之前都必須首先放到重做日志緩沖區(qū)(Redo Log Buffer.)中。重做日志緩沖區(qū)是專為此開辟的一塊內(nèi)存區(qū)域,重做日志緩存中的內(nèi)容將被LGWR后臺進程隨時寫入重做日志文件。 3重做日志緩沖區(qū) 重做日志緩沖區(qū)重做日志緩沖區(qū)o大小由LOG_BUFFER確定o記錄實例做出的修改o順序使用o是循環(huán)緩沖區(qū)Redo logbuff
12、er重做日志緩存是一個循環(huán)緩存區(qū),在使用時從頂端向底端寫入數(shù)據(jù),然后再返回到緩沖區(qū)的起始點循環(huán)寫入。重做日志緩沖區(qū)的大?。ㄒ宰止?jié)為單位)由init.ora文件中的LOGBUFFER參數(shù)決定。 數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫實例數(shù)據(jù)庫實例 LGWRSGARedo logbufferData buffercacheShared poolCOMMIT處理1234用戶進程用戶進程服務進程服務進程Control filesData files Redo logfiles共享SQL池(Shared SQL Pool)相當于程序高速緩沖區(qū),所有的用戶程序都存放在共享SQL池中。SQL共享池包括庫高速緩存、數(shù)據(jù)字典高速緩
13、存和服務器控制結(jié)構。4共享SQL池 共享池的大小取決于init.ora文件參數(shù)SHARED_POOL_SIZE,它是以字節(jié)為單位的。用戶必須將這個值設得足夠大,以確保有足夠的可用空間來裝載和存儲PL/SQL塊和SQL語句。 庫緩存中包含SQL語句文本、分析代碼和執(zhí)行計劃 數(shù)據(jù)字典緩存中包含表、字段和其他對象的定義與權限 共享池的大小由SHARED_POOL_SIZE確定 Shared poolDatadictionarycacheLibrarycache共享池SGARedo logbufferData buffercacheShared poolDatabase11DML 語句的處理234UP
14、DATE emp .UserprocessServerprocessControl filesData files Redo logfiles Java池為Java命令提供語法分析。5Java池 緩沖池把大數(shù)據(jù)集與其他的應用程序分開,以減少它們爭奪數(shù)據(jù)塊緩沖區(qū)內(nèi)相同的資源??梢栽赟GA中創(chuàng)建多個緩沖池 。6多緩沖池 程序全局區(qū)PGA(Program Global Area,PGA),是單個Oracle進程使用的內(nèi)存區(qū)域,不屬于實例的內(nèi)存結(jié)構。它含有單個進程工作時需要的數(shù)據(jù)和控制信息,PGA是非共享的,只有服務進程本身才能夠訪問它自己的PGA區(qū)。程序全局區(qū) 排序區(qū)存在于請求排序的用戶進程的內(nèi)存中
15、,由于排序需要內(nèi)存空間,Oracle利用該內(nèi)存排序數(shù)據(jù),這部分空間稱為排序區(qū)。該空間的大小為適應排序數(shù)據(jù)量的大小,可增長,但受初始化參數(shù)SORT_AREA_SIZER所限制。 排序區(qū) 數(shù)據(jù)庫實例與進程Oracle數(shù)據(jù)庫實例進程數(shù)據(jù)庫是指物理上的數(shù)據(jù)庫文件或邏輯上的數(shù)據(jù)庫結(jié)構。 基于之上管理和控制物理數(shù)據(jù)庫的軟件系統(tǒng),稱為數(shù)據(jù)庫管理系統(tǒng)(DBMS)。數(shù)據(jù)庫實例是指軟件系統(tǒng)中用來訪問數(shù)據(jù)庫文件集的存儲結(jié)構以及后臺進程的集合,它是存取和控制數(shù)據(jù)庫的軟件機制。 Oracle數(shù)據(jù)庫實例 數(shù)據(jù)庫實例Background processes一個Oracle 實例:o是訪問Oracle 數(shù)據(jù)庫的一種方法o總是
16、打開一個并且僅僅一個數(shù)據(jù)庫Memory structuresInstanceSGARedo logbufferData buffercacheShared pool PMON DBW0SMON LGWRCKPTOthers進程又稱任務,是操作系統(tǒng)中一個極為重要的概念。一個進程執(zhí)行一組操作,完成一個特定的任務。對Oracle數(shù)據(jù)庫管理系統(tǒng)來說,進程由用戶進程、服務器進程和后臺進程所組成。進程與程序的區(qū)別在于前者是一個動態(tài)概念,后者是一個靜態(tài)實體;程序僅僅是指令的有序集合,而進程則強調(diào)執(zhí)行過程。進程可以動態(tài)地創(chuàng)建,完成任務后即會消亡。進程 當用戶運行一個應用程序時,系統(tǒng)就為它建立一個用戶進程。用戶
17、進程執(zhí)行的是一個應用程序或Oracle工具程序的代碼,以完成用戶所指定的任務。用戶進程不是實例。1用戶進程服務器進程 服務器進程處理與應用程序相連的用戶進程的請求,它與用戶進程相通訊,為相連的用戶進程的Oracle請求服務。2服務器進程 Oracle的后臺進程主要包括:(1)SMON系統(tǒng)監(jiān)控進程(system monitor)(2)PMON進程監(jiān)控進程(process monitor)(3)DBWR數(shù)據(jù)庫寫進程(4)LGWR日志文件寫進程(5)ARCH歸檔進程(archiver process)(6)RECO恢復進程(7)LCKN封鎖進程3后臺進程 日志寫 (LGWR)LGWR 在下列情況下寫
18、日志:o提交o重做日志緩沖區(qū)三分之一滿o重做超過1 MBo在DBW0寫之前DatabaseInstanceLGWRSGARedo logbufferData buffercacheShared poolControl filesData files Redo logfiles其它實例進程o其它需要的進程:n數(shù)據(jù)庫寫(DBW0)n進程監(jiān)測(PMON)n系統(tǒng)監(jiān)測(SMON)n檢查點(CKPT)o在產(chǎn)品數(shù)據(jù)庫中通常需要創(chuàng)建歸檔進程 (ARC0)DatabaseControl filesData files Redo logfiles數(shù)據(jù)庫寫 (DBW0)DBW0寫的時機:o臟緩沖區(qū)多o空閑緩沖區(qū)很少
19、o超時o發(fā)生檢查點InstanceSGARedo logbufferData buffercacheShared poolDBW0SMON: 系統(tǒng)監(jiān)測o自動恢復實例n前滾重做日志中的修改n打開數(shù)據(jù)庫允許用戶訪問n會滾未提交的事務o合并空閑空間o釋放臨時段PMON: 進程監(jiān)測在進程失敗后執(zhí)行清除工作:o回滾事務o釋放鎖o釋放其他資源歸檔o數(shù)據(jù)庫歸檔模式n對于磁盤失敗后不需要恢復的數(shù)據(jù)庫使用NOARCHIVELOG模式n對于產(chǎn)品數(shù)據(jù)庫使用ARCHIVELOGoARC0 進程n自動歸檔聯(lián)機重做日志n保留對數(shù)據(jù)庫做出的所有修改數(shù)據(jù)字典數(shù)據(jù)字典 數(shù)據(jù)字典的結(jié)構數(shù)據(jù)字典的用途數(shù)據(jù)字典是Oracle數(shù)據(jù)庫的核心組件,它是對用戶來說為只讀類型的表和視圖組成。在其中保存著關于數(shù)據(jù)庫系統(tǒng)本身以及其中存儲的所有對象的基本信息。 數(shù)據(jù)庫對象所有的框架對象的定義(表、視圖、索引、群集、同義詞、序列、過程、函數(shù)、包、觸發(fā)器等)為框架對象如何分配和使用空間列的默認值完整性約束信息數(shù)據(jù)庫安全信息,包括用戶、權限、角色等審計信息一個數(shù)據(jù)字典包括基礎表,動態(tài)性能視圖及數(shù)據(jù)字典視圖。數(shù)據(jù)字典視圖又包含ALL視圖,USER視圖和DBA視圖。數(shù)據(jù)字典的結(jié)構 1基礎表基礎表 存儲相關數(shù)據(jù)庫信息的表,這些數(shù)據(jù)庫的信息包括表、索引、約束,以及所有其他數(shù)據(jù)庫對象結(jié)構的信息。它們屬于S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧生活下的家庭健康飲食管理與實踐
- 數(shù)學教育與心理健康的融合路徑探索
- 科技背景下學校圖書館的創(chuàng)新規(guī)劃研究
- 校園文化建設與德育工作推進
- 探索現(xiàn)代化企業(yè)管理模式下的新型保安服務與策略調(diào)整
- 2025年度物業(yè)人員雇用及客戶滿意度提升合同
- 二零二五年度城市安全防護系統(tǒng)抵押借款合同
- 二零二五年度股份占比合同協(xié)議書:5G通信技術股權投資合作協(xié)議
- 2025年度酒店與保險公司合作協(xié)議價合同樣本
- 2025年度二零二五年度離婚協(xié)議及財產(chǎn)分割與子女教育權益合同
- 2025年有機肥行業(yè)發(fā)展趨勢分析報告
- 2023-2024年員工三級安全培訓考試題及參考答案(綜合題)
- 2025-2030年中國融雪劑行業(yè)運行動態(tài)及發(fā)展前景預測報告
- 2025保安部年度工作計劃
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術學院單招職業(yè)適應性測試題庫
- 人居環(huán)境綜合治理項目項目背景及必要性分析
- 招標采購基礎知識培訓
- 電力系統(tǒng)分布式模型預測控制方法綜述與展望
- 2024年注冊建筑師-二級注冊建筑師考試近5年真題附答案
- 五年級口算題卡每天100題帶答案
評論
0/150
提交評論