这篇文章主要为大家展示了“如何使用RMAN对CDB执行闪回数据库操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用RMAN对CDB执行闪回数据库操作”这篇文章吧。
创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为白河企业提供专业的成都网站建设、网站建设,白河网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
对CDB执行闪回数据库与对non-CDB执行闪回数据库操作是类似的,具体操作步骤如下:
1.使用SQL*Plus连接到目标数据库来判断闪回操作的的目标SCN,还原点或时间点
SQL> SELECT OLDEST_FLASHBACK_SCN, OLDEST_FLASHBACK_TIME FROM V$FLASHBACK_DATABASE_LOG; OLDEST_FLASHBACK_SCN OLDEST_FLASH -------------------- ------------ 5090113 17-DEC-17 SQL> SELECT CURRENT_SCN FROM V$DATABASE; CURRENT_SCN ----------- 6003920
2.删除表t1中的数据
SQL> select count(*) from t1; COUNT(*) ---------- 39 SQL> delete from t1; 39 rows deleted. SQL> commit; Commit complete.
3.关闭数据库,并确保没有任何实例打开数据库,然后启动到mount状态
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 6442450944 bytes Fixed Size 8807168 bytes Variable Size 1895828736 bytes Database Buffers 4529848320 bytes Redo Buffers 7966720 bytes Database mounted.
4.运行flashback database命令将整个CDB闪回到指定的时间点
SQL> flashback database to scn 6003920; Flashback complete.
5.在SQL*Plus命令窗口中将CDB设置为只读状态
SQL> alter database open read only; Database altered.
6.如果闪回操作后满足你所要求的结果,那么可以执行以下两个相互排斥的选项:
.使用resetlogs选项将数据库打开。如果当前数据库为只读状态,那么使用SQL*Plus执行以下命令:
shutdown immediate startup mount alter database open resetlogs
.使用Oracle Data Pump导出你所需要的对象,然后使用RMAN来恢复数据库到当前时间,通过对数据库重新应用重做日志中的所有改变来将
数据库恢复到当前时间点从而撤消闪回数据库所做的改变。
RMAN> recover database; Starting recover at 18-DEC-17 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=11 instance=jy1 device type=DISK starting media recovery media recovery complete, elapsed time: 00:00:02 Finished recover at 18-DEC-17 Media recovery complete. SQL> alter database open; Database altered. SQL> alter pluggable database all open read write; Pluggable database altered.
以上是“如何使用RMAN对CDB执行闪回数据库操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!