Proracle’s Weblog

October 9, 2007

processing the trace files (followup to previous post)

Filed under: useful — proracle @ 7:56 am
Tags:
umask 113

uDump=/oracle/app/oracle/admin/ibp/udump

tmpFile=/tmp/tmp.lst

preFix=oracleibp

postFix=_TRC_BVISION.trc

tkpTmp=/tmp/tkp.txt

minSec=600

outPut=/ibp_arch/SSAS
cd ${uDump}
find . -name "ibp_ora_*_TRC_BVISION.trc" > ${tmpFile}
ps -ef | grep "${preFix} (" | awk ' { print $2 } ' > /tmp/act.lst
for ACT in `cat /tmp/act.lst` ; do
  cat ${tmpFile} | grep -v "ibp_ora_${ACT}${postFix}" > /tmp/tmp2.lst
  mv /tmp/tmp2.lst ${tmpFile}
done
cat ${tmpFile} | cut -c3-1000 > /tmp/tmp2.lst
mv /tmp/tmp2.lst ${tmpFile}
rm /tmp/act.lst
for FILE in `cat ${tmpFile}` ; do
  echo "Processing ${FILE} \c"
  $ORACLE_HOME/bin/tkprof $FILE ${tkpTmp} >/dev/null 2>&1
  TOTAL=0
  for ADDSECONDS in `cat ${tkpTmp} | grep total | tail -2 | awk ' { print $4 } ' | cut -f1 -d'.'  ` ; do
    TOTAL=`expr ${TOTAL} + ${ADDSECONDS}`
  done
  if [ ${TOTAL} -le ${minSec} ] ; then
    echo "  contains ${TOTAL} seconds ... OUT !"
  else
    echo "  contains ${TOTAL} seconds ... Formatting !"
    FORMATTOTAL=`echo ${TOTAL} | awk ' { printf "%08d\n", $1 } '`
#AIX    ls -l ${FILE} | awk ' { printf "%s_%s_%s\n",$6,$7,$8} '  | read TIMESTAMP
    TIMESTAMP=`ls -l ${FILE} | awk ' { printf "%s_%s_%s\n",$6,$7,$8} '`
    BASENAME=`echo $FILE | sed "s,.trc,,g"`
    $ORACLE_HOME/bin/tkprof $FILE ${outPut}/$TIMESTAMP"_"$FORMATTOTAL"_"$BASENAME.tim sys=no waits=yes sort=prsela,exeela,fchela >/dev/null 2>&1
    ln ${outPut}/$TIMESTAMP"_"$FORMATTOTAL"_"$BASENAME.tim ${outPut}/$FORMATTOTAL"_"$TIMESTAMP"_"$BASENAME.siz
  fi
  rm -f ${FILE}
done
rm -f ${tmpFile} ${tkpTmp}

No Comments Yet »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.