帶您了解Oracle數(shù)據(jù)庫的段
Oracle數(shù)據(jù)庫的段是Oracle數(shù)據(jù)庫結(jié)構(gòu)中的重要部分,下面就為您詳細介紹Oracle數(shù)據(jù)庫的段,希望對您能夠有所幫助。
Oracle數(shù)據(jù)庫的段
Oracle數(shù)據(jù)庫的段是對象在數(shù)據(jù)庫中占用的空間,雖然Oracle數(shù)據(jù)庫的段和數(shù)據(jù)庫對象是一一對應(yīng)的,但段是從數(shù)據(jù)庫存儲的角度來看的。一個段只能屬于一個表空間,當然一個表空間可以有多個段。
表空間和數(shù)據(jù)文件是物理存儲上的一對多的關(guān)系,表空間和段是邏輯存儲上的一對多的關(guān)系,段不直接和數(shù)據(jù)文件發(fā)生關(guān)系。一個段可以屬于多個數(shù)據(jù)文件,關(guān)于段可以指定擴展到哪個數(shù)據(jù)文件上面。
Oracle數(shù)據(jù)庫的段可以分為四類:數(shù)據(jù)段、索引段、回退段、臨時段。
1.數(shù)據(jù)段
數(shù)據(jù)段是用于存儲數(shù)據(jù)的段,他存儲在數(shù)據(jù)表空間中。每一個表都有一個數(shù)據(jù)段(聚簇除外),表的數(shù)據(jù)存儲在數(shù)據(jù)段中,默認情況下段名與表名相同。以下語句查詢段的信息:
SQL>SELECT SEGMENTNAME,TABLESPACE,NAME,BYTES,BLOCKS FROM USER_EXTENTS;
2.索引段
索引段用于存儲索引,以下語句查詢索引信息:
SQL>SELECT * FROM ALL_INDEXS
SQL>SELECT * FROM USER_INDEXS
3.回退段
回退段用于存儲用戶數(shù)據(jù)修改之前的值,因而可以在特定條件下回退數(shù)據(jù)?;赝硕闻c事務(wù)是一對多的關(guān)系,一個事務(wù)只能使用一個回退段,而一個回退段可存放一個或多個事務(wù)的回退數(shù)據(jù)。
在oracle8i及之前的版本中,管理回退段是項很復雜的工作,管理員需要根據(jù)每個事務(wù)的大小和事務(wù)數(shù)量來確定、計算回退段的數(shù)量及存儲參數(shù),在oracle9i之后,oracle增加了undo表空間,由系統(tǒng)自動管理它。從此不再需要考慮對回退段的管理。參數(shù)undo_management決定數(shù)據(jù)庫使用的是回退段還是undo表空間,其值為auto表示使用undo表空間自動管理,manual表示手動管理回退段。
4.臨時段
臨時段用于order by語句的排序以及一些匯總。
【編輯推薦】