hi - We currently have this setup - primary on data center a on 11.2.0.3 and physical standby on datacenter b on 11.2.0.3. This weekend we are going to be upgrading these databases to 11.2.0.4. A lot of our production databases can afford some downtime over the weekend but there are a couple which cannot take any downtime. What is the best way to achieve this upgrade with minimal or no downtime.
Is opening the standby for read only a way to go ?
Thanks.
Really depends on the level of complexity (and expenditure) you are prepared to go with.
We offer a complete , virtually zero down time option with full application update capacity via GoldenGate (see
http://www.oracle.com/technetwork/middleware/goldengate/overview/ggzerodowntimedatabaseupgrades-174928.pdf )
but that's perhaps a big step from where you currently are.
So options with your current environment are:
1) use the standby as read-only as you have said, or
2) activate the standby as a "snapshot standby" which means updates are possible (eg in case you need that for certain requirements, eg reporting tables etc) but ultimately those updates will be discarded when you revert back.
3) look at means to speed up the upgrade process (11.2.0.3 to 11.2.0.4 is mainly just dictionary upgrades so it shouldn't take too long anyway), so you could consider what database options you really needed to be installed etc but of course, this is something that would need investigation and testing. Given that its "this weekend" I think that ship has sailed.
4) Compare dictionary upgrade with an alternative option, that of precreating an empty 11.2.0.4 database, and transporting the 11.2.0.3 user tablespaces into it. That will be a datapump export/import of metadata - it *might* be faster than the dictionary upgrade (depending on how many objects you have)
Hope this helps.