如何使用RMAN对CDB执行闪回数据库操作
这篇文章主要为大家展示了“如何使用RMAN对CDB执行闪回数据库操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用RMAN对CDB执行闪回数据库操作”这篇文章吧。
对CDB执行闪回数据库与对non-CDB执行闪回数据库操作是类似的,具体操作步骤如下:
1.使用SQL*Plus连接到目标数据库来判断闪回操作的的目标SCN,还原点或时间点
SQL>SELECTOLDEST_FLASHBACK_SCN,OLDEST_FLASHBACK_TIMEFROMV$FLASHBACK_DATABASE_LOG;OLDEST_FLASHBACK_SCNOLDEST_FLASH--------------------------------509011317-DEC-17SQL>SELECTCURRENT_SCNFROMV$DATABASE;CURRENT_SCN-----------6003920
2.删除表t1中的数据
SQL>selectcount(*)fromt1;COUNT(*)----------39SQL>deletefromt1;39rowsdeleted.SQL>commit;Commitcomplete.
3.关闭数据库,并确保没有任何实例打开数据库,然后启动到mount状态
SQL>shutdownimmediateDatabaseclosed.Databasedismounted.ORACLEinstanceshutdown.SQL>startupmountORACLEinstancestarted.TotalSystemGlobalArea6442450944bytesFixedSize8807168bytesVariableSize1895828736bytesDatabaseBuffers4529848320bytesRedoBuffers7966720bytesDatabasemounted.
4.运行flashback database命令将整个CDB闪回到指定的时间点
SQL>flashbackdatabasetoscn6003920;Flashbackcomplete.
5.在SQL*Plus命令窗口中将CDB设置为只读状态
SQL>alterdatabaseopenreadonly;Databasealtered.
6.如果闪回操作后满足你所要求的结果,那么可以执行以下两个相互排斥的选项:
.使用resetlogs选项将数据库打开。如果当前数据库为只读状态,那么使用SQL*Plus执行以下命令:
shutdownimmediatestartupmountalterdatabaseopenresetlogs
.使用Oracle Data Pump导出你所需要的对象,然后使用RMAN来恢复数据库到当前时间,通过对数据库重新应用重做日志中的所有改变来将
数据库恢复到当前时间点从而撤消闪回数据库所做的改变。
RMAN>recoverdatabase;Startingrecoverat18-DEC-17allocatedchannel:ORA_DISK_1channelORA_DISK_1:SID=11instance=jy1devicetype=DISKstartingmediarecoverymediarecoverycomplete,elapsedtime:00:00:02Finishedrecoverat18-DEC-17Mediarecoverycomplete.SQL>alterdatabaseopen;Databasealtered.SQL>alterpluggabledatabaseallopenreadwrite;Pluggabledatabasealtered.
以上是“如何使用RMAN对CDB执行闪回数据库操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。