Home > Uncategorized > Oracle: How to compile strmmon (Streams Monitoring Utility) on UNIX systems

Oracle: How to compile strmmon (Streams Monitoring Utility) on UNIX systems

The Streams Monitoring Utility strmmon is a very useful utility for monitoring current Streams activity. You can use it to obtain the current figures for capture, propagation and apply activity in vmstat-style.

To obtain the latest version of the utility use the following link to download it in a zip-file format: strmmon.zip

Compilation on systems prior 10gR2:

  1. Download the latest version
  2. extract the version on your database server in a strmmon directory
  3. make sure that you have set ORACLE_HOME and LD_LIBRARY_PATH correctly
  4. compile the binary inside the directory strmmon using “make -f strmmon.mk strmmon”

Compilation on 10gR2 systems:

  1. Download the latest version
  2. extract the version on your database server in a strmmon directory
  3. copy the files strmmon.c and strmmon.html to your $ORACLE_HOME/rdbms/demo directory
  4. cd $ORACLE_HOME/rdbms/demo
  5. make -f rdbms_demo.mk strmmon

For Oracle Database systems version 11g onwards, strmmon has been replaced by Oracle Streams performance/diagnostic related dictionary views and the DBMS_STREAMS_ADVISOR_ADM PL/SQL Package.

Example on 10.2.0.1:

oracle@oracle01:~$ mkdir strmmon
oracle@oracle01:~$ cd strmmon/
oracle@oracle01:~/strmmon$ mv /tmp/strmmon.zip .
oracle@oracle01:~/strmmon$ unzip strmmon.zip
Archive:  strmmon.zip
inflating: strmmon.mk
inflating: strmmon.htm
inflating: strmmon.c
oracle@oracle01:~/strmmon$ cp strmmon.c $ORACLE_HOME/rdbms/demo
oracle@oracle01:~/strmmon$ cp strmmon.htm $ORACLE_HOME/rdbms/demo
oracle@oracle01:~/strmmon$ cd $ORACLE_HOME/rdbms/demo
oracle@oracle01:/u01/app/oracle/product/10.2.0/db_1/rdbms/demo$ make -f demo_rdbms.mk strmmon
make -f /u01/app/oracle/product/10.2.0/db_1/rdbms/demo/demo_rdbms.mk build EXE=strmmon OBJS=strmmon.o
make[1]: Entering directory `/u01/app/oracle/product/10.2.0/db_1/rdbms/demo'
/usr/bin/gcc -c -I/u01/app/oracle/product/10.2.0/db_1/rdbms/demo -I/u01/app/oracle/product/10.2.0/db_1/rdbms/public -I/u01/app/oracle/product/10.2.0/db_1/plsql/public -I/u01/app/oracle/product/10.2.0/db_1/network/public -I/u01/app/oracle/product/10.2.0/db_1/precomp/public strmmon.c
/usr/bin/gcc -L/u01/app/oracle/product/10.2.0/db_1/lib/ -L/u01/app/oracle/product/10.2.0/db_1/rdbms/lib/ -o strmmon strmmon.o -lclntsh   `cat /u01/app/oracle/product/10.2.0/db_1/lib/sysliblist` -ldl -lm
make[1]: Leaving directory `/u01/app/oracle/product/10.2.0/db_1/rdbms/demo'
oracle@oracle01:/u01/app/oracle/product/10.2.0/db_1/rdbms/demo$

Execution example:

oracle@oracle01:/u01/app/oracle/product/10.2.0/db_1/rdbms/demo$ ./strmmon
Usage: strmmon -interval <seconds> -count <number> [-user <user name>]
[-passw <password>] [-dbname <database name>] [-sysdba]
[-long]
 
oracle@oracle01:/u01/app/oracle/product/10.2.0/db_1/rdbms/demo$ ./strmmon -interval 1 -count 5 -user strmadmin -passw SOME_PW -dbname db.initso.at
 
STREAMS Monitor, v 2.6  Copyright Oracle Corp. 2002, 2005.
Interval = 1, Count=5
 
Logon=strmadmin@db.initso.at ORACLE 10.2.0.1.0
 
Streams Pool Size = 132M
 
NET: <client bytes per sec> <dblink bytes per sec>
Cxxx: <lcrs captured per sec> <lcrs enqueued per sec> <capture latency>
PRxx: <messages received per sec>
Qx  : <msgs enqueued per sec> <msgs spilled per sec>
PSxx: <lcrs propagated per sec> <bytes propaged per sec>
Axxx: <lcrs applied per sec> <txns applied per sec> <dequeue latency>
<F>: flow control in effect
<B>: potential bottleneck
AR: apply reader
AS(n): n number of apply server
<x%I x%F x%xx>: <idle wait events percentage> <flow control wait events percentage> <other wait event percentage and name>
xx->: database instance name
 
2009-01-15 16:14:18 || orcl-> |      |
2009-01-15 16:14:19 || orcl-> | NET 16K 0 | <B> C002 0 0 0sec <97%I 0%F ->  |  -  C001 6 0 0sec <97%I 0%F ->  | Q54516 0 0 | PS01 0 0 0 | Q53876 0 0 | PS02 0 0 0
2009-01-15 16:14:20 || orcl-> | NET 13K 0 | <B> C002 0 0 0sec <97%I 0%F ->  |  -  C001 0 0 0sec <97%I 0%F ->  | Q54516 0 0 | PS01 0 0 0 | Q53876 0 0 | PS02 0 0 0
2009-01-15 16:14:21 || orcl-> | NET 13K 0 |  -  C002 6 0 3sec <100%I 0%F ->  |  -  C001 0 0 0sec <97%I 0%F ->  | Q54516 0 0 | PS01 0 0 0 | Q53876 0 0 | PS02 0 0 0
2009-01-15 16:14:23 || orcl-> | NET 6K 0 |  -  C002 0 0 3sec <48%I 0%F ->  |  -  C001 0 0 0sec <48%I 0%F ->  | Q54516 0 0 | PS01 0 0 0 | Q53876 0 0 | PS02 0 0 0
oracle@oracle01:/u01/app/oracle/product/10.2.0/db_1/rdbms/demo$
Categories: Uncategorized Tags:
  1. No comments yet.
  1. No trackbacks yet.

Connect with Facebook