天天看點

Oracle學習筆記第十天

Oracle學習筆記第十天

Oracle的體系結構

概念:

​ 系統的體系架構指系統的組成部分,以及這些組成部分之間的關系。

​ Oracle的體系架構,是指Oracle資料庫管理系統的組成部分和這些組成部分之間的互相關系,包括記憶體結構、背景程序、實體與邏輯結構等。

Oracle體系結構

Oracle由兩大部分組成 = 執行個體+資料庫

關系:執行個體就是程式,資料庫是檔案,程式讀寫并管理檔案。

執行個體組成= 配置設定的記憶體+背景程序= SGA+PGA +背景程序。

Oracle學習筆記第十天
執行個體:位與記憶體
Oracle學習筆記第十天

背景程序應該是在CPU上,它所需要的資料應該在記憶體裡。

資料庫:位與硬碟上

Oracle學習筆記第十天

Oracle的資料庫的實體檔案可以在硬碟上找到,在Oracle的安裝目錄下的oradata的檔案夾–> orcl檔案夾,在這個檔案裡。

CTL 結尾的是控制檔案,DBF結尾的是資料檔案,LOG結尾的是日志檔案。其他檔案需要進行某些配置才能出來,至于怎樣的配置,沒研究…

注意:裡面的檔案不要打開。

打開後你會發現檔案内容看不懂,因為那個是一個二進制檔案,需要用Oracle的專門解碼器才能轉換,一旦你打開了,對檔案産生了修改,哪怕是加一個空格然後删掉那個空格,都是修改,那恭喜你,你的Oracle資料庫可能被KO了。可能就啟動不起來了。

Oracle學習筆記第十天

Oracle的二進制控制檔案本地打開後顯示的内容

詳解

實體結構:

實體元件包括:資料檔案、控制檔案、日志檔案和其他檔案(比如參數檔案、密碼檔案、密碼檔案)

  1. 資料檔案:

    用于存儲資料庫資料,如表、索引資料等。

  2. 日志檔案:

    記錄對資料庫的所有修改資訊,用于故障恢複。

  3. 控制檔案:

    記錄資料庫實體結構的二進制檔案。

邏輯結構:

概念:指Oracle的“邏輯上”是用什麼對象進行存儲的

  1. 資料塊:
  • 資料塊是Oracle伺服器所能配置設定、讀取或寫入的最小存儲單元。
  • Oracle伺服器以資料塊為機關管理資料檔案的存儲空間。

    資料塊是Oracle資料庫的最小單元,資料塊最小的設定為8192bytes,即8kb,如果存儲的資料小于8kb,讀取這一批資料時,讀取的大小不是資料的大小,而是資料塊的大小,即8kb。

  1. 區:
  • 區為段配置設定空間,它由連續的資料塊組成。
  • 當段中的所有空間已完全使用時,系統自動為該段配置設定一個新區。

    注意:第二點,每使用完一批連續的資料塊,即一個區,系統不是會再配置設定一個資料塊,而是一個新的區。

  1. 段:
  • 段是構成表空間的邏輯存儲結構,段由一組區組成。
  • 按照段所存儲資料的特征,将段分為即資料段、索引段、回退段和臨時段。

    段是比區大一級的範圍。

  1. 表空間:
  • 表空間是資料庫中最大的邏輯機關,每個表空間是由一個或多個資料檔案組成的,一個資料檔案隻能與一個表空間相關聯。
  • 表空間的大小等于構成該表空間的所有資料檔案大小之和。
  1. 模式:
  • 英文Schema,模式是對使用者所建立的資料庫對象的總稱。
  • 模式對象包括表、視圖、索引、同義詞、序列、過程和程式包等。
  • 與使用者的關系:模式名稱就是控制該模式的使用者名稱。

    通俗簡單的了解:就是一個使用者。

Oracle學習筆記第十天

SGA(系統全局區)

SGA儲存了資料庫環境和字典資訊,由多個資料庫程序共享

SGA包含:日志緩沖區、共享池、資料緩沖區。

SGA最大的作用:就是提升Oracle的各方面的性能。

緩存區:就是起緩沖作用的某個記憶體區域

  1. 共享池:
  • 共享池是對SQL、PL/SQL程式進行文法分析、編譯、執行的記憶體區域
  • 共享池由庫緩存和資料字典緩存組成。
  • 共享池的大小直接影響資料庫的性能。
  • 儲存了對SQL分析結果,減少了分析相同SQL的時間,提高SQL執行效率。
  1. 資料緩沖區
  • 用于存儲從磁盤資料檔案中讀入的資料,所有使用者共享。
  • 伺服器程序将讀入的資料儲存在資料緩沖區中,當後續的請求需要這些資料時可以在記憶體中找到,不需要再從磁盤讀取,提高了讀取速度。
  • 資料緩沖區的大小對資料庫的讀取速度有直接的影響。
  • 已讀取常見表格的資料,減少了對磁盤的操作,提高了資料庫性能。
  1. 日志緩沖區
  • 日志記錄資料庫的所有修改資訊,日志資訊首先産生于日志緩沖區。
  • 當日志緩沖區的日志資料達到一定數量時,由背景程序将日志資料寫入日志檔案中。
  • 相對來說,日志緩沖區對資料庫的性能影響較小。
  • 減少了儲存日志時對磁盤的操作,提高了資料庫性能。

PGA(程式全局區)

這玩意沒有多餘的介紹。

與SGA的差別:PGA是私有的,SGA公共的。

背景程序

Oracle學習筆記第十天
  1. PMON 程序監控程序
  • 清理出現故障的程序。
  • 釋放所有目前挂起的鎖定。
  • 釋放故障程序使用的資源。
  1. SMON 系統監控程序
  • 在執行個體失敗之後,重新打開資料庫時自動恢複執行個體。
  • 整理資料檔案的自由空間,将相鄰區域結合起來。
  • 釋放不再使用的臨時段。
  1. DBWR 資料寫入程序
  • 管理資料緩沖區,将最近使用過的塊保留在記憶體中。
  • 将修改後的緩沖區資料寫入資料檔案中。
  1. LGWR 日志寫入程序
  • 負責将日志緩沖區中的日志資料寫入日志檔案。
  • 系統有多個日志檔案,該程序以循環的方式将資料寫入檔案。