Oracle(二):Oracle的魔鬼身材(又名體系結構)


一、Oracle體系結構概述

Oracle體系結構
Oracle數據庫系統通常由實例(INSTANCE)數據庫(DATABASE) 組成。

  • 實例: 一組Oracle後臺進程/線程以及在服務器分配的共享內存區。
  • 數據庫: 一系列物理文件(數據文件,控制文件,聯機日誌文件,參數文件等)的集合。
  • 兩者關係: 數據庫可以由多個實例裝載和打開,而實例可以在任何時候裝載和打開一個數據庫。也就是說,一個實例在其生存期最多隻能裝載和打開一個數據庫。

二、邏輯存儲結構

在這裏插入圖片描述
Oracle的邏輯存儲單元從小到大依次爲:數據塊(DataBlocks),盤區(Extent),(Segments)和表空間(TableSpace)。多個表空間組成了Oracle數據庫。

  • 數據塊: Oracle管理存儲空間的最小單元,也是執行數據庫輸入輸出操作的最小單位。
  • 盤區: Oracle存儲分配的最小單位。
  • 段: 獨立的邏輯存儲結構。
  • 表空間: 最大的邏輯存儲結構,在數據庫中建立的所有內容都被存儲在表空間。

三、物理存儲結構

在這裏插入圖片描述
查看數據文件:
查看數據文件
一個數據文件只能屬於唯一的一個表空間。數據文件包含操作系統文件。
查看控制文件:
查看控制文件
控制文件中的主要信息包括:數據庫的名字、檢查點信息、數據庫創建的時間戳、所有的數據文件、重做日誌文件信息和備份信息等。
查看日誌文件:要先查看動態視圖中日誌文件的名稱
在這裏插入圖片描述

注:
v$爲動態視圖
數據文件後綴:.dbf
控制文件後綴:.ctf
日誌文件後綴:.log
敲重點: Oracle利用重做日誌文件記錄對數據庫進行的修改。

四、實例的內存結構

在這裏插入圖片描述

五、實例的進程結構

在這裏插入圖片描述

  • 用戶進程:連接和會話。
  • 服務器進程:代表用戶會話完成工作的進程,應用向數據庫發送的SQL語句由該進程接受並執行。
  • 後臺進程:保證數據庫運行。
    注:DBWR(數據寫進程)的主要任務是將“弄髒”的緩存塊的數據寫入磁盤,使緩衝區保持乾淨。

六、數據字典

靜態:

  • user_:查看當前用戶所擁有對象。
  • all_:查看當前用戶以及它所擁有的其他用戶對象。
  • dba_:查看所有數據庫對象。
    動態:
  • v$。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章