【OCP最新題庫解析(052)–題21】Table EMP resides in the USERS tablespace.
- 2019 年 10 月 10 日
- 筆記
Q
題目
Table EMP resides in the USERS tablespace.
Examine this command:
SQL> DROP TABLE emp PURGE;
Which two methods would you use to recover EMP?
A. Flashback Table.
B. re-creating the table and reinserting the rows.
C. performing a tablespace point in time recovery of USERS. 表空間基於時間點的恢復
D. Flashback Transaction Backout.
E. Flashback Drop.
A
答案
Answer:BC
注意,本題中的DROP使用了PURGE選項,刪除後不進入回收站,所以,E選項是錯誤的。
TSPITR(Tablespace Point-In-Time Recover,表空間基於時間點恢復)也稱為小範圍的不完全恢復,用於將一個或多個表空間恢復到過去某個時間點的狀態,而其它表空間仍然保持現有狀態。通過執行TSPITR可將一個或多個表空間快速恢復到以前的某個時間。
例如,早上9點鐘,DROP了users表空間的表A,10點鐘創建了表B並插入了數據,現在執行TSPITR到9點鐘就可以恢復users表空間的表A。需要注意的是,在執行TSPITR之前可以使用SYS.TS_PITR_OBJECTS_TO_BE_DROPPED視圖將執行TSPITR後將被刪除的對象查詢出來並使用expdp導出到本地,在執行完TSPITR之後,再將這些對象impdp導入即可實現不丟數據的恢復。有關TSPITR的具體操作過程可以參考我的BLOG:http://blog.itpub.net/26736162/viewspace-1671741。
TSPITR可在下列情況下使用:
① 恢復因錯誤的TRUNCATE TABLE語句而丟失的數據。
② 從表邏輯損壞中恢復。
③ 撤消隻影響部分資料庫的批作業或DML語句的結果。
④ 將邏輯方案恢復到與物理資料庫其餘部分不同的時間點。
TSPITR的相關數據字典視圖:
SELECT * FROM SYS.TS_PITR_CHECK;–檢查表空間是否是自包含
SELECT * FROM SYS.TS_PITR_OBJECTS_TO_BE_DROPPED;–檢查哪些對象執行TSPITR後將被刪除
& 說明:
有關TSPITR的具體操作過程可以參考我的BLOG:http://blog.itpub.net/26736162/viewspace-1671741/
Oracle中閃回技術分類圖如下所示:

閃回技術分類:
(1)閃回查詢(Flashback Query):查詢過去某個時間點或某個SCN值對應的表中的數據資訊,即從回滾段中讀取一定時間內對錶進行操作的數據,恢復錯誤的DML操作。
(2)閃回版本查詢(Flashback Version Query):查詢過去某個時間段或某個SCN段內表中數據的變化情況。
(3)閃回事務查詢(Flashback Transaction Query):查看某個事務或所有事務在過去一段時間對數據進行的修改。
(4)閃回表(Flashback TABLE):將表恢復到過去的某個時間點或某個SCN值時的狀態。
(5)閃回刪除(Flashback DROP):將已經刪除的表及表上的索引恢復到刪除前的狀態,但索引名不會恢復到刪除前的狀態。
(6)閃回資料庫(Flashback Database):將資料庫恢復到過去某個時間點或某個SCN值時的狀態。
(7)閃回數據歸檔(Flashback Data Archive):通過將變化數據另外存儲到創建的閃回歸檔區中,用來和Undo區別開來,這樣就可以為閃回歸檔區單獨設置存儲策略,使之可以閃回到指定時間之前的舊數據而不受Undo策略的影響。
有關閃回需要注意以下幾點:
(1)閃回查詢、閃回版本查詢、閃回事務查詢以及閃回表主要是基於回滾(Undo)表空間中的回滾資訊實現的。
(2)閃回刪除是基於Oracle中的回收站(Recycle Bin)特性實現的。
(3)閃回資料庫是基於閃回恢復區(Flash Recovery Area)中的閃回日誌來實現的。
(4)閃回數據歸檔是基於閃回歸檔區中的數據來實現的。