The Progress OpenEdge Database Administration Experts

The Progress OpenEdge Database Administration Experts

The Progress OpenEdge Database Administration Experts

Monitoring Your Progress Database's Performance

Anything Is Better Than Nothing

Everyone should always have some basic performance logging running on their production machines. Even something as simple as this PROMON screen scraper (based on the sample from "A DBA's Guide to Databases Under Linux" ) is priceless when trying to track down performance problems.

You may not be having a problem today but if you ever do get into trouble you'll be much more prepared to deal with it.

This is free & easy -- if you don't have anything better available go ahead and install it. It only takes a few minutes and it can save you a world of hurt. Do it now.

#!/bin/ksh
#

# A script that defines environment variables like
# $DLC etc...

. /usr/local/sysadmin/config

# Set this to the name of the database being
# monitored

DBNAME=$1 ; export DBNAME

# Set this to the directory that the db is located
# in

DBDIR=/db

# Write the log files to /var/log/dbname/mm.dd
# This helps keep them organized.
#

DT=`date "+%m.%d"`
TM=`date "+%H.%M"`
TMP=/var/log/$DBNAME/$DT

mkdir -p $TMP
chmod 775 $TMP

cd $DBDIR/$DBNAME

# Go to the R&D menu, set the page size
#    1 status
#	7 buffer cache
#	4 processes
#	    3 active transactions
#    2 activity
#	13 shared resources

$DLC/bin/promon $DBNAME > $TMP/mon.$TM \
  <<- "EOF" 2> /dev/null
R&D
5
1
9999
p
4
60
p
1
13
p
p
1
7
p
4
3
p
p
p
2
1
p
3
x
EOF

# Go to the R&D menu, set the page size
#    3 other
#	2 io by process

$DLC/bin/promon $DBNAME > $TMP/iop.$TM \
  <<- "EOF" 2> /dev/null
R&D

5
1
9999
p
3
2
x
EOF

# Go to the R&D menu, set the page size & sampling
# interval
#    2 activity
#	1 summary
#	sample for 60 seconds
#	various summary stats

$DLC/bin/promon $DBNAME > $TMP/sample.$TM \
  <<- "EOF" 2> /dev/null
R&D
5
1
9999
3
60
p
2
1
s
p
3
p
4
p
5
p
6
p
7
p
8
p
10
p
11
p
12
p
13
x
EOF

# Get some helpful data from the OS

ps -elf > $TMP/ps.$TM

# iostat -x 10 2 > $TMP/iostat.$TM
#
# vmstat 10 10 > $TMP/vmstat.$TM