tablespace 大檔案,undo,temp tablespace
大檔案表空間:
大檔案表空間增強了oracle資料庫的儲存能力,一個小檔案表空間最多可以包含1024個datafile,大檔案表空間只能包含一個datafile,大檔案表空間最大容量是小資料檔案的1024倍。大檔案表空間和小檔案表空間的最大容量是相同的,但是在檔案管理方面減少了對資料檔案的管理工作。
使用大檔案表空間替代傳統的表空間,資料庫open checkpoint以及dbwr程式的效能會得到提高,但是增大資料檔案的容量可能增加備份和恢復時間。
System表空間是儲存pl/sql程式結構,包括procedure function package trigger等,資料庫開啟後就必須將system表空間聯機。如果system表空間是本地管理的,那麼其餘的tablespace都必須是本地管理,也就無法建立字典管理的tablespace了。
在oracle 10g中,Sysaux是system表空間的一個輔助性表空間。Oracle中很多元件預設儲存在sysaux表空間中。Sysaux用來儲存所有不儲存在system表空間的資料後設資料,不允許drop和rename sysaux表空間。Sysaux表空間不支援也移動表空間功能。
撤銷表空間只儲存撤銷段,無法在撤銷表空間中建立段。如果例項沒有分配執行撤銷表空間,那麼事務將使用系統的撤銷段。當undo tablespace正在被instance使用或者包含了事務所需的撤銷資訊,不能移除。
替換預設的undo tablespace:首先create一個undo tablespace,然後alter system set undo_tablespace=’’ scope=both 這樣就重新建立了一個undo tablespace並讓其儲存後續事務的回滾段資訊。
既然提到了undo tablespace,就有flashback query,閃回查詢正是利用undo tablespace的回滾段資訊來實現的,當然undo tablespace必須是自動回滾段管理。
自動回滾段管理需要設定兩個引數一個是undo_management和undo_tablespace,在oracle9I後undo_management預設的是auto,undo_tablespace是預設的undo tablespace,只要設定這兩個引數oracle就回採取自動管理撤銷表空間。
閃回查詢:
select * from test01 as of timestamp to_timestamp(‘2011-9-13 10:00:00’,’yyyy-mm-dd hh24:mi:ss’)
回滾段的保留undo_retention:
flashback query正是利用undo tablespace來實現的。其中引數undo_retention是保留回滾段資訊的時間,但是並不是回滾段保留一定會是undo_retention,當回滾段不足時新事物會自動覆蓋已提交的事務的資料,而不會管這些資料是否達到了undo_retention;當然如果超過undo_retention的限制,回滾段會被標記為可重用,不過undo tablespace足夠大,事務交替不是很頻繁,即使超過undo_retention的限制回滾段的資料可能還是存在。
如果強制執行該回滾段在undo_retention限制內有效。
Alter tablespace undotbs1 retention guarantee
臨時表空間:
如果system是本地管理的,oracle會要求建立預設的temporary tablespace,如果是字典管理且沒有定義臨時表空間,會使用system表空間作為臨時表空間。
替換預設的臨時表空間為temp02
Create temporary tablespace temp02 tempfile ‘’ size 50M
Alter database temporary tablespace temp02
上述過程和替換default tablespace基本一樣。
表空間離線,聯機。
表空間離線或聯機的資訊儲存在system表空間的資料字典中,在資料庫開啟時offline的表空間下次啟動時依然是offline狀態,當某些錯誤發生時,oracle會自動地將祥光的聯機表空間切換到離線狀態,dbwn程式往資料檔案多次失敗後,oracle就會將此表空間切換到離線狀態。
排序使用的臨時表空間
使用專用的臨時表空間排序,能解決頻繁的排序空間分配與回收而造成的空間管理,一個sql語句可以使用多個臨時表空間排序。
排序段
臨時表空間與使用者用於建立臨時段的表空間不同,臨時段可以在任何表空間中,臨時表空間中不能儲存永久方案物件,排序段sort segment是多個排序操作共享的段。當使用多重排序時,且所需空間超過pga的記憶體區域時,使用臨時表空間有助於提升效能。
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25362835/viewspace-1055012/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [Oracle Script] check temp tablespace usageOracle
- [Oracle] 檢視tablespace的使用率(Including temp tablespace)Oracle
- Oracle OCP(48):UNDO TABLESPACEOracle
- Oracle Bigfile Tablespace大檔案表空間Oracle
- oracle 切換undo tablespace小結Oracle
- Oracle - ORA-01652: unable to extend temp segment by 128 in tablespace TEMPOracle
- recover database delete archivelogs skip tablespace temp;報錯DatabasedeleteHive
- Run Out Of Space On UNDO Tablespace Using DataPump Import/ExportImportExport
- oracle10g undo tablespace相關知識Oracle
- 使用_smu_debug_mode瞭解undo tablespace
- ORA-1652: unable to extend temp segment by 256 in tablespace PSAPTEMPAPT
- 處理undo tablespace損環_rman-06054_一則
- db2 sms tablespace 不支援large tablespaceDB2
- Tablespace Space Script
- remap_tablespaceREM
- The SYSAUX Tablespace (40)UX
- 重建控制檔案與 datafile offline,tablespace read only
- drop tablespace xx INCLUDING CONTENTS AND DATAFILES; 檔案不立刻消失
- Master Note for Tablespace IssuesAST
- TRANSPORT TABLESPACE總結
- Tablespace Repository (60)
- ORA-30046: Undo tablespace UNDOTBS1 not found in control file 無undo啟動庫
- ORA-1652: unable to extend temp segment by 128 in tablespace錯誤的解決方法
- ORA-30012 undo tablespace 'UNDOTBS3' does not exist or of wrong typeS3
- Oracle - ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'Oracle
- oracle管理之 undo tablespace(server.102 b14231)OracleServer
- 資料檔案或者tablespace損壞基於rman恢復測試
- MySQL 5.7 InnoDB Tablespace EncryptionMySql
- Oracle Table and tablespace CompressOracle
- CREATE TABLESPACE命令詳解
- tablespace_name 為nullNull
- 【TABLESPACE】通過重建控制檔案調整表空間資料檔案位置及名稱
- 【TABLESPACE】怎麼去降低資料檔案的高水位呢(BLOCK_ID)BloC
- ORA-25153: Temporary Tablespace is Empty 重建控制檔案導致丟失tempfile
- 重建控制檔案後,對臨時表空間(temporary tablespace)進行重建
- How to move Oracle Spatial objects from SYSAUX tablespace to a user defined tablespace [ID 1119758.1OracleObjectUX
- [Oracle Script] check tablespace usage infoOracle
- Oracle 11g tablespace usageOracle