As costiles details, the buffer cache is worthwhile visiting - Oracle 10g maimtains its own cache, so the AIX one can waste some memory resource.
I've just gone through this process with an old 660, and I found nmon was crucial for figuring-out things in near real-time and for analysing weeks-worth of performance data.
Use vmo -a to ascertain the current values of the likes of the buffer cache.
You can change its minimum and maximum thresholds on-the-fly, though there are risks with this. However doing it whilst the server is under load is the only way to figure-out what is going on. Use topaz or better nmon to see the result of your changes, but don't make substantial changes, just incremenets.
After adding additional memory (which was causing the swapping in any case) I changed the buffer cache substantially, as I didn't want its size to double with double the memory. It took a few days to hit a "sweet spot";
vmo -p -o minperm%=5 -o maxperm%=30 -o maxclient%=30
In the end the cache was being used just mostly by a NetBackup client overnight. After a bit of tuning I got 7GB free memory, which I was able to give to Oracle with a larger defined SGA.