您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用RMAN對PDB執行按時間點恢復,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
對PDB執行按時間點恢復類似于執行數據庫按時間點恢復。當對一個或多個PDB恢復到指定時間點時,CDB中的其它PDB不受影響。在恢復之后,PDB原來的保留的舊備份仍然有效可以在出現介質恢復時使用,不需要創建新的備份。當對使用共享UNDO的CDB中的一個或多個PDB執行數據庫按時間點恢復時,對于包含被恢復PDB的CDB的root與CDB seed(PDB$SEES)需要有備份。從Oracle 12.2開始,如果compatible參數被設置為12.2,那么可以跨PDB閃回操作或PDB按時間點恢復來對CDB執行閃回數據庫操作。在DG環境中,對于備庫將跟隨主庫PDB會被恢復到指定的時間點,你可以閃回整個備庫,恢復PDB或對PDB執行閃回。
對PDB執行按時間點恢復的操作步驟如下:
1.登錄數據庫記錄當前SCN號,然后將表t1中的數據刪除。
SQL> conn jy/jy@jypdb Connected. SQL> SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN ----------- 6255735 SQL> alter session set nls_date_format='yyyy-mm-dd hh34:mi:ss'; Session altered. SQL> select sysdate from dual; SYSDATE ------------------- 2017-12-20 16:52:31 SQL> select count(*) from t1; COUNT(*) ---------- 39 SQL> truncate table t1; Table truncated. SQL> select count(*) from t1; COUNT(*) ---------- 0
2.如果使用時間表達式來代替目標SCN,那么在調用RMAN之前設置時間格式環境變量
[oracle@jytest1 ~]$ export NLS_DATE_FORMAT='yyyy-mm-dd hh34:mi:ss'
3.使用RMAN連接到root容器
[oracle@jytest1 ~]$ rman target/ catalog rco/abcd@jypdb_173 Recovery Manager: Release 12.2.0.1.0 - Production on Wed Dec 20 16:53:26 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. connected to target database: JY (DBID=979425723) connected to recovery catalog database
4.將要執行恢復的PDB關閉,其它的PDB與CDB仍然處于open狀態
RMAN> alter pluggable database jypdb close immediate; starting full resync of recovery catalog full resync complete Statement processed starting full resync of recovery catalog full resync complete
5.使用RUN塊來執行以下操作
a.對于數據庫按時間點鶋,使用set until來指定恢復的目標時間,scn或日志序列號,或者使用set to來指定還原點。如果指定時間那么使用環境變量nls_lang與nls_date_format中所指定的日期格式。
b.如果RMAN沒有配置自動通道,那么需要手動分配磁盤與磁帶通道。
c.還原與恢復CDB
下面的命令將PDB(jypdb)恢復到SCN=6255735所在的狀態
RMAN> run 2> { 3> set until scn 6255735; 4> restore pluggable database jypdb; 5> recover pluggable database jypdb; 6> } executing command: SET until clause Starting restore at 2017-12-20 17:00:38 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00010 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649 channel ORA_DISK_1: restoring datafile 00011 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/sysaux.316.962209649 channel ORA_DISK_1: restoring datafile 00012 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undotbs1.264.962209649 channel ORA_DISK_1: restoring datafile 00013 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undo_2.268.962209649 channel ORA_DISK_1: restoring datafile 00014 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/users.278.962209649 channel ORA_DISK_1: restoring datafile 00015 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.962210609 channel ORA_DISK_1: reading from backup piece +TEST/rman_backup/jy_979425723_962563516_11slv3ds_1_1 channel ORA_DISK_1: piece handle=+TEST/rman_backup/jy_979425723_962563516_11slv3ds_1_1 tag=TAG20171212T184328 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:35 Finished restore at 2017-12-20 17:01:15 Starting recover at 2017-12-20 17:01:16 current log archived using channel ORA_DISK_1 starting media recovery archived log for thread 1 with sequence 38 is already on disk as file +TEST/arch/1_38_961976319.dbf archived log for thread 1 with sequence 39 is already on disk as file +TEST/arch/1_39_961976319.dbf archived log for thread 1 with sequence 40 is already on disk as file +TEST/arch/1_40_961976319.dbf archived log for thread 1 with sequence 41 is already on disk as file +TEST/arch/1_41_961976319.dbf archived log for thread 1 with sequence 42 is already on disk as file +TEST/arch/1_42_961976319.dbf archived log for thread 1 with sequence 43 is already on disk as file +TEST/arch/1_43_961976319.dbf archived log for thread 1 with sequence 44 is already on disk as file +TEST/arch/1_44_961976319.dbf archived log for thread 1 with sequence 45 is already on disk as file +TEST/arch/1_45_961976319.dbf archived log for thread 1 with sequence 46 is already on disk as file +TEST/arch/1_46_961976319.dbf archived log for thread 1 with sequence 47 is already on disk as file +TEST/arch/1_47_961976319.dbf archived log for thread 1 with sequence 48 is already on disk as file +TEST/arch/1_48_961976319.dbf archived log for thread 1 with sequence 49 is already on disk as file +TEST/arch/1_49_961976319.dbf archived log for thread 1 with sequence 50 is already on disk as file +TEST/arch/1_50_961976319.dbf archived log for thread 1 with sequence 51 is already on disk as file +TEST/arch/1_51_961976319.dbf archived log for thread 1 with sequence 52 is already on disk as file +TEST/arch/1_52_961976319.dbf archived log for thread 1 with sequence 53 is already on disk as file +TEST/arch/1_53_961976319.dbf archived log for thread 1 with sequence 54 is already on disk as file +TEST/arch/1_54_961976319.dbf archived log for thread 1 with sequence 55 is already on disk as file +TEST/arch/1_55_961976319.dbf archived log for thread 1 with sequence 56 is already on disk as file +TEST/arch/1_56_961976319.dbf archived log for thread 1 with sequence 57 is already on disk as file +TEST/arch/1_57_961976319.dbf archived log for thread 2 with sequence 32 is already on disk as file +TEST/arch/2_32_961976319.dbf archived log for thread 2 with sequence 33 is already on disk as file +TEST/arch/2_33_961976319.dbf archived log for thread 2 with sequence 34 is already on disk as file +TEST/arch/2_34_961976319.dbf archived log for thread 2 with sequence 35 is already on disk as file +TEST/arch/2_35_961976319.dbf archived log for thread 2 with sequence 36 is already on disk as file +TEST/arch/2_36_961976319.dbf archived log for thread 2 with sequence 37 is already on disk as file +TEST/arch/2_37_961976319.dbf archived log for thread 2 with sequence 38 is already on disk as file +TEST/arch/2_38_961976319.dbf archived log for thread 2 with sequence 39 is already on disk as file +TEST/arch/2_39_961976319.dbf archived log for thread 2 with sequence 40 is already on disk as file +TEST/arch/2_40_961976319.dbf archived log for thread 2 with sequence 41 is already on disk as file +TEST/arch/2_41_961976319.dbf archived log for thread 2 with sequence 42 is already on disk as file +TEST/arch/2_42_961976319.dbf archived log for thread 2 with sequence 43 is already on disk as file +TEST/arch/2_43_961976319.dbf archived log for thread 2 with sequence 44 is already on disk as file +TEST/arch/2_44_961976319.dbf archived log for thread 2 with sequence 45 is already on disk as file +TEST/arch/2_45_961976319.dbf archived log for thread 2 with sequence 46 is already on disk as file +TEST/arch/2_46_961976319.dbf archived log for thread 2 with sequence 47 is already on disk as file +TEST/arch/2_47_961976319.dbf archived log for thread 2 with sequence 48 is already on disk as file +TEST/arch/2_48_961976319.dbf archived log for thread 2 with sequence 49 is already on disk as file +TEST/arch/2_49_961976319.dbf archived log for thread 2 with sequence 50 is already on disk as file +TEST/arch/2_50_961976319.dbf archived log for thread 2 with sequence 51 is already on disk as file +TEST/arch/2_51_961976319.dbf archived log for thread 2 with sequence 52 is already on disk as file +DATA/JY/ONLINELOG/group_4.262.961976705 archived log for thread 2 with sequence 53 is already on disk as file +DATA/JY/ONLINELOG/group_3.263.961976697 media recovery complete, elapsed time: 00:04:03 Finished recover at 2017-12-20 17:05:30 starting full resync of recovery catalog full resync complete
6. 以讀寫方式打開PDB,放棄目標SCN之后的所有改變,執行以下命令
RMAN> alter pluggable database jypdb open resetlogs; Statement processed starting full resync of recovery catalog full resync complete SQL> conn jy/jy@jypdb Connected. SQL> select count(*) from t1; COUNT(*) ---------- 39
以上是“如何使用RMAN對PDB執行按時間點恢復”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。