Oracle基礎(chǔ)知識_第一講教程文件.ppt_第1頁
Oracle基礎(chǔ)知識_第一講教程文件.ppt_第2頁
Oracle基礎(chǔ)知識_第一講教程文件.ppt_第3頁
Oracle基礎(chǔ)知識_第一講教程文件.ppt_第4頁
Oracle基礎(chǔ)知識_第一講教程文件.ppt_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余59頁可下載查看

下載本文檔

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

文檔簡介

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

溫馨提示

  • 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

提交評論