【RECO_ORACLE】Oracle闪回PDB的方法

来源:这里教程网 时间:2026-03-03 18:19:50 作者:

实验环境

搭建平台:VMware Workstation

OS:OL 7.5

DB:Oracle 12.2.0.1 具体步骤 闪回PDB就是闪回数据库,思路和闪回非PDB环境类似,都是恢复到某个还原点,所以第一步我们先创建一个还原点: 1. 创建还原点有两种等价的方式: (1)在CDB创建SQL> alter session set container=CDB$ROOT;  ##切换到根容器SQL> create restore point rsp1 for pluggable database pdbtest1;  ##需要指定PDBSQL> create restore point rsp2 for pluggable database pdbtest1 guarantee flashback database;  ##创建一个保证还原点的语法, 保证还原点是不会随着时间从控制文件中删除和必须明确删除。  (2)直接在PDB创建SQL> alter session set container=pdbtest1;  ##切换到PDBSQL> create restore point rsp1;SQL> create restore point rsp2 guarantee flashback database;   ##创建一个保证还原点的语法  注:如果是共享undo,闪回会创建辅助实例,所以建议使用以下步骤创建clean还原点,来避免闪回时创建辅助实例( 12.2及以上版本建议使用本地undo(local undo),与其他PDB表空间互不干扰):SQL> alter pluggable database pdbtest1 close;   ##需要先停库SQL> create clean restore point BEFORE_UPGRADE for pluggable database pdbtest1;  ##创建clean还原点  (3)检查还原点信息SQL> select NAME,TIME,SCN,pdbtest_RESTORE_POINT,GUARANTEE_FLASHBACK_DATABASE from V$RESTORE_POINT;或者RMAN查看$ rman target /RMAN> list restore point all;  2. 闪回PDB (1)share undo的两种不同情况的闪回方法 1) 对于在线直接创建还原点 SQL> alter pluggable database pdbtest1 close; SQL> flashback pluggable database pdbtest1 to restore point rsp1 auxiliary destination '/u01/app/oracle/oradata/stage';  ##必须添加“ auxiliary destination”关键字!此时会创建一个辅助实例,但对于clean还原点不需要这个关键字 SQL> alter pluggable database pdbtest1 open resetlogs;  2) 对于停库创建clean还原点SQL> alter pluggable database pdbtest1 close;SQL> flashback pluggable database pdbtest1 to clean restore point rsp1;SQL> alter pluggable database pdbtest1 open resetlogs;  (2)local undo的闪回方法SQL> alter pluggable database pdbtest1 close;SQL> flashback pluggable database pdbtest1 to restore point rsp1;SQL> alter pluggable database pdbtest1 open resetlogs;

相关推荐