資料檔案、表空間offline用法及區別

lhrbest發表於2017-10-31

對資料庫的離線包括資料檔案的離線和對錶空間的離線,表空間離線實際就是表空間對應的所有資料檔案離線。

1.         資料檔案OFFLINE

資料檔案新增到表空間之後不能夠被刪除的,沒有語法支援這麼做,如果想不使用該資料檔案,唯一是將資料檔案設定為OFFLINE狀態。執行以下步驟將資料檔案設定為OFFLINE狀態:

1)         如果是歸檔模式可以執行如下SQL設定資料檔案的狀態為OFFLINE

ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE;

2)         如果是非歸檔模式執行以下SQL將資料檔案狀態設定為OFFLINE

ALTER DATABASE DATAFILE 'XXXX.DBF' OFFLINE DROP;

資料檔案離線,資料檔案相關的資料字典資訊、後設資料資訊都依然存在,當表空間被刪除後,相關資料檔案的資訊才會被清除。DROP TABLESPACE只是清空Oracle資料字典資訊,即使資料檔案不存在都可以正常的DROP表空間。對於資料檔案的離線,在設定該資料檔案ONLINE的時候都需要對該資料檔案執行介質恢復。

如果在非歸檔模式下使用OFFLINE DROP使資料檔案離線,這就意味著該資料檔案可能無法再恢復到ONLINE狀態,原因就在於在非歸檔模式可能沒有足夠的日誌執行ONLINE的介質恢復。如果日誌未發生切換,還依然存在的話,依然可以執行介質恢復後使資料檔案ONLINE

2.         表空間OFFLINE

表空間離線分為正常離線、臨時離線和立即離線,下面討論這三種離線方式。

1)         OFFLINE NORMAL

這是預設的選項,正常情況表空間的離線,當重新執行ONLINE時,Oracle會用相應的SCN來更新表空間資料檔案頭SCN即可正常的ONLINE表空間,不需要執行介質恢復。

ALTER TABLESPACE XXX OFFLINE [NORMAL];

2)         OFFLINE TEMPORARY

如果指定TEMPORARYOracle資料庫為表空間中所有線上資料檔案執行一個檢查點,但是不能確保所有檔案能被同步。當執行這個語句資料檔案已經離線,那麼在使表空間重新ONLINE之前需要執行介質恢復。

ALTER TABLESPACE XXX OFFLINE TEMPORARY;

3)         OFFLINE IMMEDIATE

執行這個操作表示立即使表空間離線,在下次使表空間ONLINE的時候必須執行介質恢復,介質恢復成功才能使表空間ONLINE

ALTER TABLESPACE XXX OFFLINE IMMEDIATE;

對於資料檔案的離線來說,在下次ONLINE的時候一定要執行介質恢復過程,如果介質恢復成功,那麼就可以成功ONLINE。對於正常的表空間離線,下次使表空間ONLINE的時候不需要執行介質恢復。對於OFFLINE TEMPORARY的表空間,如果離線前已經有資料檔案是離線的,那麼在表空間上線前也需要執行部分資料檔案的介質恢復。對於IMMEDIATE OFFLINE的表空間,在表空間上線前需要對錶空間的所有資料檔案執行介質恢復。離線後的資料檔案和表空間,在例項重啟的時候都不會對資料檔案的SCN號進行驗證。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2146637/,如需轉載,請註明出處,否則將追究法律責任。

相關文章