Oracle 閃回刪除表原理分析
首先你應該明白閃回刪除操作的物件僅僅是表,它允許你將之前刪除的表恢復到刪除它之前的狀態,同時還會恢復所有索引以及任何許可權和觸發器,唯一的主鍵和非空約束也會被恢復(注意不包括外來鍵)。
Oracle 10g開始,drop table 命令的實現方式為:它實際上根本沒有刪除表,而只是重新命名錶,並把重新命名的表放進回收站(每個使用者都有一個回收站)可以在user_recyclebin資料字典中檢視當前使用者的回收站中的內容,如:被drop的表重新命名後的表名 以及drop之前的名字等等資訊, 我們已經知道rname 一個表並不會改變表的物件號,當使用者發出drop table 命令後,在內部已經把它對映到rename命令,刪除表後表的物件號並沒有改變,並且所佔的儲存空間大小 位置都沒有改變,只是這時候它所佔用的空間是可以被佔用的(個人認為應該是當沒有其他空間可以使用的時候就會佔用它),這時候就會出問題,導致閃回刪除操作不一定100%成功,再就是當你刪除一個表後,你又重新建立一個相同名字的表,這時候你要重新命名要閃回刪除操作的表,如: flashback table table_name to before drop rename new_name ;.
注意:
1.truncate 的表是不能被閃回刪除操作的,
2.drop table name purge ; 這樣刪除的表會刪除多有引用且不能恢復,
3.drop user liu cascade,這樣刪除的使用者liu 的表是不能被閃回的,
4.如果刪除了一個表後,又重新建立了一個一樣名字的表,又把剛建立的表給刪除了,那麼在回收站將會有兩個不一樣回收站名字的表,預設執行閃回刪除操作將會恢復最新的版本,你可以指定回收站中表的名字來指定要恢復的表,如:flashback table "BIN$CXLTgwchMOTgUwpYqcBKAA==$0" to before drop ;
5.如果表上有索引和約束,這樣的話,當你drop table 後 ,相應的約束和索引,也會在回收站重新名,而且當你閃回刪除時,相關的索引和約束會保留在回收站的名字,但是可以重新命名成以前的名字: alter index "索引在回收站的名字" rename to name_inx; alter table table_name rename constraint "約束在回收站的名字" to 以前的名字;\6,flashback drop 不能閃回system 表空間中的表:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29654823/viewspace-1363597/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flashback Drop閃回刪除功能實踐
- Oracle億級大表高效刪除案例分析Oracle
- 【Flashback】Flashback Drop閃回刪除功能實驗
- Oracle閃回技術 為Oracle閃回配置資料庫Oracle資料庫
- Oracle回收站表閃回機制研究Oracle
- oracle級聯刪除使用者,刪除表空間Oracle
- Oracle快速找回被刪除的表Oracle
- MySQL使用binlog2sql閃回誤刪除資料MySql
- ORACLE刪除-表分割槽和資料Oracle
- Oracle資料庫閃回Oracle資料庫
- 【RECO_ORACLE】Oracle閃回PDB的方法Oracle
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- Oracle中刪除表中的重複資料Oracle
- Oracle 11G 閃回技術 使用Oracle閃回事務查詢Oracle
- Oracle 11G 閃回技術 閃回版本查詢和閃回事務查詢Oracle
- Oracle閃回技術--Flashback Version QueryOracle
- Oracle 閃回資料庫測試Oracle資料庫
- 【PDB】pdb閃回,Oracle還原點Oracle
- 詳解oracle資料庫閃回Oracle資料庫
- oracle刪除日誌Oracle
- 修改刪除表
- 刪除oracle重複值Oracle
- Oracle 增加 修改 刪除 列Oracle
- Oracle分割槽表基礎運維-09刪除分割槽Oracle運維
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- Oracle資料庫閃回區空間不足Oracle資料庫
- Oracle drop分割槽表單個分割槽無法透過閃回恢復Oracle
- MySQL在刪除表時I/O錯誤原因分析MySql
- Oracle如何刪除表中重複記錄保留第一條Oracle
- oracle刪除重資料方法Oracle
- oracle大資料量分批刪除Oracle大資料
- [20180423]表空間閃回與snapshot standby
- Tablespace表空間刪除
- MySQL刪除資料表MySql
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- oracle rac 12徹底刪除,徹底刪除該死的racOracle
- oracle使用小記、刪除恢復Oracle
- Oracle 11g刪除庫重建Oracle
- DM7閃回與閃回查詢