oracle表空間型別

2021-09-30 04:38:22 字數 2478 閱讀 9902

表空間可以按4種方式分類

一、按資料檔案的型別,分為:

大檔案表空間(bigfile tablespace)此為10g新增功能

小檔案表空間(smallfile tablespace)此為建立時預設值

大檔案表空間的優點有:

1、在乙個表空間裡只有乙個大的資料檔案,以後不需要再去管理資料檔案;

2、乙個大的資料檔案相當於1024個小的資料檔案,這樣一來,在乙個塊大小為32k時,整個資料庫可以達到(4g*32k)128tb,不過在實際環境中還是要受到作業系統的影響;

3、使用乙個大的資料檔案可以代替多個小資料檔案,這樣對資料檔案的管理就少多了;

4、當開啟資料庫,發生檢查點,執行dbwr程序時使用大檔案表空間會增強效能。

大檔案表空間的的需要注意有:

1、要使用在oracle的asm(自動儲存管理)的儲存空間或者分散(striping)儲存的lvm中,或者raid陣列上;

2、不要把大檔案表空間建立在不能分散(striping)儲存的系統上;

3、不要把大檔案表空間建立在沒有空間(剩餘空間少)的磁碟組上;

4、建立大檔案表空間時不推薦建立在不能擴充套件的儲存空間裡;

5、大檔案表空間只支援本地管理表空間(lmt)和本地段空間管理(assm);

6、在臨時表空間與回滾段表空間,只能用手動段空間管理;

7、自動擴充套件資料檔案必須是起用的,而且最大檔案大小必須是不限制;

8、系統表空間和系統輔助(sysaux)表空間不能使用大檔案表空間;

9、每個表空間只能包含乙個資料檔案。如果試圖新增新的檔案,則會報告 ora-32771 錯誤;

10、在 bft 上儲存的表的 rowid 和 smallfile 表空間上的 rowid 結構有些不同的。要正確得到 rowid 資訊,dbms_rowid 包增加了乙個新的引數 ts_type_in 來解決這個問題。參考這個範例:

sql> select dbms_rowid.rowid_block_number (rowid, bigfile) 2 from foo;

dbms_rowid.rowid_block_number(rowid,bigfile)

----------------------------------------------

24sql>

二、按管理方式,分為:

本地管理表空間(lmt)

資料字典管理表空間(dmt)

本地管理表空間:

一種比較先進的管理擴充套件(extent)的方式;

是用bitmap來管理表空間裡的所有的extent;

當使用本地管理表空間時是使用6個塊(從第三個到第八個)來標識整個表空間裡的每乙個擴充套件(extent);

其中的每一位(bit)來表示每個擴充套件的狀態。1為已被分配,0為可被分配。

在本地管理表空間的方式裡可以選擇每個extent的大小是固定(uniform)的或是自動的:在自動管理,系統一般是剛開始乙個extent8個block,然後逐漸增加;固定大小為每個extent都是固定大小的,推薦使用。

10g裡是不能建立字典管理表空間的,被強制推薦,只能倒入老版本中的字典管理表空間。

三、按使用型別,分為:

永久段表空間()

臨時段表空間()

回滾段表空間()

永久表空間:

一般儲存資料的表空間;

系統表空間,普通使用者使用的表空間都為永久表空間;

永久表空間的狀態有三種:讀寫,唯讀,離線;

只有在永久表空間,才能配置assm管理模式;

可以設定記錄日誌模式。建立選yes,以便資料庫出問題後進行恢復;

以設定為系統預設表空間。這樣,建立使用者時,沒有指定預設表空間,就自動設定為系統預設表空間;

設定預設表空間的命令:

alter database default tablespace ;

臨時表空間:

一般用來排序和建立索引時使用;

臨時表空間裡不存放實際的資料,所以,即使出了問題,也不需要恢復,而且,也不需要備份,因此也不需要記錄日誌;

臨時表空間只能使是讀寫模式,而且只能為手動管理段空間模式;

可以設定為系統預設臨時表空間。這樣,建立使用者時,沒有指定預設臨時表空間,就自動設定為系統預設臨時表空間,命令如下:

alter database default temporary tablespace ;

回滾段表空間:

用來存放修改中資料的原資料;

回滾段表空間是用來保證資料讀一致性的;

四、在永久表空間中按儲存內容方式,分為:

系統表空間(system tablespace)

系統輔助表空間(sysaux tablespace)

非系統表空間

oracle表空間型別

表空間可以按4種方式分類 一 按資料檔案的型別,分為 大檔案表空間 bigfile tablespace 此為10g新增功能 小檔案表空間 smallfile tablespace 此為建立時預設值 大檔案表空間的優點有 1 在乙個表空間裡只有乙個大的資料檔案,以後不需要再去管理資料檔案 2 乙個大...

Oracle表空間 表

表 table 表空間是對儲存系統檔案 使用者資訊等資料的乙個空間。oracle表空間屬於oracle中的儲存結構,是由資料檔案組成,乙個資料庫例項可以有n個表空間,每個資料庫至少有乙個表空間 system表空間 乙個表空間下可以有n張表。可以通過表空間來實現對oracle的調優 oracle資料庫...

Oracle 表空間和臨時表空間

表空間 此空間是用來進行資料儲存的 表 function 儲存過程等 所以是實際物理儲存區域。臨時表空間 主要用途是在資料庫進行排序運算 如建立索引 order by及group by distinct union intersect minus sort merge及join analyze命令 ...