no output from db2cos script

no output from db2cos script

 

  

Gurus,
DB2 ESE V 8.1 FP 12... AIX 5.3
I could successfully log the 911 RC68 (lock time out) in db2diag.log with
using db2pd option as we did not want to increase the diag level to 4.
The problem is no output is generated by db2cos script inspite of seeing
that this script is successfully invoked as shown below in the
db2diag.log
The default output file (a/c to IBM docs) is sqllib/db2dump/db2cos.rpt
The output file path listed in the db2cos script is
$HOME/sqllib/db2dump/db2cos.rpt
I do not understand if it is the HOME directory of the instance id or my
id ?? I did not modify the db2cos script and it's location is
/pajzgr2/home/sqllib/db2cos. I have also attached the db2cos script to
this email.

2008-03-27-16.54.58.438598-240 I10768653A1133 LEVEL: Event
PID : 1736862 TID : 1 PROC : db2agent (PQRST) 0
INSTANCE: instance1 NODE : 000 DB : DB123
APPHDL : 0-579 APPID: *LOCAL.instance1.080327205307
FUNCTION: DB2 UDB, global services, sqlzeMapZrc, probe:999
DATA #1 : <preformatted>
Caught sqlcode -911. Dumping stack trace.
CALLSTCK:
[0] 0x0900000001335BAC pdLogPrintf + 0xB8
[1] 0x0900000001DCA8A0
sqlzeMapZrc__FP20sqle_agent_privatecbUiUlT2P5sqlcai + 0x104
[2] 0x0900000001BA2574 sqlrrMapZrc__FP8sqlrr_cbUiUli + 0x2C
[3] 0x0900000001BEBAF4 sqlritaSimplePerm__FP8sqlrr_cb + 0x44
[4] 0x0900000001B71C2C sqlriSectInvoke__FP8sqlrr_cbP12sqlri_opparm + 0x2CC
[5] 0x0900000001A4BB60 sqlrr_process_fetch_request__FP7UCintfc + 0x128
[6] 0x0900000001A4B740 sqlrr_open__FP7UCintfcP15db2UCCursorInfo + 0x390
[7] 0x0900000001AF77F4 sqljs_ddm_opnqry__FP7UCintfcP14sqljsDDMObject +
0x6C4
[8] 0x0900000001AF70BC
sqljsParseRdbAccessed__FP13sqljsDrdaAsCbP14sqljsDDMObjectP7UCintfc + 0x8
[9] 0x0900000001CA00E4 sqljsParse__FP13sqljsDrdaAsCbP7UCintfc + 0x21C

2008-03-27-16.54.58.438952-240 I10769787A408 LEVEL: Event
PID : 1736862 TID : 1 PROC : db2agent (PQRST) 0
INSTANCE: instance1 NODE : 000 DB : DB123
APPHDL : 0-579 APPID: *LOCAL.instance1.080327205307
FUNCTION: DB2 UDB, trace services, pdInvokeCalloutScript, probe:10
START : Invoking sqllib/db2cos script from global services sqlzeMapZrc

2008-03-27-16.54.58.555424-240 I10770196A385 LEVEL: Event
PID : 1736862 TID : 1 PROC : db2agent (PQRST) 0
INSTANCE: instance1 NODE : 000 DB : DB123
APPHDL : 0-579 APPID: *LOCAL.instance1.080327205307
FUNCTION: DB2 UDB, trace services, pdInvokeCalloutScript, probe:20
STOP : Completed invoking sqllib/db2cos script
#!/bin/sh

# This is a sample script, found in the sqllib/cfg directory, to be modified
# by the end user. This script must be placed in the sqllib directory
# for the db2cos functionality to work. Without modification, when a bad page
# is detected, this script will write diagnostic information about the page
# to the file db2cos.rpt which will be created in the sqllib/db2dump directory.
# (Note that this is currently hardcoded, it does not use diagpath.)
# In order to collect diagnostic information (such as traces) for other types
# of problem investigations, this script must be modified.

# Process the core arguments. Cycle through each argument until we find one that
# does not have an '=' sign
#
# NOTE: the following core arguments are possible but should not be expected.
# Be sure to check whether they are set before using them.
#
# instance : instance name
# database : database name
# dbpart : database partition number
# pid : process ID
# tid : thread ID
# function : function name of function that called the panic script
# component : component of the function
# probe : probe point
# timestamp : timestamp of when the script was called
# appid : application ID
# apphld : application handle
#
# NOTE: these are the variables that are currently supported; however, they
# may not be set, so modifications to this script should not rely on their
# existence.
#
# Before using a variable test for its existence with:
# if [ ! -n ${VALUE-?} ]

