Oracle存儲——邏輯結構


 Oracle 數存儲——物理結構

 

 Oracle存儲結構:物理結構+邏輯結構

 

Oracle 數據庫存儲邏輯結構

 

Oracle Schema Objects(Schema Object Storage And Type)

 

 

 

  • 在操作系統中無法找到邏輯存儲結構所對應的文件,但通過查詢Oracle數據庫的數據字典,可以找到邏輯存儲結構的描述。
  • 邏輯存儲結構包括表空間,段,區,數據塊。邏輯結構之間的關系是:多個組成,多個組成,多個組成表空間,多個表空間組成邏輯數據庫
    • 表空間(多個表空間組成邏輯數據庫
    • 段(多個組成表空間
    • 區(多個組成
    • 數據塊(多個數據塊組成
  • 一個區:一個區只能在一個數據文件中。
  • 段中的各個區一個段中的各個區可以分別在多個數據文件中。
  • 組成區的塊組成區的塊是連續的。
  • 邏輯存儲結構是有大小的:由於邏輯的數據塊對應磁盤空間中某個固定大小尺寸,所以邏輯存儲結構也是有大小的。

 

 

一、 表空間(tablespace) 

下面的表格顯示的是oracle11g自動創建的表空間名稱及其說明

名稱

分類

說明

EXAMPLE

非系統表空間

示例表空間,存放示例數據庫的方案對象信息及其培訓資料

SYSAUX

系統表空間

輔助系統表空間,用於減少system表空間的負荷,提高系統的工作效率。是oracle 10g新增加的表空間

SYSTEM

系統表空間

系統表空間,存放關於表空間名稱、控制文件、數據文件等管理信息,存放着方案對象(如表,索引,同義詞,序列)的定義信息,存放着所有pl/sql 程序(如過程,函數,包,觸發器)的源代碼,是oracle數據庫中最重要的表空間。它屬於SYS和SYSTEM方案,僅被SYS和SYSTEM或其他具有足夠權限的用戶使用。即使是SYS 和SYSTEM用戶也不能刪除或重命名該空間。他是用戶的默認表空間,即當用戶在創建一個對象時,如果沒有指定特定的表空間,該對象的數據也會被保存在SYSTEM表空間中。

TEMP

系統表空間

臨時表空間,存放臨時表和臨時數據,用於排序。每個數據庫都應該有一個(或創建一個)臨時表空間,以便在創建用戶時將其分配給用戶,否則就會將TEMP表空間作為臨時表空間。

UNDOTBS1

非系統表空間

重做表空間,存放數據庫的有關重做的相關信息和數據

USERS

非系統表空間

用戶表空間,存放永久性的用戶對象的數據和私有信息,因此也被稱為數據表空間。每個數據庫都應該有一個(或創建一個)用戶表空間,以便在創建用戶時將其分配給用戶,否則將會使用SYSTEM表空間來保存數據,而這種做法是不好的。一般講,系統用戶使用SYSTEM表空間,而非系統用戶使用USERS表空間

 

 

二、 段(segment)

  • 段用於存儲表空間中某一種特定的,具有獨立存儲結構的數據塊對象的數據。
  • 段是由一個或多個連續的區組成。
  • 創建表、索引、簇等對象時,oracle就會為這些對象分配存儲空間(即段),以便存儲它們的數據
  • 段隨着存儲數據的增大而逐漸變大。段的增大過程是通過增加區的個數而實現的(每次增加一個區)。每個區的大小是塊的整數倍。
  • 按照段中存儲的數據的特征、用途不同,可以分為以下幾種:

段類型

名稱

段類型

名稱

Index partition

索引分區段

Deferred rollback

延遲回退段

Table partition

表分區段

Undo

撤銷段(還原段)

Table

表段(數據段)

Temporary

臨時段

Cluster

簇段

Cache

高速緩存段

Index

索引段

Lob

二進制大對象段

Rollback

回退段

Lobindex

二進制大對象索引段

 

 

 

三、 區(extent)

  • 是由物理上連續存放的所組成的。
  • oracle存儲分配最小單位
  • 一個或多個塊組成區,一個或多個區組成段。
  • 一個區只能屬於一個數據文件。
  • 一個段中的各個區可以分別在多個數據文件中。
  • 當數據庫中創建帶有實際存儲結構的方案對象時(如表、索引)oracle將為方案對象分配若干個區,以便組成一個對應的段來為該方案對象提供初始的存儲空間。
  • 當段中已分配的區都寫滿,oracle就要在該方案對象所在的表空間中為該段分配下一個新的空白區,以便容納更多的數據。

 

四、 塊(block)

  • 塊是最小的數據管理單位,即oracle的所有存儲的i/o操作都是以塊為單位的。操作系統執行i/o的最小單位是操作系統塊
  • 的大小是操作系統塊的大小的整數倍。
  • 塊的大小是一個表空間的屬性。
  • SYSTEM系統表空間和SYSAUX輔助系統表空間具有相同的標准的塊大小,這個大小是在創建數據庫時(會同時創建者兩個表空間)由DB_BLOCK_SIZE初始化參數制定的,但創建數據庫之后這個參數值不能改變。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM