表空間與資料檔案的offline和online操作
1. 表空間與資料檔案 offline 的區別
在對錶空間進行 offline 時, oracle 需要針對表空間進行檢查點, 重新整理表空間中資料檔案的相關事務, 更新控制檔案中與資料檔案的 SCN, 達到一致狀態
當表空間被再次 online 時, oracle 會使用 online 時刻的 SCN, 更新上面各個位置的 SCN (當然檔案結束 SCN 號會置為無窮大), 將資料檔案都開啟
在對單個資料檔案做 offline 時, 是立即 offline, 此時不會針對資料檔案進行檢查點, 所以資料檔案的終止 SCN 為無窮大, 處於不一致狀態, 資料檔案也需要恢復, 在v$recover_file 檢視也可以看到這個檔案的資訊, 要想將資料檔案 online, 必須先對檔案執行 recover 操作, 所以建議 offline 資料檔案後應該立刻執行 recover 操作, 使他處於一致狀態, 以免後面出現不必要的麻煩
對於非歸檔模式下進行資料檔案 offline 操作需要加 drop 子句, 他不會物理刪除檔案, 在歸檔模式下指定 drop 子句會被忽略
對於 offline 的資料檔案, 重啟資料庫是不能對他進行 recover 的, 因為他的狀態是offline, 資料庫啟動時是不檢查 offline 檔案的 SCN 是否一致的, 所以啟動後仍然可以在 v$recover_file 檢視中看到他們, 需要手工對他進行 recover 才能恢復, 如果應用的聯機日誌已經 switch 掉, 則要從歸檔中進行恢復, 沒有歸檔的話, 檔案就只能一直處於 recover 狀態
2. 操作
以下操作中如果涉及到恢復操作, 則可能需要歸檔檔案或 redo 檔案, 如果資料庫處於非歸檔模式, 而 redo 檔案被切覆蓋掉的話將不能恢復
2-1. 表空間的 offline
2-1-1. normal (預設模式)
對錶空間所有資料檔案做檢查點, 所有資料檔案必須為 online 狀態, 再次 online 時不需要恢復
alter tablespace idx offline;
select tablespace_name,status from dba_tablespaces;
select file_name,online_status from dba_data_files;
select * from v$recover_file;
2-1-2. temporary
只對當前 online 的資料檔案做檢查點, 所有資料檔案不必全為 online, 再次 online 時, 之前 offline 的資料檔案要恢復, 其他不需要
alter tablespace idx offline temporary;
2-1-3. immediate/for recover(10g 不推薦使用)
所有資料檔案都不做檢查點, 所有資料檔案不必全為 online, 再次 online 時所有資料檔案要恢復, 非歸檔模式時不可用
alter tablespace idx offline immediate;
2-2. 資料檔案的 offline
2-2-1. 歸檔模式
alter database datafile 5 offline;
recover datafile 5;alter database datafile 5 online;
2-2-2. 非歸檔
alter database datafile 5 offline drop;
recover datafile 5;
alter database datafile 5 online;
在對錶空間進行 offline 時, oracle 需要針對表空間進行檢查點, 重新整理表空間中資料檔案的相關事務, 更新控制檔案中與資料檔案的 SCN, 達到一致狀態
當表空間被再次 online 時, oracle 會使用 online 時刻的 SCN, 更新上面各個位置的 SCN (當然檔案結束 SCN 號會置為無窮大), 將資料檔案都開啟
在對單個資料檔案做 offline 時, 是立即 offline, 此時不會針對資料檔案進行檢查點, 所以資料檔案的終止 SCN 為無窮大, 處於不一致狀態, 資料檔案也需要恢復, 在v$recover_file 檢視也可以看到這個檔案的資訊, 要想將資料檔案 online, 必須先對檔案執行 recover 操作, 所以建議 offline 資料檔案後應該立刻執行 recover 操作, 使他處於一致狀態, 以免後面出現不必要的麻煩
對於非歸檔模式下進行資料檔案 offline 操作需要加 drop 子句, 他不會物理刪除檔案, 在歸檔模式下指定 drop 子句會被忽略
對於 offline 的資料檔案, 重啟資料庫是不能對他進行 recover 的, 因為他的狀態是offline, 資料庫啟動時是不檢查 offline 檔案的 SCN 是否一致的, 所以啟動後仍然可以在 v$recover_file 檢視中看到他們, 需要手工對他進行 recover 才能恢復, 如果應用的聯機日誌已經 switch 掉, 則要從歸檔中進行恢復, 沒有歸檔的話, 檔案就只能一直處於 recover 狀態
2. 操作
以下操作中如果涉及到恢復操作, 則可能需要歸檔檔案或 redo 檔案, 如果資料庫處於非歸檔模式, 而 redo 檔案被切覆蓋掉的話將不能恢復
2-1. 表空間的 offline
2-1-1. normal (預設模式)
對錶空間所有資料檔案做檢查點, 所有資料檔案必須為 online 狀態, 再次 online 時不需要恢復
alter tablespace idx offline;
select tablespace_name,status from dba_tablespaces;
select file_name,online_status from dba_data_files;
select * from v$recover_file;
2-1-2. temporary
只對當前 online 的資料檔案做檢查點, 所有資料檔案不必全為 online, 再次 online 時, 之前 offline 的資料檔案要恢復, 其他不需要
alter tablespace idx offline temporary;
2-1-3. immediate/for recover(10g 不推薦使用)
所有資料檔案都不做檢查點, 所有資料檔案不必全為 online, 再次 online 時所有資料檔案要恢復, 非歸檔模式時不可用
alter tablespace idx offline immediate;
2-2. 資料檔案的 offline
2-2-1. 歸檔模式
alter database datafile 5 offline;
recover datafile 5;alter database datafile 5 online;
2-2-2. 非歸檔
alter database datafile 5 offline drop;
recover datafile 5;
alter database datafile 5 online;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22558114/viewspace-2151702/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- online/offline 表空間和資料檔案需謹慎!
- 表空間OFFLINE和資料檔案OFFLINE的區別
- Data Guard 主端OFFLINE資料檔案和表空間
- 表空間offline,資料檔案offline 的區別(ZT)
- 表空間online移動資料檔案
- 轉載-表空間和資料檔案offline的影響分析
- 資料檔案、表空間offline用法及區別
- 歸檔模式下online已被offline的表空間模式
- Oracle 表空間與資料檔案Oracle
- 表空間和資料檔案的管理
- 表空間和資料檔案管理
- 表空間&資料檔案和控制檔案(zt)
- 重新命名資料檔案和表空間
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- 刪除表空間和表空間包含的檔案
- 資料檔案,表空間的移動
- 表空間新增資料檔案的疑惑
- oracle基礎管理——表空間和資料檔案Oracle
- oracle 資料檔案表空間管理Oracle
- MySQL innodb共享表空間新增表空間資料檔案方法MySql
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- [20160329]表空間與資料檔案.txt
- oracle 回收表空間的資料檔案大小Oracle
- 錯誤新增表空間的資料檔案
- 基礎知識5——表空間和資料檔案
- 9.管理表空間和資料檔案(筆記)筆記
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- 表空間和資料檔案的離線是分開的
- 表空間離線與資料檔案離線的區別
- oracle 表空間 資料檔案 筆記Oracle筆記
- 表空間資料檔案故障處理
- 線上遷移表空間資料檔案
- Oracle 表空間資料檔案遷移Oracle
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- oracle誤刪除表空間的資料檔案Oracle
- 歸檔模式下,offline表空間備份與恢復模式
- oracle 失誤刪掉資料檔案後,刪除表空間操作Oracle