while [ "$#" -gt "0" ]
do
TAG=; VALUE=;
TAG=`echo $1| sed 's/=.*//'`; VALUE=`echo $1| sed 's/'$TAG'=*//'`;

if [ ! -n "$VALUE" ]
then
break
else
case $TAG in
INSTANCE)
instance=$VALUE
;;
DATABASE)
database=$VALUE
;;
DBPART)
dbpart=$VALUE
;;
PID)
pid=$VALUE
;;
TID)
tid=$VALUE
;;
FUNCTION)
function=$VALUE
;;
COMPONENT)
component=$VALUE
;;
PROBE)
probe=$VALUE
;;
TIMESTAMP)
timestamp=$VALUE
;;
APPID)
appid=$VALUE
;;
APPHLD)
apphld=$VALUE
;;
*)
#echo unknown TAG:$TAG
;;
esac
fi
shift
done

# Process type ($1 is the type due to the 'shift' in the above code)
typeReason=$1
typeDesc=$2

shift;shift

# Hand control over to the rest of the script
# $1 is the first "other argument"

case "$typeReason" in
"DATA_COR")
# data corruption area
# Order of input arguments
# 1- File/Lv name
# 2- Offset into file/lv in bytes.
# 3- Pagesize in bytes

echo "**Corruption Details***" > $HOME/sqllib/db2dump/db2cos.rpt
echo "File/Lv name: $1" >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Offset : $2" >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Page size : $3" >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Node Number : $dbpart" >> $HOME/sqllib/db2dump/db2cos.rpt
;;
"TRAP")
# trap area
;;
"DB2_TRC")
# trace area
# Script was invoked from inside a trace point

# Uncomment this if you'd like trace to be turned off
# db2trc dump /tmp/trc.dmp
# db2trc off
;;
"LOCKTIMEOUT")
echo "Lock Timeout Caught" >> $HOME/sqllib/db2dump/db2cos.rpt
date >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Instance " $instance >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Datbase: " $database >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Partition Number:" $dbpart >> $HOME/sqllib/db2dump/db2cos.rpt
echo "PID: " $pid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "TID: " $tid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Function: " $function >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Component: " $component >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Probe: " $probe >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Timestamp: " $timestamp >> $HOME/sqllib/db2dump/db2cos.rpt
echo "AppID: " $appid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "AppHdl: " $apphld >> $HOME/sqllib/db2dump/db2cos.rpt
db2pd -db $database >> $HOME/sqllib/db2dump/db2cos.rpt
;;
"DEADLOCK")
echo "Lock Deadlock Caught" >> $HOME/sqllib/db2dump/db2cos.rpt
date >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Instance " $instance >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Datbase: " $database >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Partition Number:" $dbpart >> $HOME/sqllib/db2dump/db2cos.rpt
echo "PID: " $pid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "TID: " $tid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Function: " $function >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Component: " $component >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Probe: " $probe >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Timestamp: " $timestamp >> $HOME/sqllib/db2dump/db2cos.rpt
echo "AppID: " $appid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "AppHdl: " $apphld >> $HOME/sqllib/db2dump/db2cos.rpt
db2pd -db $database >> $HOME/sqllib/db2dump/db2cos.rpt
;;
"SQLCODE")
echo "Sqlcode Caught" >> $HOME/sqllib/db2dump/db2cos.rpt
date >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Instance " $instance >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Datbase: " $database >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Partition Number:" $dbpart >> $HOME/sqllib/db2dump/db2cos.rpt
echo "PID: " $pid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "TID: " $tid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Function: " $function >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Component: " $component >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Probe: " $probe >> $HOME/sqllib/db2dump/db2cos.rpt
echo "Timestamp: " $timestamp >> $HOME/sqllib/db2dump/db2cos.rpt
echo "AppID: " $appid >> $HOME/sqllib/db2dump/db2cos.rpt
echo "AppHdl: " $apphld >> $HOME/sqllib/db2dump/db2cos.rpt
db2pd -db $database >> $HOME/sqllib/db2dump/db2cos.rpt
;;
*)
#echo "Unknown type!"
exit
;;
esac

DB2 & UDB email list listserv db2-l LazyDBA home page