在一个PDB上执行一个闪回操作到原始或者单独替身
你可以闪回一个PDB到一个单独的替身,在相同的CDB替身或者 一个单独的CDB 替身。
、注意:
- 仅当数据库使用本地撤消时,才支持单独PDB闪回。
- 不支持将PDB闪回孤CDB。
例如,假设今天是星期五。您可以在PDB上执行闪回操作pdb1
,直到星期三下午4点,然后使用来打开PDB RESETLOGS
。现在,从星期三下午4点到当前时间之间的所有SCN现在都处于 的PDB替身中。从Oracle数据库版本20c开始,您可以pdb1
在星期四的任何时间执行闪回操作,因为该时间在当前CDB的替身之内。
在特定的PDB上执行闪回操作只会修改该PDB的数据文件。CDB中的其余PDB不会受到影响。使用特定时间,SCN,CDB还原点,PDB还原点,PDB干净还原点或PDB保证还原点指定必须将PDB闪回的时间点。
闪回数据必须可用,直到为闪回指定的时间点为止。
-
使用
SYSDBA
或SYSBACKUP
特权作为普通用户连接到root 。请参阅“使用RMAN建立数据库连接”。 -
确保CDB已打开。
当连接到根目录时,以下命令显示CDB的当前模式
SELECT open_mode from V$DATABASE;
复制
3.如果CDB使用Oracle密钥库加密备份数据,请确保密钥库已打开。
以下命令将打开密钥库:
复制ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "my_password";
复制
4.确定所需的SCN,还原点或闪回数据库命令的时间点。此点必须在当前的CDB版本或原始CDB版本中。
5.确保必须闪回的PDB已关闭。其他PDB可以是开放的并且可以运行。
接到根目录后,以下命令将关闭PDB my_pdb
。
复制ALTER PLUGGABLE DATABASE my_pdb CLOSE;
复制
6.设置必须执行闪回PDB操作的孤立PDB化身。
仅当闪回操作是针对孤立PDB实例中的SCN时才需要执行此步骤。如果闪回操作是在指定的时间或还原点,则无需设置孤立的PDB化身。
当连接到根目录时,以下命令将名为PDB的PDB化身为my_pdb
5:
RESET PLUGGABLE DATABASE my_pdb INCARNATION TO 5;
复制
7.指定的PDB执行闪回数据库操作到所需的时间点。
以下是使用本地撤消的PDB上的闪回数据库操作的示例:
FLASHBACK PLUGGABLE DATABASE my_pdb TO SCN 153478;
复制
FLASHBACK PLUGGABLE DATABASE my_pdb TO RESTORE POINT guar_rp;
复制
FLASHBACK PLUGGABLE DATABASE my_pdb TO CLEAN RESTORE POINT clean_rp;
复制
8.使用打开PDB RESETLOGS
。
下面的命令打开名为PDB my_pdb
有RESETLOGS
:
ALTER PLUGGABLE DATABASE my_pdb OPEN RESETLOGS;
复制