小编给大家分享一下如何使用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>connjy/jy@jypdbConnected.SQL>SELECTCURRENT_SCNFROMV$DATABASE;CURRENT_SCN-----------6255735SQL>altersessionsetnls_date_format='yyyy-mm-ddhh34:mi:ss';Sessionaltered.SQL>selectsysdatefromdual;SYSDATE-------------------2017-12-2016:52:31SQL>selectcount(*)fromt1;COUNT(*)----------39SQL>truncatetablet1;Tabletruncated.SQL>selectcount(*)fromt1;COUNT(*)----------0

2.如果使用时间表达式来代替目标SCN,那么在调用RMAN之前设置时间格式环境变量

[oracle@jytest1~]$exportNLS_DATE_FORMAT='yyyy-mm-ddhh34:mi:ss'

3.使用RMAN连接到root容器

[oracle@jytest1~]$rmantarget/catalogrco/abcd@jypdb_173RecoveryManager:Release12.2.0.1.0-ProductiononWedDec2016:53:262017Copyright(c)1982,2017,Oracleand/oritsaffiliates.Allrightsreserved.connectedtotargetdatabase:JY(DBID=979425723)connectedtorecoverycatalogdatabase

4.将要执行恢复的PDB关闭,其它的PDB与CDB仍然处于open状态

RMAN>alterpluggabledatabasejypdbcloseimmediate;startingfullresyncofrecoverycatalogfullresynccompleteStatementprocessedstartingfullresyncofrecoverycatalogfullresynccomplete

5.使用RUN块来执行以下操作
a.对于数据库按时间点鶋,使用set until来指定恢复的目标时间,scn或日志序列号,或者使用set to来指定还原点。如果指定时间那么使用环境变量nls_lang与nls_date_format中所指定的日期格式。

b.如果RMAN没有配置自动通道,那么需要手动分配磁盘与磁带通道。

c.还原与恢复CDB

下面的命令将PDB(jypdb)恢复到SCN=6255735所在的状态

