As with HADR single standby mode,
you can use a rolling upgrade. The crucial difference is that with
multiple standbys you can use this procedure while maintaining HADR
protection by keeping a primary and a standby active.
There is always a primary to provide database service and
this primary always has at least one standby providing HA and DR protection.
With multiple standbys, you should perform the update or upgrade
on all of the standbys before doing so on the primary. This is particularly
important if you are updating the fixpack level because HADR does
not allow the primary to be at a higher fixpack level than the standby.
The procedure is essentially the same as with single standby mode,
except you should perform the upgrade on one database at a time and
starting with an auxiliary standby. For example, consider the following
HADR setup:
- host1 is the primary
- host2 is the principal standby
- host 3 is the auxiliary standby
For this setup, perform the rolling upgrade or update according
to the following sequence:
- Deactivate host3, make the required changes, activate host3, and
start HADR on host3 (as a standby).
- After host3 is caught up in log replay, deactivate host2, make
the required changes, activate host2, and start HADR on host2 (as
a standby).
- After host2 is caught up in log replay and in peer state with
host1, issue a takeover on host2.
- Deactivate host1, make the required changes, activate host1, and
start HADR on host1 (as a standby).
- After host1 is in peer state with host 2,
issue a takeover on host1 so that it becomes the primary again and
host2 becomes the principal standby again.