數據文件、表空間offline用法及區別

對數據庫的脫機包括數據文件的脫機和對錶空間的脫機,表空間脫機實際就是表空間對應的全部數據文件脫機。數據庫

1.         數據文件OFFLINEide

數據文件添加到表空間以後不可以被刪除的,沒有語法支持這麼作,若是想不使用該數據文件,惟一是將數據文件設置爲OFFLINE狀態。執行如下步驟將數據文件設置爲OFFLINE狀態:日誌

1)         若是是歸檔模式能夠執行以下SQL設置數據文件的狀態爲OFFLINE:同步

ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE;it

2)         若是是非歸檔模式執行如下SQL將數據文件狀態設置爲OFFLINE:class

ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE DROP;語法

數據文件脫機,數據文件相關的數據字典信息、元數據信息都依然存在,當表空間被刪除後,相關數據文件的信息纔會被清除。DROP TABLESPACE只是清空Oracle數據字典信息,即便數據文件不存在均可以正常的DROP表空間。對於數據文件的脫機,在設置該數據文件ONLINE的時候都須要對該數據文件執行介質恢復。數據

若是在非歸檔模式下使用OFFLINE DROP使數據文件脫機,這就意味着該數據文件可能沒法再恢復到ONLINE狀態,緣由就在於在非歸檔模式可能沒有足夠的日誌執行ONLINE的介質恢復。若是日誌未發生切換,還依然存在的話,依然能夠執行介質恢復後使數據文件ONLINE。di

2.         表空間OFFLINE文件

表空間脫機分爲正常脫機、臨時脫機和當即脫機,下面討論這三種脫機方式。

1)         OFFLINE NORMAL

這是默認的選項,正常狀況表空間的脫機,當從新執行ONLINE時,Oracle會用相應的SCN來更新表空間數據文件頭SCN便可正常的ONLINE表空間,不須要執行介質恢復。

ALTER TABLESPACE XXX OFFLINE [NORMAL];

2)         OFFLINE TEMPORARY

若是指定TEMPORARY,Oracle數據庫爲表空間中全部在線數據文件執行一個檢查點,可是不能確保全部文件能被同步。當執行這個語句數據文件已經脫機,那麼在使表空間從新ONLINE以前須要執行介質恢復。

ALTER TABLESPACE XXX OFFLINE TEMPORARY;

3)         OFFLINE IMMEDIATE

執行這個操做表示當即使表空間脫機,在下次使表空間ONLINE的時候必須執行介質恢復,介質恢復成功才能使表空間ONLINE:

ALTER TABLESPACE XXX OFFLINE IMMEDIATE;

對於數據文件的脫機來講,在下次ONLINE的時候必定要執行介質恢復過程,若是介質恢復成功,那麼就能夠成功ONLINE。對於正常的表空間脫機,下次使表空間ONLINE的時候不須要執行介質恢復。對於OFFLINE TEMPORARY的表空間,若是脫機前已經有數據文件是脫機的,那麼在表空間上線前也須要執行部分數據文件的介質恢復。對於IMMEDIATE OFFLINE的表空間,在表空間上線前須要對錶空間的全部數據文件執行介質恢復。脫機後的數據文件和表空間,在實例重啓的時候都不會對數據文件的SCN號進行驗證。

相關文章
相關標籤/搜索