Oracle體系結構之 邏輯結構

2021-05-22 05:05:16 字數 2355 閱讀 6301

一、oracle 邏輯結構簡介

oracle的邏輯結構包括表空間(tablespace),段(segment),資料塊(data block)以及模式物件(schema)。

oracle 資料庫在邏輯上是由多個表間組成的,表空間中儲存的物件叫段,比如資料段,索引段,和回退段。段由區組成,區是磁碟分配的最小單位。段的增大是通過增加區的個數來實現的。每個區的大小是資料塊大小的整數倍,區的大小可以不相同;資料塊是資料庫中最小的i/o單位,同時也是記憶體資料緩衝區的單位,及資料檔案儲存空間單位。塊的大小由引數db_block_size設定,其值應設定為作業系統塊 大小的整數倍。

表空間在物理上包含乙個或多個資料檔案。而資料檔案大小是塊大小的整數倍;

二、表空間

表空間是oracle資料庫最大的邏輯結構,乙個oracle資料庫在邏輯上由多個表空間組成,乙個表空間只隸屬於乙個資料庫。oracle中有乙個稱為 system的表空間,這個表空間是在建立或安裝資料庫時自動建立的。主要用於儲存系統的資料字典,過程,函式,觸發器等;也可以儲存使用者的表,索引等。

前面我們說過要查詢表空間可以通過

sql>select * from dba_data_files;

要查詢表空間的空閒資訊可以通過

sql>select * from dba_free_space;

sql>alter tablespace ***  offline;

如果我們想限制某個使用者能夠使用的表空間的大小,則我們可以通過命令:

sql>alter user *** quota ***m on ***

這表示我們要限制某個指定使用者的表空間使用限額為***m,on之後的引數就是要限制的表空間

臨時表空間用於為使用者排序的order by語句使用 。建立資料庫時可以指定資料庫的預設臨時表空間。在建立使用者的時候可以指定使用者的預設臨時表空間。例如下句就指定temp為使用者的臨時表空間。

sql>create user *** identified by **** temporary tablespace temp;

三、段

oracle中的段可以分成4種型別:資料段、索引段、回滾段、臨時段。

資料段用來儲存使用者的資料,每個表都有乙個對應的回滾段,其名稱和資料表的名字相同。我們可以用下列的sql語句來查詢使用者的資料段資訊:

sql>select  * from user_extents;

索引段用來儲存系統、使用者的索引資訊:

sql>select * from all_indexs / user_indexs;

回滾段用來儲存使用者資料修改前的值,回退段與事務是一對多的關係,乙個事務只能使用乙個回退段,而乙個回退段可存放乙個或多個事務的回退資料。

臨時段用於order by語句的排序以及一些彙總。

四、區

區是磁碟空間分配的最小單位 。磁碟按區劃分,每次至少分配乙個區。區儲存於段中,它由連續的資料塊組成。

區的分配過程中,每次至分配5個區。如果所剩的空閒空間不夠5個區,就會出現錯誤:ora-01653。

可以通過字典dba_tablespaces查詢表空間中區的資訊。可以通過字典user_tables查詢段中區的資訊。可以通過字典user_extents查詢區的分配狀況。

sql>select * from dba_tablespaces;

通過這個查詢我們可以看到各個表空間的:

·block_size :資料塊的大小

·initial_extent :初始化時分配的區的大小,其值為block_size的整數倍

·next_extent:當初始化時分配的區不夠時,下一次擴充套件的區的大小

·min_extents:區大小的下限

·max_extents:區大小的上限

我們可以通過以下sql語句分別查詢表空間、段、區中區的分配資訊

sql>select  *  from dba_tablespaces;

sql>select table_name, tablespace_name, min_extents, max_extents from user_tables;

sql>select  *  from user_extents;

五、資料塊

資料塊是資料中中最小的資料組織單位與管理單位 ,是資料檔案磁碟儲存空間單位,也是資料庫i/o 的最小單位,資料塊大小由db_block_size引數決定,不同的oracle版本db_block_size的預設值是不同的。

六、模式物件(schema object)

oracle 模式物件包括了表,索引,約束,過程,函式,觸發器等等應用結構。我們可以通過以下語句查詢表空間或當前使用者下的所有schema物件:

sql>select  *  from dba_source;

sql>select  *  from user_source;

Oracle體系結構之 邏輯結構

一 oracle 邏輯結構簡介 oracle的邏輯結構包括表空間 tablespace 段 segment 資料塊 data block 以及模式物件 schema oracle資料庫在邏輯上是由多個表間組成的,表空間中儲存的物件叫段,比如資料段,索引段,和回退段。段由區組成,區是磁碟分配的最小單位...

Oracle之體系結構

oracle資料庫是資料的物理儲存。包括 資料庫檔案ora或者dbf 控制檔案 聯機日誌 引數檔案 其實oracle資料庫的概念和其他資料庫不一樣,這裡的資料庫是乙個作業系統只有乙個庫。可以看作oracle就只有乙個大資料庫。乙個oracle例項 oracle instance 有一系列的後台程序 ...

Oracle體系結構之 物理結構

一 物理檔案的分類 oracle資料庫的物理檔案可以分成三類 資料檔案 日誌檔案 控制檔案 二 資料檔案 資料檔案顧名思義是用來儲存資料的。例如 表,索引等等。從資料檔案中讀取出來的資料會首先存放在記憶體中的sga,作為緩衝資料。應用對資料的修改也是先保持在sga中。由dbwr在某一時刻將其寫入到資...