- 在做Point-In-Time Recovery時設定的還原時間點,必須在備份完成之後的時間。舉例來說,今天早上8:00進行備份,到早上10:00完成備份,則還原時間點必須設定在10:00之後。如果設定在8:00~10:00之間,那些部分還沒備份完成的資料,就會從上一次的備份進行還原(recover),變得很麻煩。
練習 (DML操作記得commit,這樣紀錄才會寫進redo log)
備份
- RMAN> backup as backupset database spfile;
- 2017/4/12 早上09:00:00 完成備份
事件
- Insert幾筆資料至Table - 2017/4/12 早上10:00:00
- Drop Table - 2017/4/12 早上11:00:00
老闆: 哪個笨蛋把TABLE刪了?我10點輸入的資料都不見了! MIS! MIS!快給我處理一下
還原
- SQL> shutdown immediate;
- SQL> startup mount;
- RMAN> restore database;
- 恢復至TABLE刪除之前
RMAN> recover database until time "to_date('04 12 2017 10:50:00','MM DD YYYYHH24:MI:SS' )"; - SQL> alter database open resetlogs;
要注意的是Point-In-Time就像是回到過去的某個時間點,所以在那時間點之後的事都會丟失。就像The Flash回到過去一樣,會開出一條新的時間軸(Incranation),因此必須評估是否值得這樣做,如果只是回復小事情可以用Flashback功能。
沒有留言:
張貼留言