Hi,
first of all - if your oracle SGA is 9 GB than your system will hardly ever be happy with less than 18 GB memory. You are paging even though your tuning is fine - that means that you should physically have more memory to satisfy the needs of the box ... a DB server should never have to page.
I am not a fan of locking the SGA just because you are too low in memory. If its a single instance database and you are not going to use huge pages, than the better option is to add the memory the system needs and leave the memory unpinned. Pinning memory on a memory-constrained system will cause more paging - of your user processes what makes queries take longer and batches to overrun. It will not benefit your backups either. And - if the amount of memory you are going to pin is large relatively to the total physical memory, than you are running additionally the risk of a system crash when your system reaches the magical 83% threshold. AIX cannot pin more than a little over 80% in total - and the kernel pins depending on the workload a significant amount of memory over time as its a dynamic (learning) kernel - if your system is doing a lot of different things, than this can be easily be 25% after a week - though I have never seen a kernel pinning more than 35% in total no matter how long it's up, that still might lead to problems when you are pinning more than 50% from scratch to oracle.
If you still insist in doing it ...
Quote:
Do you know what is the parameter on AIX that automatic manage memory for the I/O buffer cache and application cache?
I am not sure what you mean with that - basically vmm is responsible for managing all memory on AIX except what is taken away by the SGA and therefor made unaccessible for the system. It is well known that backups are big memory consumers as each IO obviously needs to be buffered. The command
vmo -r -o v_pinshm=1 would allow oracle to do the lock_sga but as said before - it is a lot better and safer for the system to add the memory it needs and leave the SGA unlocked.
Now some good news - from the above I can see that your free list NEVER dropped to 0 - that means that lrud is doing its job scanning and freeing properly. If we now can get the paging under control by adding more memory you should be good.
I can see as well that your system would only start paging out Oracle related processes when your computational memory (avm x 4k) would exceed 97% what doesnt seem to be the case on your box (at least in the outputs you have pasted) - but I am quite sure as soon as rman kicks in this is pushing you over the edge.
Since you are running asm, do you still use a /dumps filesystem for the backups or does the DB do it directly to tape ?
I still would love to see a vmstat -Iwt 2 10 output from a timeframe when your system is really busy with normal work - and one from when rman runs ...
BTW - are running AIX 5.3 or 6.1 - and which oracle version ?
Regards
zxmaus