使用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 hh24: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 hh24: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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2148925/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用RMAN對CDB執行按時間點恢復
- 使用RMAN來PDB執行完全恢復
- RMAN中使用until time子句對Non-CDB中的表執行按時間點恢復
- 使用RMAN對PDB中的表空間或資料檔案執行完全恢復
- 用RMAN執行表空間及時點恢復——RMAN使用者手冊
- Oracle 12c使用RMAN備份對Non-CDB中的表按時間點進行恢復Oracle
- 執行RMAN表空間及時點恢復——使用者管理備份和恢復手冊
- rman恢復到指定時間點
- 使用RMAN對CDB的root執行完全恢復
- Oracle 12C使用UNTIL SEQUENCE子句對Non-CDB中的表執行按時間點恢復Oracle
- Backup And Recovery User's Guide-執行RMAN表空間時間點恢復(TSPIRT)GUIIDE
- RMAN恢復 執行重要檔案RMAN恢復
- 關於 RMAN 對於可插拔資料庫按時間點的恢復 (文件 ID 1984554.1)資料庫
- 【RMAN】表空間基於時間點的RMAN恢復-TSPITR
- 使用RMAN對PDB執行閃回資料庫操作資料庫
- oracle實驗記錄 (恢復-表空間基於時間點恢復(rman))Oracle
- RMAN基於時間點恢復Oracle資料庫Oracle資料庫
- 恢復到特定點(時間點、scn、日誌序列號),rman不完全恢復
- 用rman執行塊恢復
- RMAN恢復 執行不重要檔案的RMAN恢復
- 【RMAN】使用RMAN備份將資料庫不完全恢復到指定時間點資料庫
- [RMAN]使用RMAN備份將資料庫不完全恢復到指定時間點資料庫
- PostgreSQL 時間點恢復SQL
- rman恢復 使用switch映像副本進行恢復
- 【TSPITR】RMAN表空間基於時間點的自動恢復
- 12C PDB使用RMAN的4種完全恢復場景
- OCP課程48:管理II之使用RMAN執行恢復
- Oracle 12c PDB基於時間點的不完全恢復記錄Oracle
- rman恢復時跳過資料檔案,進行恢復
- Backup And Recovery User's Guide-執行資料庫時間點恢復GUIIDE資料庫
- Oracle RMAN 表空間恢復Oracle
- rman恢復的時候可以使用LASTSCNAST
- Oracle基於時間點的恢復Oracle
- Oracle 10g備份與恢復高階使用者指南--第八章 RMAN表空間時間點恢復(TSPITR)Oracle 10g
- 使用RMAN的不完全恢復-基於時間/SCN/日誌序列
- rman恢復資料檔案 恢復表空間
- 基於時間執行資料庫不完全恢復資料庫
- RMAN備份恢復典型案例——跨平臺遷移pdb