Oracle-系统架构基本概念汇总课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Oracle-系统架构基本概念汇总课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 系统 架构 基本概念 汇总 课件
- 资源描述:
-
1、國立聯合大學 資訊管理學系陳士杰老師1國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Outline Oracle 系統架構概觀Overview Oracle Instance Oracle Database Other Processes 漫談Oracle Instance 記憶體結構Background Processes 漫談Oracle Database StructuresPhysical Database StructuresLogical Database Structures2國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Oracle 系統架構概觀關於Oracle系統
2、架構,是非常重要的基礎觀念,正所謂君子務本,本立而道生,有了踏實的基礎觀念之後,才能在往後學習Oracle的路上,無往不利3國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Overview Oracle Server主要是由Oracle Instance與Database所組成,透過Server Process與User Process之間的交互運作,藉以達成使用者交付執行的工作。Oracle ServerOracle Instance DatabaseUser ProcessesServer ProcessesPGA 4國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)例如,使用者可能
3、想要在Oracle Server上查詢一筆人事資料,使用者將相關的SQL敘述輸入系統中,此時系統會產生相對應的User Process與Server Process,由Server Process負責向Oracle Server溝通,並將符合使用者所需的資料,從Oracle Server送至User Process,以完成該使用者下達的request。5國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Oracle Instance(Oracle資料庫引擎)Oracle資料庫中的任何動作都和它有關,是Oracle DB的心臟地帶。Oracle Instance主要包含:background
4、process(背景處理程序)是一群,執行I/O Process 與非Oracle Process 的監控管理,針對目前的使用者所提出的request執行一些。每一個Process專責於一至兩項的工作System Global Area(SGA;系統全域區)用來存放資料庫系統相關資訊的一塊,讓background process得以利用這些系統資訊,以提供適當的服務,處理外部的user request。6國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)由於Oracle Instance掌控著處理Oracle Database所有運作的相關資訊。因此,當要存取或操作Oracle Databa
5、se裏的資料時,必須先啟動Oracle Instance,才能對Oracle Database的內容加以處理。當Oracle Instance啟動時,電腦系統會先配置一塊給SGA(System Global Area),並且載入相關的background process。7國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Oracle Database可分為兩個部份來說明:實體結構邏輯結構 8國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Oracle Database的實體結構部份是由一個個的檔案所組合,主要的檔案包括另外尚有:9國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Co
6、ntrol filesData files Archived log filesParameterfilePasswordfileRedo log filesDatabase10國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Oracle Database的邏輯結構部份,主要有11國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)不屬於Oracle Instance內的Process皆稱為Other Process。是User和應用程式要連接Oracle DB Server的重要橋樑。如User Process、Server Process等主要是反應使用者下達的request(即SQL
7、敘述),將其轉化為Oracle Server能看得懂的相關指令,從Oracle Database裏抓取資料,以反映使用者需求的資料。在Server Process中還有一個相當重要的資料結構:PGA是一個,存放相關Server Process的與。當Server Process被呼叫啟動後,Oracle Server會為其建立一個所屬的PGA,使用者下達的SQL敘述,就是存放在這裏的。12國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)漫談Oracle Instance13國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)第一部份我們曾談到所謂的Oracle Instance可分為:兩部
8、份,並做了概略的說明。現在就分別針對SGA與Background Processes做更完整深入的說明。14國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)記憶體結構SGA是Oracle Server在系統上所建立的一塊,Oracle Server利用這塊記憶體結構,協同Oracle 的各種Processes來完成使用者所交付的工作。SGA主要是由幾種不同的資料區塊所組成Database Buffer CacheRedo Log BufferShared PoolLarge PoolJava Pool其它(如:Cursors等)SGADatabaseBufferCacheRedoLogBu
9、fferSharedPoolLargePoolJavaPoolOthers15國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Database Buffer Cache(資料庫緩衝快取區)資料庫系統擷取資料時的一個快取空間,其用途在於。(到硬碟從事I/O是很耗時的工作!)我們可以透過設定這個參數值來設定Database Buffer Cache的大小。在Oracle的Database Buffer Cache中,尚有一些sub-caches:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE我們可以透過這個參數,藉由statistics
10、的方式來對不同的cache size做預設。指令:Alter system set db_cache_advice=on16國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Oracle用所謂的來管理這塊記憶體空間。LRU:當這塊記憶體空間時,Oracle Server將只保留最近有被使用過的資料,最不常用的資料則中,並將該資料所佔用的記憶體空間釋放出來。由於Database Buffer Cache關係著Oracle Server的,因此如何管理及設定Database Buffer Cache的大小,對於Oracle Server的效能調校,是相當重要的一項課題。17國立聯合大學 資訊管理
11、學系 資料庫系統課程(陳士杰)當資料庫的內容有所異動時,Redo Log Buffer會記錄其經過一定的時間週期或者是Redo Log Buffer滿載時,Oracle Server會將Redo Log Buffer的內容寫到裏,以追蹤整個資料庫的使用情形。當Oracle Server不幸當掉的話,就能利用這些記錄下來的資訊,進行資料庫的。有關Redo Log Buffer的大小設定,可以透過設定參數,改變Redo Log Buffer的大小。18國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)當使用者將SQL、PL/SQL等操作指令送至Oracle資料庫後,系統會先解析(Parse)語法
12、是否正確。解析時,下列兩項資料將會放入Shared Pool中:當有不同的使用者執行相同的SQL指令,就可以共用Shared Pool中解析好的結果,以。Shared Pool內包含數種不同的區域,主要有下列兩類:存放解析時所需要的相關資訊,以供查詢之用 存放各類指令解析後的結果,以供重覆使用Shared Pool亦是採的記憶體管理演算法。Shared Pool的大小設定,是由這個參數來控制 19國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Large Pool是Oracle針對一些的資料庫處理與運算工作所提供的一個額外選項,它可以讓SGA配置一個較大的記憶體空間,提供給處理Oracle
13、的backup/restore、I/O、執行Oracle復原管理程式RMAN、等。透過指定這個參數,設定Large Pool的大小。20國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)當使用者有使用Java時,Oracle Server利用這塊記憶體空間,及所使用的Java Code,藉以提供Oracle與Internet更高的整合性。透過指定這個參數,來改變Java Pool的大小。21國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)Background Processes Oracle Server 所提供的Processes可分為兩類:用以,根據Client Processes的
14、需求,由Oracle Server動態配置所產生的,用以服務Client Processes的需求 裏 在Server Processes裏,尚包含另一個重要的記憶體結構PGA(Program Global Area),存放著Client Processes與Server Processes間的重要資訊 用來所需的一些系統常式,諸如資料庫的I/O、Oracle Processes的管理等 中 22國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)主要的Background Processes共有五個,只要有這五個Background Processes,Oracle Server就可以正常地
15、運作了,分別是:其它尚有Archiver(ARCHARCH)、Recoverer(RECORECO)、Dispatcher(DnnnDnnn)、Lock(LCKnLCKn)、Job Queue(SNPnSNPn)及Queue Monitor(QMNnQMNn)等Background Processes,它們主要是提供Oracle Server。如ARCH,它可以提供比LGWR更強的資料庫回復能力。23國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)DBWR 主要是負責管理,將Database Buffer Cache中修改過的資料,Data File裏,透過系統整批寫入的方式,可以提高整個
16、系統的執行效率。當使用者執行 DML 指令修改相關資料欄位,並執行commit指令時,Oracle本身並不是直接將修改過的資料直接寫入Data File裏,而是當Database Buffer Cache的內容或是,才將資料寫入Data File中。藉由,以提高系統執行效能。使用的技術 24國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)InstanceSGADatabase buffercacheDBWnControl filesData files Redo log filesDatabase25國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)由於在 系統,其資料庫異動情況可能十分
17、頻繁。因此:一個Oracle Server可以有的DBWR Background Processes,可以依實際系統硬體與作業系統的特性,設定參數值,以獲得整個資料庫系統的最佳執行效能。當設定DB_WRITER_PROCESSES的內容值後,系統上有關DBWR的名稱將會變為DBWn,n可為 09,如DBW0、DBW1、DBW2等。(系統預設只會啟動一個DBWn,即DBW0)。然而,在的伺服器系統,配置額外的DBWn並無太多的實質幫助。26國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)LGWR主要是負責將Redo Log Buffer 的內容值,寫入的Redo Log File中。它與DB
18、WR的運作方式不同點在於:DBWR在Database Buffer Cache即將滿載或是經過一定的時間區隔,才會將資料寫入Data File中,且是在有需要的時候才會對相關檔案做存取的動作LGWR是在資料庫的內容有時,如insert、update、delete等,就會被觸發,將異動的情形記錄到online Redo Log File中。因此,當資料庫crash時,就可以根據online Redo Log File內容,對資料庫進行還原的動作。LGWR一樣可以透過設定這個參數值,提供非同步I/O模式的功能。27國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)LGWR 之動作時機:當使用者某
19、交易時,LGWR會遵循,將Redo log butter內的資料異動記錄寫入。下列幾種情況:動作,如:間隔時間為3秒(Checkpoint;CKPT)重置日誌緩衝區之當DBWn回寫資料檔時,必要的時候LGWR也會動作(Write-ahead Protocol)28國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)InstanceSGADBWnRedo logbufferControl filesData files Redo log filesLGWRDatabase29國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)何謂?在DBWn回寫資料至Data File之前,Redo Log B
20、uffer內相關資料都必須完成寫入動作(即)。若DBWn發現某些重置紀錄尚未寫入Redo Log File時,它會通知LGWR 前來處理。等到LGWR將Redo Log Buffer的紀錄寫入完畢時,DBWn才會開始寫入資料檔。30國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)為何要把Redo Log File稱為 online Redo Log File?因為Oracle把Redo Log File分為兩部份:這兩個都是負責、整個資料庫的。不同的是,是online Redo Log File的,由另一個Background Process Archiver()負責管理。在預設的情況下,
21、ARCH是的,而是由LGWR記錄資料庫的異動情形,將這些記錄資料寫到online Redo Log File裏。如果Oracle Server不幸掛了,此時的資料庫僅能復原online Redo Log File裏有記錄的資料。可是,其他的呢?這時候就要靠ARCH將online Redo Log File備份出來。31國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)如果是因為停電或是其它因素導致,下一次啟動資料庫時將由SMON進行必要的資料庫修復動作。主要的工作有:執行一些資料庫必要的(如果有需要的話,SMON會使用online Redo Log File的內容)。定時清除資料庫系統中一些
22、不必要的,例如上次系統交易進行一半的資料或暫時性區間。執行整個系統,對於Tablespace上破碎的Extent,它會將這些較小的Extents予以合併,整理出一個較大的空間,以供系統日後的使用。32國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)InstanceSGASMONControl filesData files Redo log filesInstanceSGASMONDatabase33國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)當某個User Process異常中止時,PMON會執行的動作,就是把已經失效的User Processes給趕出記憶體,並,留待系統日後使
23、用釋放該Process之前使用的系統資源,避免Deadlock發生。PMON和SMON一樣,都是由Oracle資料庫系統,檢查整個資料庫系統的運作情形。34國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)InstanceSGAPMONPGA area35國立聯合大學 資訊管理學系 資料庫系統課程(陳士杰)在一個裏,DBWR會對所有在Database Buffer Cache所做的異動,將其結果寫入到相關的Data Files以及Redo Log Files、Control Files,這樣的動作,就稱為。CKPT Background Process就是扮演著一個的角色,經過一定的時間後,
展开阅读全文