Examine these queries and their output:
An online RMAN backup of the CDB was taken an hour before Restore Point R1 was created.
You want to recover PDB1 to Restore Point R1.
How do you achieve this?
Examine these queries and their output:
An online RMAN backup of the CDB was taken an hour before Restore Point R1 was created.
You want to recover PDB1 to Restore Point R1.
How do you achieve this?
To recover PDB1 to Restore Point R1, the correct method is to use the command 'FLASHBACK PLUGGABLE DATABASE PDB1 TO RESTORE POINT R1' by using RMAN while connected to CDB$ROOT. In a CDB that uses shared undo (as indicated by LOCAL_UNDO_ENABLED=FALSE), an auxiliary instance is required to restore shared undo tablespaces among other operations. This necessitates the use of RMAN for performing the flashback operation. Therefore, the procedure to accomplish this involves connecting to CDB$ROOT through RMAN and executing the flashback command.
In 19c, you can actually flashback a PDB from a restore point even if it's not clean: When using restore points, you can perform a flashback database operation either to a CDB restore point, PDB restore point, PDB clean restore point, or PDB guaranteed restore point. https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-performing-flashback-dbpitr.html#GUID-C1215E86-9A7B-4EC9-9777-2A18BD627394 Following on the same page, the procedure is described, which suggests the right answer to be D
I agree. tested in Lab. D - CORRECT
I think E https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/FLASHBACK-DATABASE.html#GUID-BE0ACF9A-BC13-4810-B08B-33326440258B PLUGGABLE Specify PLUGGABLE to flash back a PDB. You must specify this clause whether the current container is the root or the PDB you want to flash back. Restrictions on Flashing Back a PDB You cannot flash back a proxy PDB. If the CDB is in shared undo mode, then you can only flash back a PDB to a clean PDB restore point. Refer to the CLEAN clause of CREATE RESTOREPOINT for more information.
But that's a 12.2 doc page: in 19c, and I believe in 18c too, you apparently can do that, while connected to CDB via RMAN: https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-performing-flashback-dbpitr.html#GUID-C1215E86-9A7B-4EC9-9777-2A18BD627394
I agree. tested in Lab.
not true, sorry
If you try to reproduce this test case, then you will get ora-39883 from SQL*Plus (both PDB and CDB$ROOT), RMAN-07536 while connected to PDB and you'll be succeeded performing "flashback pluggable database..." from CDB$ROOT. So for me correct answer is D.
I guess the difference between your test and others' is the DB version, if you're using 18c or higher.
Answer : D Here Two point need to consider 1. shared undo mode 2. Clean restore point. In a CDB that uses shared undo, one set of tablespaces is shared by all PDBs. Undo data for multiple PDBs may be mixed within the undo tablespaces and even within individual data blocks. Therefore, to perform a flashback database operation for a PDB, RMAN automatically uses an auxiliary instance to restore shared undo tablespaces and certain tablespaces in the root and then recovers data to the required point in time. This process may involve restoring backups for a relatively small amount of data. When you perform a flashback database operation on a PDB to a clean PDB restore point, no auxiliary instance or restoring of backups is required. By default, the auxiliary instance is created in the FRA. You can use the AUXILIARY DESTINATION clause in the FLASHBACK DATABASE command to specify an alternate location for the auxiliary instance. Here in this question AUXILIARY DESTINATION clause is omitted(which is optional) so this RMAN command from CDB$ROOT will execute.
D is correct. For a CDB that uses Shared undo only RMAN can be used to flashback a PDB because an auxiliary instance must be created to accomplish this.
E. is the correct answer. Tested in lab, if you try FLASHBACK PLUGGABLE DATABASE PDB1 to restore point r1; you get an error message like this: NOTE: ORA-39883: Restore point R1 for pluggable database PDB1 is not a clean pluggable database restore point.
E https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/using-flasback-database-restore-points.html#GUID-34C48821-B29D-4A2E-94DE-CD97CFA7784E
For CDBs that use shared undo, a Flashback Database operation to a clean PDB restore point is faster than a Flashback Database operation to an SCN or other restore points that are not clean PDB restore points. This is because RMAN does not need to restore any backups while performing a flashback operation to a clean PDB restore point.
It's A the correct one: "A PDB restore point can be used to perform Flashback Database operations or point-in-time recovery only for the PDB in which it was created." Considering there is no clean restore point, it's recommended we use RMAN. --> see "drfhlo" comment!
For a PDB that uses shared undo, you can optionally include the AUXILIARY DESTINATION clause to specify a location for the auxiliary instance that stores data files restored as part of the Flashback Database operation. If you omit this clause, then the auxiliary instance is created in the fast recovery area. LOCAL_UNDO_ENABLED=FALSE then is in shared undo mode If you are using shared undo mode, then the syntax is a little different as you will have to specify a location for an auxiliary instance. FLASHBACK PLUGGABLE DATABASE PDB1 TO RESTORE POINT R1 AUXILIARY DESTINATION '/u01/aux'; The correct is E
You dont have to specify a location. By default, the auxiliary instance is created in the fast recovery area.
you can flashback either by using RMAN or SQL. So the answer most probably is E, cause many others are correct also and you can select just one of them.
not only RMAN, SQL too
ald85 and michael_live are right - you CANNOT flashback PDB without CLEAN restore point if there is SHARED UNDO mode.
E, this is my test lab. FLASHBACK PLUGGABLE DATABASE PDB2 TO RESTORE POINT R1; FLASHBACK PLUGGABLE DATABASE PDB2 TO RESTORE POINT R1 * ERROR at line 1: ORA-39883: Restore point R1 for pluggable database PDB2 is not a clean pluggable database restore point.
D correct ORA-39883: Restore point string for pluggable database string is not a clean pluggable database restore point. Cause: For a pluggable database using shared undo, there was an attempt to flashback pluggable database "in SQL" without a clean pluggable database restore point. The specified restore point was not a clean pluggable database restore point. Action: DO ONE OF THE FOLLOWING: - Issue flashback pluggable database in RMAN. - Issue the SQL flashback pluggable database command to flashback to a clean pluggable database restore point. - Turn on local undo mode for the pluggable database. The SQL flashback pluggable database command can always be used to flashback a pluggable database using local undo.
E is correct. it uses shared undo as local undo is set to false. and clean_pdb_restore point must be applied (must be set to yes)
Based on documentation you must conneto to CDB root with rman and flashback pdb
E - based on earlier comments, and test
SQL> flashback pluggable database pdb1 to restore point r1; flashback pluggable database pdb1vlt to restore point r1 * ERROR at line 1: ORA-39883: Restore point R1 for pluggable database PDB1 is not a clean pluggable database restore point.
Answer : D
Finished flashback at 2028-03-32:22:10:24 RMAN>
I'm fairly certain it's D.