12c恢復表到指定時刻
在12c之前,TSPITR 只能恢復表空間,對於其中的schema物件則無能為力。比如一個表空間中有多個schema,如果想還原其中一個schema到之前的狀態,則整個表空間內的其他schema也要還原到以前的狀態。
從12c開始,可以通過recover table,只對部分表恢復到早前狀態,不影響其他物件。
其工作原理是:先建立一個輔助例項,然後restore表空間SYSTEM, SYSAUX, UNDO和所需恢復物件所在的表空間,recover到指定的時刻。接下來通過Data Pump匯出輔助庫中的表,匯入到主庫。最後自動關閉輔助例項。
前提條件:
1)必須有早前的備份,備份時間要早於期望恢復的時刻;
2)必須處於歸檔模式,且有完整的備份之後的歸檔日誌;
3)備份的物件要包括SYSTEM, SYSAUX, UNDO表空間,PDB的話還需要同時包含CDB的上述3個表空間的備份。一般對CDB做一次全備即可全部包含。
下例中對PDB1裡,SH使用者下的CUSTOMERS表做恢復測試:
首先,對CDB做全備。然後記下時間。
接下來嘗試破壞表CUSTOMERS
建立即將用作輔助庫的目錄/u01/aux
然後就可以進入RMAN開始恢復了,注意:雖然要恢復的是PDB中的資料,但RMAN必須連線到CDB
等到全部完成後,就可以在schema下看到customers_recvr這個表,也可以選擇直接恢復到customers,前提是原庫中已刪除這個表。
補充:如果要恢復多個表,命令如下:
從12c開始,可以通過recover table,只對部分表恢復到早前狀態,不影響其他物件。
其工作原理是:先建立一個輔助例項,然後restore表空間SYSTEM, SYSAUX, UNDO和所需恢復物件所在的表空間,recover到指定的時刻。接下來通過Data Pump匯出輔助庫中的表,匯入到主庫。最後自動關閉輔助例項。
前提條件:
1)必須有早前的備份,備份時間要早於期望恢復的時刻;
2)必須處於歸檔模式,且有完整的備份之後的歸檔日誌;
3)備份的物件要包括SYSTEM, SYSAUX, UNDO表空間,PDB的話還需要同時包含CDB的上述3個表空間的備份。一般對CDB做一次全備即可全部包含。
下例中對PDB1裡,SH使用者下的CUSTOMERS表做恢復測試:
首先,對CDB做全備。然後記下時間。
點選(此處)摺疊或開啟
-
SQL> select sysdate from dual;
-
-
SYSDATE
-
-------------------
- 2016-07-01 12:08:46
點選(此處)摺疊或開啟
- SQL> truncate table customers;
然後就可以進入RMAN開始恢復了,注意:雖然要恢復的是PDB中的資料,但RMAN必須連線到CDB
點選(此處)摺疊或開啟
-
recover table sh.customers of pluggable database pdb1
-
until time "to_date('2016-07-01 12:08:46','yyyy-mm-dd hh24:mi:ss')"
-
auxiliary destination '/u01/aux'
- remap table sh.customers:customers_recvr;
補充:如果要恢復多個表,命令如下:
點選(此處)摺疊或開啟
-
RECOVER TABLE SCOTT.EMP, SCOTT.DEPT
-
UNTIL TIME "TO_CHAR('12/23/2012 12:00:00','mm/dd/yyyy hh24:mi:ss')"
-
AUXILIARY DESTINATION '/tmp/oracle/recover'
- REMAP TABLESPACE 'EXAMPLE':'MY_TBS';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-2121327/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- rman恢復到指定時間點
- db2恢復到指定時間點DB2
- MySQL使用bin-log異庫恢復到指定時間點MySql
- Oracle 12C新特性-RMAN恢復表Oracle
- Oracle 12C 新特性之 恢復表Oracle
- DM7使用DMRMAN恢復資料庫到指定時間點/LSN資料庫
- 【12c】12c RMAN新特性之recover table(表級別恢復)
- 【RMAN】使用RMAN備份將資料庫不完全恢復到指定時間點資料庫
- [RMAN]使用RMAN備份將資料庫不完全恢復到指定時間點資料庫
- 指定EFS恢復代理證書
- PostgreSQL啟動恢復期間,恢復到的時間線的確定SQL
- 恢復表空間到不同的ASM磁碟組ASM
- Oracle 12c 備份與恢復Oracle
- Oracle 12c RMAN 異機恢復Oracle
- oracle 12C rman下表的恢復Oracle
- oracle 12c裡如何恢復votediskOracle
- oracle 12c新特性:Rman表恢復之直接匯入系統Oracle
- oracle 12c R1 新特性對單個表的恢復Oracle
- oracle實驗記錄 (恢復-表空間基於時間點恢復(rman))Oracle
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- Oracle 12c使用RMAN備份對Non-CDB中的表按時間點進行恢復Oracle
- Oracle 12C使用UNTIL SEQUENCE子句對Non-CDB中的表執行按時間點恢復Oracle
- Oracle 12C使用RMAN將PDB中分表的多個分割槽恢復到新使用者方案中Oracle
- 恢復到特定點(時間點、scn、日誌序列號),rman不完全恢復
- 【12c 庫異機恢復】實驗
- [20190718]12c rman新特性 表恢復.txt
- oracle實驗記錄 (恢復-表空間基於時間點恢復(手動))Oracle
- mysql恢復drop表MySql
- 利用innobackupex備份集恢復指定庫
- RAC 資料庫恢復到單例項下並且基於時間點恢復資料庫單例
- restore、recover到指定時間REST
- Prometheus 告警恢復時,怎麼獲取恢復時的值?Prometheus
- Oracle 12c Recovering tables and table partitions 表或分割槽級別的恢復Oracle
- 張掖到蘭州火車時刻表-張掖到蘭州火車票價查詢
- 蘭州到張掖火車時刻表-蘭州到張掖火車票價查詢
- rman恢復資料檔案 恢復表空間
- Oracle 12C使用RMAN將Non-CDB中分表的多個分割槽恢復到新使用者方案中Oracle
- 教你一招,告警恢復時如何拿到恢復時的值?