sor", and "execution". By default these durations are separate from each other.
The disable durations, you have to set the underscore parameter:
"_enable_shared_pool_durations = false"
This is recommended by development for all similar issues.
The main advantage of "_enable_shared_pool_durations = false" is that all the durations are combined into one pool and so a duration will not run out while another duration has free memory.
This issue will be fixed in 12c version due to architectural changes which will allow less need of durations for subpools.
Note:
Please note that unpublished Enhancement Request Bug 8857940 - NEED COMMON DURATIONS FOR UNSHRINKABLE POOLS 8857940, fixed starting with 12.1.0.1, addresses the durations issue as well. With the fix for Bug 8857940 in place, Oracle permits to group the shared pool durations in 2 groups to allow better shareability of the memory and avoid the ORA-4031 errors.
Another possible solution is to apply Patch 8857940 if it is available for your platform and version.
REFERENCES
BUG:19236833 - EXADATA: ORA-04031: UNABLE TO ALLOCATE 32 BYTES OF SHARED MEMORY "SQLA" "TMP"
NOTE:411.1 - ADR Different Methods to Create IPS Package
BUG:17789414 - SUPERCLUSTER: ORA-4031 ERRORS OCCURING WEEKLY CAUSING INSTANCE CRASHES
BUG:20447919 - ORA-4031: UNABLE TO ALLOCATE 32 BYTES