EBR is useful if the goal is to do hot rollover of your application to a new
version. However, depending on the type of database changes you are making as
part of your application it can be quite complex. Doing a flashback using GRP
is a lot more easier to implement if all you care to do is put the database
back in pre-upgrade state.
Ram
From: Mark W. Farnham
Sent: Tuesday, July 28, 2015 9:38 AM
To: ram.cheruvattath@xxxxxxxxx ; ecandrietta@xxxxxxxxx ; 'ORACLE-L'
Subject: RE: Rollback via Fast Recovery Area - Oracle 11g
AND, for the purpose you describe Oracle has provided Edition Based
Redefinition.
I *think* that is the future.
mwf
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On
Behalf Of Ram Cheruvattath
Sent: Tuesday, July 28, 2015 8:58 AM
To: ecandrietta@xxxxxxxxx; ORACLE-L
Subject: Re: Rollback via Fast Recovery Area - Oracle 11g
If all you want to do is flashback to a specific restore point, there is no
need to set flashback logging on at the database level. A guaranteed restore
point is all you need. There should be no need to shutdown the database to
enable flashback logging.
Ram
From: Eriovaldo Andrietta
Sent: Tuesday, July 28, 2015 8:03 AM
To: ORACLE-L
Subject: Rollback via Fast Recovery Area - Oracle 11g
Hi,
I am planning a rollback (Fast Recovery Area) procedure in the Oracle 11g.
The idea is: Change the product version. For example, the product is in the
version 10.0 and I need to change some objects and data increasing the version
to 10.1.
If everything is OK I don´t need rollback, it is considered as GO
but for some reason, I can imagine many, the customer says: NOGO, so I need to
rollback to version 10.0
I did some research about Fast Recovery Area and commands are bellow.
My doubts are:
1.) Does anyone have experience with this recovery resource ?
2.) If I don´t need rollback , can I only drop restore point that all changes
made will stay in the database ?
/* ---------- BEGIN ------------------------- */
shutdown immediate
startup mount
archive log list
show parameter db_recovery_file
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10g;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '<some folder in the database server
disk>';
select flashback_on from v$database;
alter database flashback on ;
select flashback_on from v$database;
create restore point teste guarantee flashback database;
select flashback_on from v$database;
select scn, garantee_flashback_database, time, name from v$restore_point;
alter database open;
-----------> **************************************************** <------------
-----------> Change objects via DDL commands in the database <------------
-----------> Change data via DML commands in the database <------------
-----------> **************************************************** <------------
shutdown immediate
startup mount
flashback database to restore point stable;
alter database open resetlogs;
drop restore point stable;
select flashback_on from v$database;
alter database flashback on ;
select flashback_on from v$database;
flashback database to restore point teste;
alter database open resetlogs;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 0;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '';
/* ---------- END ------------------------- */
Regards
Eriovaldo