Linux – How to find out CPU utilization per Oracle Database on Linux

linuxoracle

For capacity planning on existing RedHat servers hosting Oracle Databases, I was asked how to find out the CPU utilization per database.

Thought it would be as simple as

ps -eo pcpu,comm |grep -i oracle_dbname

But I'm not sure if this is the right approach.

Best Answer

All the oracle processes are kicked off by the oracle executable, and if you're running multiple databases on a server, all of the processes for each database will show up with just that executable.

Adding the args option to the ps command will add the database name both for the instance processes (such as pmon) and server processes (those satisfying user activity) to the ps output to allow grepping.

What I don't know is what you'll get is useful, considering ps is a snapshot of activity as of a given instant in time, and that seems like a very strange way to do capacity planning.