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?
A.
Execute FLASHBACK PLUGGABLE DATABASE PDB1 TO RESTORE POINT R1 by using RMAN while connected to PDB1.
B.
Execute FLASHBACK PLUGGABLE DATABASE PDB1 TO RESTORE POINT R1 by using SQL while connected to PDB1.
C.
Execute FLASHBACK PLUGGABLE DATABASE PDB1 TO RESTORE POINT R1 by using SQL while connected to CDB$ROOT.
D.
Execute FLASHBACK PLUGGABLE DATABASE PDB1 TO RESTORE POINT R1 by using RMAN while connected to CDB$ROOT.
E.
This cannot be done due to the lack of a clean restore point.
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 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
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.
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.
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.
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
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!
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.
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.
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
A voting comment increases the vote count for the chosen answer by one.
Upvoting a comment with a selected answer will also increase the vote count towards that answer by one.
So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.
SimoneF
Highly Voted 3 years, 9 months agoTrololoshko
2 years, 6 months agoald85
Highly Voted 4 years, 7 months agoSimoneF
3 years, 9 months agoTrololoshko
2 years, 6 months agoTrololoshko
2 years, 6 months agoantonica
Most Recent 10 months, 1 week agoMcf23
1 year, 4 months agokaka321
1 year, 6 months ago_gio_
1 year, 7 months agoScottL
1 year, 9 months agodrfloh
1 year, 10 months agovkra
1 year, 11 months agodrfloh
1 year, 10 months agosmartvan
3 years, 3 months agoegore0496
3 years agoNeil107
3 years, 5 months agoKishor123
3 years, 6 months agoMartinDBA2
2 years, 11 months agosaserdi
3 years, 7 months agojackymak
1 year, 10 months agoauwia
6 months, 4 weeks agoObserverPL
3 years, 8 months agoAsmodeus
3 years, 10 months agoSimoneF
3 years, 9 months agomichael_live
4 years, 4 months agoCyborgQ
4 years, 6 months agoMartinDBA2
2 years, 11 months ago