Oracle 邏輯結構簡介
一、Oracle 邏輯結構簡介
oracle的邏輯結構包括表空間(tablespace),段(segment),資料塊(data block)以及模式物件(schema)。
oracle資料庫在邏輯上是由多個表間組成的,表空間中儲存的物件叫段,比如資料段,索引段,和回退段。段由區組成,區是磁碟分配的最小單位。段的增大是透過增加區的個數來實現的。每個區的大小是資料塊大小的整數倍,區的大小可以不相同;資料塊是資料庫中最小的I/O單位,同時也是記憶體資料緩衝區的單位,及資料檔案儲存空間單位。塊的大小由引數DB_BLOCK_SIZE設定,其值應設定為作業系統塊大小的整數倍。
表空間在物理上包含一個或多個資料檔案。而資料檔案大小是塊大小的整數倍;
二、表空間
表空間是Oracle資料庫最大的邏輯結構,一個Oracle資料庫在邏輯上由多個表空間組成,一個表空間只隸屬於一個資料庫。Oracle中有一個稱為SYSTEM的表空間,這個表空間是在建立或安裝資料庫時自動建立的。主要用於儲存系統的資料字典,過程,函式,觸發器等;也可以儲存使用者的表,索引等。
前面我們說過要查詢表空間可以透過
SQL>select * form dba_data_files;
要查詢表空間的空閒資訊可以透過
SQL>select * from dba_free_space;
表空間有線上(online)或離線(offline)之說,一旦我們將表空間設定成離線的狀態,則所有對該表空間內物件的修改將無法同步到資料檔案中。我們可以將除SYSTEM和RBS表空間之外的其它表空間設定成離線狀態。命令如下:
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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199667/viewspace-1008662/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 邏輯結構Oracle
- oracle的邏輯結構Oracle
- Oracle OCP(41):邏輯結構Oracle
- [zt] Oracle的邏輯結構Oracle
- 3:Oracle體系結構(邏輯結構)Oracle
- oracle邏輯儲存結構理解Oracle
- 資料庫 Mysql 邏輯架構簡介資料庫MySql架構
- PostgreSQL:邏輯結構SQL
- 一張圖看懂Oracle邏輯結構和物理結構的關係Oracle
- 物理結構和邏輯結構更通俗解釋
- shared pool的物理結構和邏輯結構
- Spark LogisticRegression 邏輯迴歸之簡介Spark邏輯迴歸
- 機器學習中的邏輯迴歸模型簡介機器學習邏輯迴歸模型
- 資料結構知識點--儲存結構與邏輯結構資料結構
- ASP.NET Razor – VB 邏輯條件簡介ASP.NET
- Oracle OCP(42):ASM 儲存結構簡介OracleASM
- Oracle程式結構及後臺程式簡介Oracle
- HBase學習之Hbase的邏輯結構和物理結構
- 檔案的邏輯結構、檔案目錄
- 事務日誌邏輯體系結構
- ASP.NET Razor – C# 邏輯條件簡介ASP.NETC#
- js的邏輯與&&運算子用法簡單介紹JS
- Oracle的邏輯結構(表空間、段、區間、塊)——Oracle資料塊(二)Oracle
- Oracle的邏輯結構(表空間、段、區間、塊)——表空間Oracle
- 資料結構簡介資料結構
- 硬碟結構簡介 (轉)硬碟
- 成為MySQL DBA後,再看ORACLE資料庫(六、邏輯儲存結構)MySqlOracle資料庫
- linux 邏輯卷介紹Linux
- 邏輯式程式語言極簡實現(使用C#) - 1. 邏輯式程式語言介紹C#
- Vue原始碼探究-資料繫結邏輯架構Vue原始碼架構
- IC卡檔案系統的邏輯結構【轉】
- 邏輯表空間管理結構(Logical Storage Structures)Struct
- SQL Server中TempDB管理(version store的邏輯結構)SQLServer
- 邏輯架構和物理架構架構
- 資料結構中樹形結構簡介資料結構
- ffmpeg資料結構簡介資料結構
- postgre目錄結構簡介
- Redis資料結構簡介Redis資料結構