リスト1 getevmon.ksh(UNIX)

#!/usr/bin/ksh
#  create an event monitor and capture its output
#  parameters: (1) database name
#              (2) monitor output file
#              (3) interval between iterations (seconds)
#  Note: You may receive an error about the monitor heap being too small. You may want to set 
#        mon_heap_sz to 2048 while monitoring.

if [ $# -ne 3 ]
  then echo "Requires 3 Parameters: dbname monitor_output_file interval_in_#seconds"; exit 
fi

MON=evmon
# "nonblocked" may cause loss of data but has less impact on system than default "blocked".
MONTYPE=nonblocked
SLEEP=$3
DB=$1
#EVENTS="deadlocks with details"
#EVENTS="tables, statements, deadlocks with details, connections"
EVENTS="statements"
OUTFILE=$2
OUTDIR="TMPEVMON"

mkdir $OUTDIR
chmod 777 $OUTDIR
cd $OUTDIR
db2 connect to $DB

db2 -v drop event monitor $MON
db2 -v create event monitor $MON for $EVENTS   \
    write to file "'`pwd`'" buffersize 64 $MONTYPE

db2 -v set event monitor $MON state = 1
echo ""
echo "Event Monitor active at `date`; sleeping for $SLEEP seconds before turning it off."
sleep $SLEEP
db2 -v set event monitor $MON state = 0

cd ..
db2evmon -db $DB -evm $MON > $OUTFILE

db2 -v drop event monitor $MON 
db2 terminate
rm -fr $OUTDIR
echo
echo db2evmon output is in $OUTFILE