How to apply patch 118833-36 on a containerized server?
We have a V890 running Solaris 10 that has two zones (containers) running instances
of Oracle database. `smpatch' won't install patch 118833-36 in the normal manner
because it's flagged as an interactive patch. The recommended procedure is to shut
the server down, boot it in single-user mode and then apply the patch this way:
# cd /var/sadm/spool
# smpatch add -i 118833-36
Then, you are supposed to shut it down again, do a reconfiguration boot, and finally
run smpatch again to apply the remaining patches.
Will this procedure work for a server with containers? I understand that the zones have
to be running for the patch upgrade to succeed. Is there a way to boot the zones into
single-user mode as well? We need to ensure that Oracle doesn't start during the
patch procedures.
# 3
Log into the global zone and run :
# shutdown -y -g0 -is
This should bring down the global zone to su mode _and_ halt the other zones (notice Halt)
However I believe there is a bug presently where this does not always happen and you are still able to telnet to the local zones.
Local zone admin could always run zoneadm -z <zone-name> halt on each zone (notice halt not single-user).
Once global zone in in single-user mode install the patch as normal, when the global is done it will bring up each local zone to single-user mode to add the patch too.
118833-36 may need patch add and -G option as this patch also has been experiencing some issues, in which case I believe you would need to do the patch add process on each zone manually
Once the global zone is brought back up again it should bring up the local zones as well.
Let us know if you experience the locals not being halted as mentioned above and need to do it manually.