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