Subscribe to Posts by Email

Subscriber Count

    701

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

Pages

11g: Restore point preserve?

In 11g there are two major enhancements to restore points

1. Create restore point as of scn, until 10g you can create a restore point with current scn only

SQL> create restore point p1 as of scn 19393930;

2. Preserve the restore points

SQL> create restore point p1 preserve;

The second point above need a bit explanation which normally confused by documentation:-

Here is excerpt from the documentation

CREATE RESTORE POINT statement to create a restore point, which is a name associated with a timestamp or an SCN of the database. A restore point can be used to flash back a table or the database to the time specified by the restore point without the need to determine the SCN or timestamp. Restore points are also useful in various RMAN operations, including backups and database duplication. You can use RMAN to create restore points in the process of implementing an archival backup.

PRESERVE

Specify PRESERVE to indicate that the restore point must be explicitly deleted. Such restore points are useful when created for use with the flashback history feature

GUARANTEE FLASHBACK DATABASE

A guaranteed restore point enables you to flash the database back deterministically to the restore point regardless of the DB_FLASHBACK_RETENTION_TARGET initialization parameter setting. The guaranteed ability to flash back depends on sufficient space being available in the flash recovery area.

Guaranteed restore points guarantee only that the database will maintain enough flashback logs to flashback the database to the guaranteed restore point. It does not guarantee that the database will have enough undo to flashback any table to the same restore point.

 

It is that, Guaranteed restore points are always preserved. A preserved restore point is same as guaranteed restore points, which enables you to flashback a database to restore point regardless of setting for the db_flash_back_retention_target parameter. The oracle will not drop the restore point even though it reaches the maximum restore points (i.e 2048 per instance). You have to explicitly delete or drop the restore point in both the cases. When you specify preserve rather guaranteed it just maintain as like guaranteed except it does note or mark as guaranteed.  Not sure why this much confusion Oracle creates.

-Thanks

Geek DBA

Comments are closed.