I had the some experience when doing upgrade from 8i to 126.96.36.199
. Both are 64-bit binaries.
We set shared_pool_size as 200M in 8i, but after upgrading , we can't start it up with 500M shared_pool-size ( we thought it's enough before upgrading)
So we set shared pool to 900M and then it's up.
The database has too many objects, about 100,000 objects in it.
Compare to your case 200M , 3G seems very excessive.
How many objects do you have?
And how much free memory do you have now (from v$sgastat)?
And what's the chunk size information(from x$ksmsp)?