RE: using flashback in streams env

  • From: D'Hooge Freek <Freek.DHooge@xxxxxxxxx>
  • To: "venkat.lear@xxxxxxxxx" <venkat.lear@xxxxxxxxx>, oracle-l <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 23 Aug 2011 18:44:09 +0200

Venkat,

Are you going to perform the flashback on the source db or on the target 
database?

A couple of months ago I worked with streams on a migration project, where we 
replicated from the old environment to the new one.
During the day users where testing on the new environment and at night we would 
flashback the database and let it catch up with the replication.

Following steps where performed to release the target db to the testers:

. stop streams on the source db
. stop the apply on the target db
. create a flashback restore point on the target db
. recreate the sequences on the target db for which the last_number in the 
source db is different then that in the target db
. recompile the invalid packages
. enable the jobs in dbms_scheduler (we disabled them after the db was 
initially setup)

To put the db back in replication:

. flashback the target database to the restore point
. open the database with resetlogs
. modify the passwords on the target db to prevent end users from connecting
. start the apply on the target db
. start streams on the source db
. drop the restore point

In your case, you would add the generation of the data (on the target db) after 
the recompilation (or after enabling the jobs)

If you are going to flashback the source db you would perform the same steps, 
but you would also need to create a restore point on all target databases 
before creating the restore point on the source db.
The flashback should then be done on all databases before restarting the 
capture / apply.


Regards,

Freek D'Hooge
Uptime
Oracle Database Administrator
email: freek.dhooge@xxxxxxxxx
tel +32(0)3 451 23 82
http://www.uptime.be
disclaimer: www.uptime.be/disclaimer
---
From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On 
Behalf Of Venkat Krish
Sent: dinsdag 23 augustus 2011 16:22
To: oracle-l
Subject: using flashback in streams env

Hello listers - 
 Just wondering if anyone have experience on dealing/implementing with 
Streams+Flashback combination.

Here is my situation..

-- 30+ tables changes are to be captured in source db (say db_source) and to be 
replicated to diff database (say db_target)
-- db version: 11.2.0.2 (both database) running on Solaris

this is a testing environment & there is a pre-req to run some process from 
application to setup some mandatory data into database before the start of each 
test. (no access to application code and the option of getting it done from 
db-scripts is not feasible)

I know flashback would work great , but I am not sure about the same on an env 
with streams configured.

Here is my idea

(-- assume all db configurations are in place to store flashback logs and 
database is enabled with Flash-logging )

t1) stop capture process at source db, run the application to set up data 
(needed before every test)
t2) create a restore point
t3) start capture
t4) run the test


now if I need to do a different test, I am hoping to get back to t2 (flashback 
database + db bounce).

Am I missing/overlooking anything to consider? The target database (where apply 
is running) is not critical to be in-sync with source or to maintain data 
integrity. (if needed, I can stop apply process and truncate tables on target..)

Any clues/pointers would be much appreciated,

Thanks in advance,
Venkat

PS: Only a handful tables ( less than 50 tables ) are being replicated. So I am 
also open to run  flashback table (instead of flashback database).
--
//www.freelists.org/webpage/oracle-l


Other related posts: