We got ORA-4030 error during DBUA again. I thought we had solved it in previous runs by setting these parameters in 9i init.ora which is used to create 10g init.ora by DBUA:
sga_max_size = 2G
shared_pool_size = 1G
java_pool_size = 500M
DBUA uses the parameters in the old 9i home to automatically create spfile for Oracle 10g. Unless the above parameters are set to the given values, ORA-04031: unable to allocate n bytes of shared memory error may occur.
ORA-4030 is related to the PGA and not SGA. But our pga_aggregate_target was also set to 1G. So why did the issue occur in the first place ?
The DBAs ran a manual upgrade and faced the very same error again. Suspecting resource issues on the OS, two instances not in use on the shared box were brought down. After this the upgrade went smooth without any errors. It looks like swap was the culprit here. I think it would be wise if we check if the swap available is 2.5 * (sga_max_size+pga_aggregate_target) before begining DBUA on a shared box.