RMAN>run2>{3>setuntilscn6255735;4>restorepluggabledatabasejypdb;5>recoverpluggabledatabasejypdb;6>}executingcommand:SETuntilclauseStartingrestoreat2017-12-2017:00:38usingchannelORA_DISK_1channelORA_DISK_1:startingdatafilebackupsetrestorechannelORA_DISK_1:specifyingdatafile(s)torestorefrombackupsetchannelORA_DISK_1:restoringdatafile00010to+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649channelORA_DISK_1:restoringdatafile00011to+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/sysaux.316.962209649channelORA_DISK_1:restoringdatafile00012to+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undotbs1.264.962209649channelORA_DISK_1:restoringdatafile00013to+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undo_2.268.962209649channelORA_DISK_1:restoringdatafile00014to+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/users.278.962209649channelORA_DISK_1:restoringdatafile00015to+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.962210609channelORA_DISK_1:readingfrombackuppiece+TEST/rman_backup/jy_979425723_962563516_11slv3ds_1_1channelORA_DISK_1:piecehandle=+TEST/rman_backup/jy_979425723_962563516_11slv3ds_1_1tag=TAG20171212T184328channelORA_DISK_1:restoredbackuppiece1channelORA_DISK_1:restorecomplete,elapsedtime:00:00:35Finishedrestoreat2017-12-2017:01:15Startingrecoverat2017-12-2017:01:16currentlogarchivedusingchannelORA_DISK_1startingmediarecoveryarchivedlogforthread1withsequence38isalreadyondiskasfile+TEST/arch/1_38_961976319.dbfarchivedlogforthread1withsequence39isalreadyondiskasfile+TEST/arch/1_39_961976319.dbfarchivedlogforthread1withsequence40isalreadyondiskasfile+TEST/arch/1_40_961976319.dbfarchivedlogforthread1withsequence41isalreadyondiskasfile+TEST/arch/1_41_961976319.dbfarchivedlogforthread1withsequence42isalreadyondiskasfile+TEST/arch/1_42_961976319.dbfarchivedlogforthread1withsequence43isalreadyondiskasfile+TEST/arch/1_43_961976319.dbfarchivedlogforthread1withsequence44isalreadyondiskasfile+TEST/arch/1_44_961976319.dbfarchivedlogforthread1withsequence45isalreadyondiskasfile+TEST/arch/1_45_961976319.dbfarchivedlogforthread1withsequence46isalreadyondiskasfile+TEST/arch/1_46_961976319.dbfarchivedlogforthread1withsequence47isalreadyondiskasfile+TEST/arch/1_47_961976319.dbfarchivedlogforthread1withsequence48isalreadyondiskasfile+TEST/arch/1_48_961976319.dbfarchivedlogforthread1withsequence49isalreadyondiskasfile+TEST/arch/1_49_961976319.dbfarchivedlogforthread1withsequence50isalreadyondiskasfile+TEST/arch/1_50_961976319.dbfarchivedlogforthread1withsequence51isalreadyondiskasfile+TEST/arch/1_51_961976319.dbfarchivedlogforthread1withsequence52isalreadyondiskasfile+TEST/arch/1_52_961976319.dbfarchivedlogforthread1withsequence53isalreadyondiskasfile+TEST/arch/1_53_961976319.dbfarchivedlogforthread1withsequence54isalreadyondiskasfile+TEST/arch/1_54_961976319.dbfarchivedlogforthread1withsequence55isalreadyondiskasfile+TEST/arch/1_55_961976319.dbfarchivedlogforthread1withsequence56isalreadyondiskasfile+TEST/arch/1_56_961976319.dbfarchivedlogforthread1withsequence57isalreadyondiskasfile+TEST/arch/1_57_961976319.dbfarchivedlogforthread2withsequence32isalreadyondiskasfile+TEST/arch/2_32_961976319.dbfarchivedlogforthread2withsequence33isalreadyondiskasfile+TEST/arch/2_33_961976319.dbfarchivedlogforthread2withsequence34isalreadyondiskasfile+TEST/arch/2_34_961976319.dbfarchivedlogforthread2withsequence35isalreadyondiskasfile+TEST/arch/2_35_961976319.dbfarchivedlogforthread2withsequence36isalreadyondiskasfile+TEST/arch/2_36_961976319.dbfarchivedlogforthread2withsequence37isalreadyondiskasfile+TEST/arch/2_37_961976319.dbfarchivedlogforthread2withsequence38isalreadyondiskasfile+TEST/arch/2_38_961976319.dbfarchivedlogforthread2withsequence39isalreadyondiskasfile+TEST/arch/2_39_961976319.dbfarchivedlogforthread2withsequence40isalreadyondiskasfile+TEST/arch/2_40_961976319.dbfarchivedlogforthread2withsequence41isalreadyondiskasfile+TEST/arch/2_41_961976319.dbfarchivedlogforthread2withsequence42isalreadyondiskasfile+TEST/arch/2_42_961976319.dbfarchivedlogforthread2withsequence43isalreadyondiskasfile+TEST/arch/2_43_961976319.dbfarchivedlogforthread2withsequence44isalreadyondiskasfile+TEST/arch/2_44_961976319.dbfarchivedlogforthread2withsequence45isalreadyondiskasfile+TEST/arch/2_45_961976319.dbfarchivedlogforthread2withsequence46isalreadyondiskasfile+TEST/arch/2_46_961976319.dbfarchivedlogforthread2withsequence47isalreadyondiskasfile+TEST/arch/2_47_961976319.dbfarchivedlogforthread2withsequence48isalreadyondiskasfile+TEST/arch/2_48_961976319.dbfarchivedlogforthread2withsequence49isalreadyondiskasfile+TEST/arch/2_49_961976319.dbfarchivedlogforthread2withsequence50isalreadyondiskasfile+TEST/arch/2_50_961976319.dbfarchivedlogforthread2withsequence51isalreadyondiskasfile+TEST/arch/2_51_961976319.dbfarchivedlogforthread2withsequence52isalreadyondiskasfile+DATA/JY/ONLINELOG/group_4.262.961976705archivedlogforthread2withsequence53isalreadyondiskasfile+DATA/JY/ONLINELOG/group_3.263.961976697mediarecoverycomplete,elapsedtime:00:04:03Finishedrecoverat2017-12-2017:05:30startingfullresyncofrecoverycatalogfullresynccomplete

6. 以读写方式打开PDB,放弃目标SCN之后的所有改变,执行以下命令

RMAN>alterpluggabledatabasejypdbopenresetlogs;StatementprocessedstartingfullresyncofrecoverycatalogfullresynccompleteSQL>connjy/jy@jypdbConnected.SQL>selectcount(*)fromt1;COUNT(*)----------39

以上是“如何使用RMAN对PDB执行按时间点恢复”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!