I not too long ago determined to check out a rollback technique that we had been thinking of utilizing even though upgrading our databases to Oracle 11g. We were utilizing Oracle 10g at the time and we had the subsequent knowledge guard established-up:
Primary DB, ten.2..four
Physical standby DB one, 10.2..4
Physical standby DB two, 10.two..four
Be aware: The operating technique that we are operating is Home windows Server 2003, SP2. Although these directions are for the Windows setting they will also operate on any other atmosphere, the only variation getting some of the Windows particular configuration, such as Windows services creation.
The Strategy For Upgrading Information Guard
The strategy was to improve both knowledge guard DBs to 11g at the very same time as the major. As portion of the update we needed to have a failback strategy so that if the update was to fall short we would be in a position to restore the principal and standby databases again to a position in time prior to the upgrade took place. We did not want to have to rebuild the standby databases if the upgrade failed since that would be quite time consuming and require a good deal much more operate. The major databases rollback plan was relatively straightforward:
Shutdown the database
Just take a “snap” of the LUNs at the SAN amount
Deliver the databases up and operate in the up grade
Drop snap if update profitable
Rollback to the snap if the up grade failed
The issue that we confronted with the standby databases was that we did not have the capacity to snap the disks on the SANs that they ended up operating on since the SAN engineering was more mature and we failed to have the licenses for it. We also experienced some questions about the configuration of info guard and how it would function:
If we rollback the major DB, how do we roll back again the physical standby DBs if they have been implementing logs for the duration of the improve?
Can we cease the standby DBs applying logs, rollback the main DB to the snap model and begin shipping logs again?
Will the bodily standby DB decide up from in which it left off if we eliminate the logs which ended up produced although the improve was operating?
If the primary DB was at archivelog sequence one hundred at the time of the snap and it results in fifty logs through the up grade approach and we snap it again will it keep on from sequence one hundred again?
We manufactured educated guesses about just what we believed but the concerns earlier mentioned ought to be able to give you some thought about the types of concerns we had been not sure of ahead of we had finished any testing. The ideal way to confirm anything at all is to actually examination it out so I set out to take a look at our principle. What was the theory? Effectively, we imagined (I suggest hoped… ) that if we cancelled the log transport even though the update was working (DEFER the log archive destinations), rolled the principal DB again to the snap variation of the disks, deleted all the logs which have been produced whilst the improve was running and then enabled the log archive destinations yet again that the info guard physical standby databases would select up from the place they still left off, none the wiser to the unsuccessful up grade on the primary database.
What guardia civil are Likely to Check
Below is a listing of just what I will be walking via in the instance beneath:
Configure info guard on variation 10.two..4 (though this will utilize to 11g knowledge guard, also)
Produce the backup of your principal DB in preparing to restore it to generate your physical standby databases
The restore approach to established up your bodily standby databases
How to get log transport functioning from the major to the standby databases
Configuring the rollback method over
Simulation of a unsuccessful update try
Rolling back again to the snap version of the database (at the SAN stage)
A take a look at to see if it is all doing work as was the circumstance prior to the improve
SAN Vs Flashback Database – Private Check out…
I need to level out that for this test I have labored with the storage team to get a snapshot of the disk(s) ahead of any improve function is full. Individually, I discover that this is a much greater remedy for this type of function than utilizing Oracle’s flashback engineering for several reasons:
Flashback requires a big amount of place to store any alterations
I have encountered issues when employing Oracle flashback technological innovation whilst doing an improve which corrupted my guaranteed restore stage. extremely undesirable!
The SAN snapshot is extremely swift, thoroughly clean and needs no configuration adjustments from an Oracle level of check out – just a clear shutdown of the DB even though the snapshot is taken
So, in this check I present you how to develop a standby DB from your primary DB with all of the instructions that I needed to use. Hopefully it is all self-explanatory for a educated Oracle DBA. If not, you should request any concerns at the base of the webpage in the comments area or drop me an email and I will do my ideal to aid.
Action-by-Phase Guidebook to Creating and Configuring Info Guard Actual physical Standby
On your main DB, shrink the dimension of DB as significantly as achievable so that the backup, copy and restore to the standby database is quicker. I usually use this small script to do it dynamically for a certain tablespace. It will try to lessen each tablespace by 500MB, but you can configure that to no matter what you want it to be and do it for every tablespace by taking away the “exactly where tablespace_name =” component of the assertion.