This is not possible. All non-global zones must be in sync with the global zone as they all share the same kernel.
For this reason, it is only possible to update from the global zone.
I am doing a test with a whole root zone.
Try to apply the Recommended !
Whether it's a whole root zone or a sparse root zone doesn't change anything - it will fail.
All system patching activities must be done from the Global.
So I have to patch the ZoneGlobal and alls zones ?
Just the global - The system will automatically update the zones in parallel.
The problem is that, I don't want to patch some critical zone, only one
My solutions are :
1 - ZG + all zones
2 - ZG without any zones (option -G)
No, you have only one option that is to patch the Global zone (you cannot use -G for system packages/patches).
It seems that the zone framework is not the correct virtualization method if you need zones at different patch levels.
Other virtualization methods that could be suitable for you are
OVM for SPARC (Oracle VM Server for SPARC | Virtualization | Oracle)
OVM for x86 (VM - Virtual Machine | Oracle)
Solaris 11 Global Zone w/ Solaris 10 containers (Oracle Solaris 10 Zones - Oracle Solaris Administration: Oracle Solaris Zones, Oracle Solaris 10 Zones, and Resource Man…)
All of those allow different patch levels in the guest.