Oracle基礎知識_第一講教程文件.ppt_第1頁
Oracle基礎知識_第一講教程文件.ppt_第2頁
Oracle基礎知識_第一講教程文件.ppt_第3頁
Oracle基礎知識_第一講教程文件.ppt_第4頁
Oracle基礎知識_第一講教程文件.ppt_第5頁
免費預覽已結束,剩余59頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一講ORACLE數據庫架構 二零一零年六月 總體介紹 課程目的 通過此門課程可以學習到的技能 安裝 建立和管理ORACLE10G的企業(yè)版數據庫 Oracle數據庫產品 OracleDatabase10g提供了四個版本 每個版本適用于不同的開發(fā)和部署環(huán)境Oracle數據庫10g標準版1 Oracle數據庫10g標準版2Oracle數據庫10g企業(yè)版 Oracle數據庫10g個人版 關系型數據庫系統(tǒng) 表 屬性 行 列 數據如何組織 EMPLOYEES DEPARTMENTS 完整性約束 結構化查詢語言SQL Structuredquerylanguage SQL 是一種用于獲取及更改數據庫信息的標準的交互式編程語言SQL語句可以完成各種任務 如 查詢數據從表中插入 更改 刪除數據建立 替代 更改和刪除對象控制對數據庫及其對象的訪問保證數據庫的一致性及完整性 ORACLE數據庫管理員的任務 按優(yōu)化順序安排ORACLE數據庫的設計 實現及維護工作 1 評估數據庫服務器的硬件 2 安裝ORACLE軟件 3 規(guī)劃數據庫 4 建立并打開數據庫 5 備份數據庫 6 管理系統(tǒng)用戶 7 執(zhí)行數據庫的設計 8 從故障中恢復數據庫 9 監(jiān)控數據庫性能 ORACLE數據庫體系結構 目標 學習此章 需要掌握以下知識 描述數據庫體系結構理解實例結構 Oracle的主要組成部分 Oracle的主要組成部分 Oracleserver由Oracleinstance和Oracledatabase組成 Oracleinstance由后臺進程和內存結構構成 Oracledatabase由多個操作系統(tǒng)文件 數據庫文件 構成 其它組成部分 OracleServer OracleInstance 用于存取Oracledatabase一次只能打開一個數據庫 建立連接與創(chuàng)建會話 連接與會話 連接 connection 連接是用戶進程與服務器進程之間的一條通信路徑 會話 Session 會話是用戶到OracleServer的一次特定連接 OracleDatabase 物理結構 ORACLE數據庫包含三種文件控制文件 數據文件 聯機日志文件 Controlfiles Datafiles includesDataDictionary Header OnlineRedoLogfiles 控制文件 包含數據庫的物理結構信息多路復用防止損壞或丟失在實例啟動時就需要控制文件分為兩種類型可重用和不可重用控制文件為二進制文件通過alterdatabasebackupcontrolfiletotrace命令備份控制文件 控制文件 聯機日志文件 用來記錄數據庫的改變多路復用防止損壞或丟失 Redologbuffer LogwriterLGWR Group1 Group2 Group3 聯機日志文件 至少要有兩組 只有記錄的修改寫入數據文件 歸檔模式下已經歸檔 才會被重用 建議每組至少兩個成員 聯機日志文件io任務重 建議將數據文件和日志文件分開磁盤放置 聯機日志文件和歸檔日志文件分開磁盤存放 表空間和數據文件 表空間由一個或多個數據文件組成數據文件只屬于一個表空間無法使system表空間或者含有活動回退段的表空間脫機 USERSTablespace Datafile1 Datafile2 ORACLE實例的管理 SystemMonitorSMON DatabaseWriterDBW0 LogWriterLGWR ProcessMonitorPMON ArchiverARC0 SGA JavaPool SharedPool LargePool StreamsPool DatabaseBufferCache RedoLogBuffer CheckpointCKPT Oracle的內存結構 JavaPool DatabaseBufferCache RedoLogBuffer SharedPool LargePool SGA StreamsPool ServerProcess1 PGA ServerProcess2 PGA Back groundProcess PGA Oracle的內存結構 Oracle的內存結構由以下兩個部分組成 SystemGlobalArea SGA OracleInstance的基本組成部分 在實例啟動時分配 ProgramGlobalArea PGA 當服務器進程啟動時分配 在結束時回收 SystemGlobalArea SGA SGA由以下內存結構構成SharedPoolDatabaseBufferCacheRedoLogBuffer其它結構還可以選擇為SGA配置以下三個可選的內存結構 LargePoolJavaPoolStreamPoolSHOWSGA SystemGlobalArea SGA 可動態(tài)調整大小由SGA MAX SIZE SGA TARGET決定SGA的分配以GRANULE為單位連續(xù)的虛擬內存分配Granule的大小由sga max size決定 SharedPool SharedPool用于緩存最近被執(zhí)行的SQL語句和最近被使用的數據定義 它主要由兩個內存結構構成 LibrarycacheDatadictionarycache修改共享池的大小ALTERSYSTEMSETSHARED POOL SIZE 64M LibraryCache LibrayCache緩存最近被執(zhí)行的SQL和PL SQL的相關信息 實現常用語句的共享使用LRU算法進行管理由以下兩個結構構成 SharedSQLareaSharedPL SQLarea DataDictionaryCache Datadictionarycache緩存最近被使用的數據庫定義 它包括關于數據庫文件 表 索引 列 用戶 權限以及其它數據庫對象的信息 在語法分析階段 ServerProcess訪問數據字典中的信息以解析對象名和對存取操作進行驗證 將數據字典信息緩存在內存中有助于縮短響應時間 DatabaseBufferCache DatabaseBufferCache用于緩存從數據文件中檢索出來的數據塊 可以大大提高查詢和更新數據的性能 使用LRU算法進行管理Db block size決定數據庫的primary數據塊的大小 DatabaseBufferCache 由幾個獨立的子緩沖區(qū)組成DB CACHE SIZEDB KEEP CACHE SIZEDB RECYCLE CACHE SIZE可以動態(tài)更改altersystemsetdb cache size 96MDB CACHE ADVICE用來提示DatabaseBufferCache的大小設置是否合適 RedoLogBufferCache RedoLogBufferCache緩存對于數據塊的所有修改 主要用于恢復其中的每一項修改記錄都被稱為redo條目 利用Redo條目的信息可以重做修改 由LOG BUFFER設置大小 LargePool LargePool是SGA中一個可選的內存區(qū)域 可以減輕共享池的負擔 SHAREDSERVER可以為備份 恢復等操作來使用可以用于并行操作不使用LRU算法來管理指定LargePool的大小ALTERSYSTEMSETLARGE POOL SIZE 64M JavaPool JavaPool為Java命令的語法分析提供服務在安裝和使用Java的情況下使用其大小由JAVA POOL SIZE指定 STREAMPool STREAMPOOL為流池當使用流功能其大小由STREAM POOL SIZE指定 ProgramGlobalArea PGA PGA是為每個連接到Oracledatabase的用戶進程保留的內存 Userprocess PGA Serverprocess ProgramGlobalArea PGA PGA存儲一個服務器進程或后臺進程的數據和控制信息 并且只能由一個進程使用 它在進程創(chuàng)建時分配 在進程結束時被收回 進程 Oracle擁有以下類型的進程 UserProcessServerProcessBackgroundProcess 用戶進程 UserProcess 是一個需要與OracleServer交互的程序運行于客戶端當用戶運行某個工具或應用程序 如SQL Plus 時創(chuàng)建 當用戶退出上述程序時結束向OracleServer發(fā)出調用 但它并不與OracleServer直接交互 而是通過ServerProcess與OracleServer進行交互 用戶進程 UserProcess Databaseuser Serverprocess Userprocess Connectionestablished ServerProcess 是一個直接與OracleServer交互的程序 與OracleServer運行于同一臺機器上使用PGA執(zhí)行UserProcess發(fā)出的調用 并向UserProcess返回結果狀態(tài)和結果信息 ServerProcess Connectionestablished Sessioncreated Databaseuser Userprocess Serverprocess BackgroundProcess 后臺進程用于維護物理存儲與內存中的數據之間的關系 主要包括 必須的后臺進程PMONCKPTLGWRSMONDBWn可選的后臺進程ARCnDnnn DatabaseWriter DBWn DBWn在以下情況將數據寫入磁盤 發(fā)生檢查點達到臟緩沖區(qū)閾值沒有可用的緩沖區(qū)超時將表空間設置為脫機或只讀刪除或截斷表備份表空間 LOGWriter LGWR LGWR在以下情況將緩沖區(qū)中的數據寫入磁盤 事務提交三分之一的redo日志緩沖區(qū)已滿Redo日志緩沖區(qū)中的內容超過1M每三秒鐘在DBWn寫磁盤之前 SystemMonitor SMON 負責檢查和維護Oracledatabase的一致性 它主要完成以下工作 實例恢復重做已提交的事務打開數據庫回滾未提交的事務合并數據文件中相鄰的自由空間釋放臨時段的空間 SystemMonitor SMON Controlfiles Datafiles RedoLogfiles Database Instance SGA SMON ProcessMonitor PMON 當某個進程失效時 清除相關的資源 它主要負責以下工作 回滾用戶的當前事務釋放相關的鎖釋放其它相關的資源 ProcessMonitor PMON PGAarea Instance SGA PMON Checkpoint CKPT Checkpoint負責 使DBWn將SGA中所有被修改的數據庫緩沖區(qū)的內容寫入磁盤 無論事務是否被提交用檢查點信息更新數據文件頭用檢查點信息更新控制文件它可以保證 將經常被修改的數據塊寫入磁盤簡化實例恢復 Checkpoint CKPT Archiver ARCn 是一個可選的后臺進程當把數據庫設置為ARCHIVELOG模式時 可以自動歸檔聯機redo日志能夠保存所有對數據庫所做修改的記錄 Archiver ARCn ARCn Archivedredologfiles 邏輯結構 描述數據庫的物理空間如何被使用表空間 段 區(qū)及數據塊的關系 Tablespace Datafile Segment Blocks Extent Segment 段 區(qū)和塊 段存在于一個表空間中 一個或多個區(qū)組成一個段 一個或多個數據塊組成一個區(qū) 數據塊由一個或多個操作系統(tǒng)塊組成 數據庫中一個普通表就是一個段 分區(qū)表中每一個分區(qū)就是一個段 索引也是一個段 數據庫中io以數據塊為單位進行 段segment 區(qū)extents 數據塊datablocks 操作系統(tǒng)塊osblocks 2020 3 7 數據庫的邏輯和物理結構 Database Logical Physical Tablespace Datafile OSblock Segment Extent Oracledatablock Schema 查詢處理 解析在SharedPool中尋找是否有同樣的語句檢查語法 對象名和權限對解析用到的對象加鎖創(chuàng)建和存儲執(zhí)行計劃執(zhí)行獲取和返回數據 處理DML語句 解析執(zhí)行 DatabaseControl Datab

溫馨提示

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

評論

0/150

提交評論