全面學習oracle flashback特性(2.1)--Flashback Table之RECYCLEBIN
簡單來講,如果我們把flashback query看做是恢復記錄,則flashback table就是用來恢復表的(由於記錄是以表為載體儲存,因此flashback table也應該看做是恢復記錄,只不過相對於flashback query而言,其粒度更大一些),同時呢,在Oracle10g中又新引入了一個叫做Recycle Bin的功能(主要針對表及其關聯的物件,比如索引約束啥的),被刪除的表並非真正刪除,而是先通過修改資料字典的方式,將其改名並放入recyclebin,如果要恢復recycle bin中物件的話,藉助flashback table是最簡便的方式。除此之外,flashback table也提供了類似flashback query中as of scn/timestamp的方式,藉助undo資料,直接將現有的表恢復到某個指定的時間點或scn時的狀態。
[@more@]
下面分別舉例:
1、從RECYCLEBIN中恢復
要恢復recyclebin中的表,注意語句如下:Flashback table [objName] to before drop,這個obj_name即可以是表名,也可以是recyclebin中的物件表(支援同時操作多個表,表名之間以逗號分隔即可),由於該項功能是恢復被刪除表,因此官方對其還有另外一稱謂:flashback drop。
下面舉個例子,從recyclebin中恢復一個被刪除的表:
JSSWEB> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$u/7I62WxS12jMVO358SFgw==$0 JSS_TB3
JSSWEB> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$u/7I62WxS12jMVO358SFgw==$0 JSS_TB3
JSSWEB> flashback table jss_tb3 to before drop;
閃回完成。
JSSWEB> select object_name,original_name from recyclebin;
未選定行
Flashback table語句同時提示了一個rename to [newTBname]的子句,如果要恢復的表在當前schema中已經存在同名的表,建議你在恢復時通過rename to 子句為待恢復的表指定一個新的表名,不然資料庫會報ORA-38312錯誤,再舉個例子:
JSSWEB> drop table jss_tb3;
表已刪除。
JSSWEB> create table jss_tb3 as select *from jss_tb1;
表已建立。
JSSWEB> flashback table jss_tb3 to before drop;
flashback table jss_tb3 to before drop
*
第 1 行出現錯誤:
ORA-38312: 原始名稱已被現有物件使用
你看,正如其提示的那樣,該表被刪除之後,又執行過建立同名表的操作,因此恢復的時候就會報錯,怎麼辦呢,用rename to.....
JSSWEB> flashback table jss_tb3 to before drop rename to jss_tb3_bak;
閃回完成。
======================================
檢視之前的連載:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-1006629/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【FLASHBACK】Oracle flashback data archive 介紹OracleHive
- Oracle 備份恢復之 FlashbackOracle
- ORACLE Flashback Query偽列Oracle
- oracle 10g flashback databaseOracle 10gDatabase
- Oracle 12.2新特性: PDB級閃回資料庫(Flashback PDB)Oracle資料庫
- Oracle閃回技術--Flashback Version QueryOracle
- 【Flashback】Flashback Drop閃回刪除功能實驗
- Flashback Query(轉)
- 【Flashback】Flashback Database閃回資料庫功能實驗Database資料庫
- 在Oracle DG Standby庫上啟用flashback database功能OracleDatabase
- ORACLE 閃回檢視v$flashback_database_log/statOracleDatabase
- 2.6.2 Overview of Flashback PDB in a CDBView
- flashback query閃回資料
- Flashback Data Archive原理詳解Hive
- 【FLASHBACK】Oracle閃回及回收站相關語句參考Oracle
- GeminiDB Cassandra介面新特性FLASHBACK釋出:任意時間點秒級閃回
- guarantee restore points-Flashback after RMAN restoreREST
- [20181002]DBMS_FLASHBACK與函式.txt函式
- 用flashback恢復儲存過程儲存過程
- [20180424]開啟表空flashback on.txt
- flashback實現資料快速復原
- [20180724]Flashback query和子游標共享.txt
- 基於flashback_scn的expdp匯出
- Flashback Drop閃回刪除功能實踐
- [20210722]ORA-38760與flashback database.txtDatabase
- Flashback database必須要有之前的archivelog嗎?DatabaseHive
- 【RECYCLEBIN】Oracle回收站詳解Oracle
- ORA-55507: Encountered mining error during Flashback Transaction Backout. functiError
- C++ 未初始化記憶體出現 flashbackC++記憶體
- 螢幕錄影機(bb flashback pro 4)pjb v4.1.21
- cocos2D-x初探學習筆記(31)2.1新特性CCPhysicsSprite筆記CSS
- Automatic Reference Counting(ARC)特性學習(iOS5新特性學習之五)iOS
- 12c RMAN新特性之Recover Table
- Flutter學習之Dart語法特性FlutterDart
- 刪使用者刪表空間的操作還能flashback回來嗎?
- OceanBase學習之路11|體驗 DDL 新特性(Oracle 模式)Oracle模式
- oracle 10G特性之awrOracle 10g
- Oracle:TABLE MONITORINGOracle
- Oracle table selectOracle