How To
Summary
Regular nmon saves the "oracle" processes command name in the TOP process records so you can't determine the busy Oracle RDBMS instance from an idle one. With a little scripting, we can see the individual databases (instances) by using the UARG (User Arguments) data.
Objective
Environment
- The "T" capture top processes (TOP rows) and process user command arguments (UARG rows).
Steps
![]() |
![]() |
- Oracle_sales and oracle42 are instances are using significant CPU time but oracleHR and oracleTEST are under 3%.
![image 5227](/support/pages/system/files/inline-images/image_5227.png)
Why one bubble of graph line for all the Oracle processes?
Normally, the nmon Analyser and nmonchart use the TOP data for these graphs. The data includes the program name, which for Oracle is called "oracle". All "oracle" processes stats are added up to one total number. Oracle tries to reduce the memory foot print by using same binary for every Oracle Relational Database Management Systems function and Oracle instance, so the program name used is "oracle" regardless of the instance. This totaling is useful in most cases but not if you want to find out which RDBMS Instance is using the CPU the most and when it is not helpful.
- TOP,17508144,T0001,26.53,23.79,2.74,1,429796,303616,30604,2255566,0,0,oracle,Unclassified
- UARG,T0001,17508144,1,oracle,1,user1,group1,oracle_sales (LOCAL=NO)
- TOP,17508144,T0001,26.53,23.79,2.74,1,429796,303616,30604,2255566,0,0,oracle_sales ,Unclassified
- UARG,T0001,17508144,1,oracle,1,user1,group1,oracle_sales (LOCAL=NO)
grep ^TOP o.nmon >top grep ^UARG o.nmon >uargs grep -v ^TOP o.nmon | grep -v ^UARG >notop grep -v ora top >top_noora
doit() { grep $1 top | sed "s/,oracle,/,$2,/" >>newtop }
grep ora uarg | awk -F, '{ print $3 " " $9 }' | sed 's/_/ /g' | sed 's/oracle/ a b /' | awk '{ print "doit "$1 " " $4 }' | sort | uniq >> trans
- Note: sed 's/_/ /g' and sed 's/oracle/ a b /' Handles the processes names like: ora_abcd_sales
doit() { grep $1 top | sed "s/,oracle,/,$2,/" >>newtop } doit 10093208 oracle_sales doit 10093620 oracle_sales doit 10289596 oracleHR doit 10486582 oracle42 doit 10617276 oracle42 doit 10617804 oracleTEST doit 10682846 oracleHR doit 10682972 oracle42 ... 400+ lines
ksh <trans
cat notop newtop top_noora >oracle_fixed.nmon
./nmonchart oracle_fixed.nmon
Additional Information
Find move content from Nigel Griffiths IBM (retired) here:
- YouTube https://www.youtube.com/nigelargriffiths with ~200 Videos on AIX, Linux, and Power Server technology
- AIXpert Blog https://www.ibm.com/support/pages/aixpert-blog-nigel-griffiths-mrnmon
Document Location
Worldwide
Was this topic helpful?
Document Information
Modified date:
09 June 2023
UID
ibm11165408