Oracle學習筆記第十天
Oracle的體系結構
概念:
系統的體系架構指系統的組成部分,以及這些組成部分之間的關系。
Oracle的體系架構,是指Oracle資料庫管理系統的組成部分和這些組成部分之間的互相關系,包括記憶體結構、背景程序、實體與邏輯結構等。
Oracle體系結構
Oracle由兩大部分組成 = 執行個體+資料庫
關系:執行個體就是程式,資料庫是檔案,程式讀寫并管理檔案。
執行個體組成= 配置設定的記憶體+背景程序= SGA+PGA +背景程序。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TSYVmNSdVZ0g2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmL1MDOxUDN0ATMzIjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
執行個體:位與記憶體
背景程序應該是在CPU上,它所需要的資料應該在記憶體裡。
資料庫:位與硬碟上
Oracle的資料庫的實體檔案可以在硬碟上找到,在Oracle的安裝目錄下的oradata的檔案夾–> orcl檔案夾,在這個檔案裡。
CTL 結尾的是控制檔案,DBF結尾的是資料檔案,LOG結尾的是日志檔案。其他檔案需要進行某些配置才能出來,至于怎樣的配置,沒研究…
注意:裡面的檔案不要打開。
打開後你會發現檔案内容看不懂,因為那個是一個二進制檔案,需要用Oracle的專門解碼器才能轉換,一旦你打開了,對檔案産生了修改,哪怕是加一個空格然後删掉那個空格,都是修改,那恭喜你,你的Oracle資料庫可能被KO了。可能就啟動不起來了。
Oracle的二進制控制檔案本地打開後顯示的内容
詳解
實體結構:
實體元件包括:資料檔案、控制檔案、日志檔案和其他檔案(比如參數檔案、密碼檔案、密碼檔案)
-
資料檔案:
用于存儲資料庫資料,如表、索引資料等。
-
日志檔案:
記錄對資料庫的所有修改資訊,用于故障恢複。
-
控制檔案:
記錄資料庫實體結構的二進制檔案。
邏輯結構:
概念:指Oracle的“邏輯上”是用什麼對象進行存儲的
- 資料塊:
- 資料塊是Oracle伺服器所能配置設定、讀取或寫入的最小存儲單元。
-
Oracle伺服器以資料塊為機關管理資料檔案的存儲空間。
資料塊是Oracle資料庫的最小單元,資料塊最小的設定為8192bytes,即8kb,如果存儲的資料小于8kb,讀取這一批資料時,讀取的大小不是資料的大小,而是資料塊的大小,即8kb。
- 區:
- 區為段配置設定空間,它由連續的資料塊組成。
-
當段中的所有空間已完全使用時,系統自動為該段配置設定一個新區。
注意:第二點,每使用完一批連續的資料塊,即一個區,系統不是會再配置設定一個資料塊,而是一個新的區。
- 段:
- 段是構成表空間的邏輯存儲結構,段由一組區組成。
-
按照段所存儲資料的特征,将段分為即資料段、索引段、回退段和臨時段。
段是比區大一級的範圍。
- 表空間:
- 表空間是資料庫中最大的邏輯機關,每個表空間是由一個或多個資料檔案組成的,一個資料檔案隻能與一個表空間相關聯。
- 表空間的大小等于構成該表空間的所有資料檔案大小之和。
- 模式:
- 英文Schema,模式是對使用者所建立的資料庫對象的總稱。
- 模式對象包括表、視圖、索引、同義詞、序列、過程和程式包等。
-
與使用者的關系:模式名稱就是控制該模式的使用者名稱。
通俗簡單的了解:就是一個使用者。
SGA(系統全局區)
SGA儲存了資料庫環境和字典資訊,由多個資料庫程序共享
SGA包含:日志緩沖區、共享池、資料緩沖區。
SGA最大的作用:就是提升Oracle的各方面的性能。
緩存區:就是起緩沖作用的某個記憶體區域
- 共享池:
- 共享池是對SQL、PL/SQL程式進行文法分析、編譯、執行的記憶體區域
- 共享池由庫緩存和資料字典緩存組成。
- 共享池的大小直接影響資料庫的性能。
- 儲存了對SQL分析結果,減少了分析相同SQL的時間,提高SQL執行效率。
- 資料緩沖區
- 用于存儲從磁盤資料檔案中讀入的資料,所有使用者共享。
- 伺服器程序将讀入的資料儲存在資料緩沖區中,當後續的請求需要這些資料時可以在記憶體中找到,不需要再從磁盤讀取,提高了讀取速度。
- 資料緩沖區的大小對資料庫的讀取速度有直接的影響。
- 已讀取常見表格的資料,減少了對磁盤的操作,提高了資料庫性能。
- 日志緩沖區
- 日志記錄資料庫的所有修改資訊,日志資訊首先産生于日志緩沖區。
- 當日志緩沖區的日志資料達到一定數量時,由背景程序将日志資料寫入日志檔案中。
- 相對來說,日志緩沖區對資料庫的性能影響較小。
- 減少了儲存日志時對磁盤的操作,提高了資料庫性能。
PGA(程式全局區)
這玩意沒有多餘的介紹。
與SGA的差別:PGA是私有的,SGA公共的。
背景程序
- PMON 程序監控程序
- 清理出現故障的程序。
- 釋放所有目前挂起的鎖定。
- 釋放故障程序使用的資源。
- SMON 系統監控程序
- 在執行個體失敗之後,重新打開資料庫時自動恢複執行個體。
- 整理資料檔案的自由空間,将相鄰區域結合起來。
- 釋放不再使用的臨時段。
- DBWR 資料寫入程序
- 管理資料緩沖區,将最近使用過的塊保留在記憶體中。
- 将修改後的緩沖區資料寫入資料檔案中。
- LGWR 日志寫入程序
- 負責将日志緩沖區中的日志資料寫入日志檔案。
- 系統有多個日志檔案,該程序以循環的方式将資料寫入檔案。