OFFLINE和DROP資料檔案的理解
Offline僅是離線操作,並不涉及刪除,就算是offline for drop\offline drop也僅僅是離線,和alter database datafile ‘XX’ offline一起
表空間離線語法是alter tablespace XX offline
Drop才是刪除操作,和alter tablespace XX drop datafile ‘XX’一起
表空間刪除語法是drop tableapce XX INCLUDING CONTENTS AND DATAFILES
將表空間置為offline,可能的原因包括維護、備份以及恢復等目的
表空間處於offline狀態,那麼Oracle不會允許任何對該表空間中物件的SQL執行。
表空間置為offline時仍處於活動狀態的語句在交易級別並不會受影響。
Offline後檔案的scn會停止,這樣就會導致offline檔案的scn慢慢的越來越小於db的scn,這樣導致只要在offline檔案scn至db的scn期間的歸檔日誌備份包永遠不會顯示obsolete
offline的資料檔案在open和recover/backup的時候不會被check。
但是obsolete的時候要被check,誰知道哪天你是不是要online這個datafile呢
一些實驗現象
1.表空間有一個資料檔案,表建立到表空間上,再drop刪除資料檔案,看錶還存在嗎(情況是表空間有一個資料檔案已經滿了,新建一個資料檔案XX,再往新資料檔案XX上建表,再drop資料檔案XX則表不存在了),當然如果一個表的資料釋出到多個資料檔案上則某個資料檔案被刪除了,則select表的某行剛好在這個資料檔案上會報錯,如果不在這個資料檔案上則不會報錯
不存在了,提示ORA-00376: 此時無法讀取檔案 17
2.表空間有一個資料檔案,表建立到表空間上,資料檔案offline,看錶還存在嗎
不存在了,提示ORA-00376: 此時無法讀取檔案 17
3.表空間有一個資料檔案,表建立到表空間上,表空間offline,看錶還存在嗎
不存在了,提示ORA-00376: 此時無法讀取檔案 17
A.表空間有一個資料檔案,drop刪除資料檔案,表建立到表空間上,看錶能建立嗎(情況是表空間有一個資料檔案已經滿了,新建一個資料檔案XX,再往新資料檔案上建表並插入資料使它非空,再drop資料檔案XX,再建表,如果第一個資料檔案自動增長方式則這樣的實驗下表能建立)
不能,提示ORA-01658: 無法為表空間 TE123 中的段建立 INITIAL 區
B.表空間有一個資料檔案,資料檔案offline,表建立到表空間上,看錶能建立嗎
不能,提示ORA-01658: 無法為表空間 TE123 中的段建立 INITIAL 區
C.表空間有一個資料檔案,表空間offline,表建立到表空間上,看錶能建立嗎
不能,提示ORA-01542: 表空間 'TE123' 離線, 無法在其中分配空間
一.DB正常執行的過程中alter database datafile ‘XX’ offline則dba_data_files. ONLINE_STATUS對應的資料檔案顯示為RECOVER,v$datafile_header.STATUS顯示為offline,如果再把資料檔案在OS上移動、改名、刪除則v$datafile_header.ERROR顯示為FILE NOT FOUND,重啟後依舊
二.DB正常執行的過程中alter tablespace offline則dba_data_files. ONLINE_STATUS表空間對應的資料檔案顯示為offline,v$datafile_header.STATUS顯示為offline,如果再把資料檔案在OS上移動、改名、刪除則v$datafile_header.ERROR顯示為FILE NOT FOUND,重啟後依舊
三.DB正常執行的過程把資料檔案在OS上移動、改名、刪除短期內正常各種檢視顯示也正常如(v$datafile_header. ERROR)再shutdown abort(shutdown immediate會報錯),再startup會報錯自動到mount狀態,此時dba_data_files檢視不可用,v$datafile_header.STATUS顯示為online, v$datafile_header. ERROR顯示為FILE NOT FOUND, alter database datafile ‘XX’ offline後再alter database open,發現dba_data_files.ONLINE_STATUS表空間對應的資料檔案顯示為RECOVER,v$datafile_header.STATUS顯示為offline,v$datafile_header.ERROR顯示為FILE NOT FOUND,重啟後依舊
綜合上面的實驗情況可以瞭解到http://www.itpub.net/thread-2057910-1-1.html中32號檔案dba_data_files.ONLINE_STATUS顯示為offline肯定是直接把SOE表空間offline的結果。
1. 手工誤刪除資料檔案,看能透過offline來open嗎
可以的,直接startup會報錯只能到mount狀態,這是可以透過alter database datafile ‘XX’
offline再alter
database open
2. DB正常執行過程中對資料檔案進行offline後再OS上進行刪除,重啟能正常open嗎
可以的
3. Offline和offline drop區別(offline drop 是offline for drop的簡寫)
歸檔模式下,offline 與 offline drop選項的作用相同。
非歸檔模式下,不允許直接 offline 資料檔案,必須增加drop選項。
4. 資料檔案不能被刪除(此處刪除是代表檔案從磁碟上並資料字典中刪除)的三種情況(實驗過在read
only表空間的情況可以刪除)
採用的方式是:alter
tablesapce XX drop datafile 'XX'
alter database datafile 'XX' offline drop以下三種情況都可以執行離線。
offline的資料檔案是不允許被刪除的
所屬表空間的第一個file是不允許被刪除的
非空檔案是不允許被刪除的
5. alter tablesapce tablespace_name drop
datafile 'datafile_name'
該語句會刪除控制檔案和磁碟上的檔案,刪除之後的原資料檔案序列號可以重用。dba_data_files檢視中沒有該檔案資訊了
6. alter database datafile 'file_name' offline drop
該語句不會刪除資料檔案,只是將資料檔案的狀態更改為recover。 offline drop命令相當於把一個資料檔案至於離線狀態,並且需要恢復,並非刪除資料檔案。 資料檔案的相關資訊還會存在資料字典dba_data_files和控制檔案中
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2094756/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20151028]理解資料檔案offline+drop.txt
- 資料檔案實驗操作datafile的create/offline/drop/rename等操作
- 非歸檔模式下恢復利用offline drop命令誤刪除的資料檔案模式
- 表空間OFFLINE和資料檔案OFFLINE的區別
- oracle 資料檔案offlineOracle
- 表空間offline,資料檔案offline 的區別(ZT)
- 資料檔案OFFLINE的3種情況
- Data Guard 主端OFFLINE資料檔案和表空間
- 表空間與資料檔案的offline和online操作
- 轉載-表空間和資料檔案offline的影響分析
- 利用offline datafile檔案方式遷移資料
- 資料檔案offline後unusable索引造成的問題索引
- online/offline 表空間和資料檔案需謹慎!
- 資料檔案、表空間offline用法及區別
- [20160329]bbed修復offline的資料檔案.txt
- alter database datafile 4 offline drop;Database
- alter database datafile .... offline drop的問題Database
- alter database datafile offline drop 與 alter tablespace drop datafile 區別Database
- 資料庫檔案和檔案組資料庫
- alter database offline 與 alter database offline drop效果比對Database
- 臨時資料檔案 offline 對於匯入匯出的影響
- Oracle資料檔案和臨時檔案的管理Oracle
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- git的gitignore檔案排除資料夾和檔案Git
- 20160331資料檔案offline與open resetlogs
- 資料檔案大小和資料庫的關係資料庫
- 【BBED】使用BBED修改資料檔案SCN,使該檔案從offline轉變為online
- 引數檔案控制檔案和資料檔案丟失的恢復
- MySQL資料庫的套接字檔案和pid檔案MySql資料庫
- alter database datafile offline drop相關問題Database
- [20161019]資料檔案offline與open resetlog
- mysql資料庫中刪除資料的三種形式 drop和 truncate 和 deleteMySql資料庫delete
- 表空間&資料檔案和控制檔案(zt)
- 資料包分析中Drop和iDrop的區別
- 資料庫關鍵詞 drop、truncate和delete的用法資料庫delete
- 表空間和資料檔案的管理
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- [20180202]備庫資料檔案offline.txt