#!/bin/sh # warrenty None. Use at your own risk. # file getLCinfo.sh # copyright (c)2011 OraPub, Inc. # Create/Update 16-Jan-2011, 24-Jan-2011 tracefile=$1 #tracefile=/home/oracle/admin/diag/rdbms/prod18/prod18/trace/prod18_ora_21939.trc packages=`cat $tracefile | grep "Namespace=TABLE/PROCEDURE(01) Type=PACKAGE(09)" | wc -l` procedures=`cat $tracefile | grep "Namespace=TABLE/PROCEDURE(01) Type=PROCEDURE(07)" | wc -l` parentcursors=`cat $tracefile | grep "Namespace=SQL AREA(00) Type=CURSOR(00)" | wc -l` childcursors=`cat $tracefile | grep "Parent Cursor:" | grep "maxchild=" | awk '{print $5}' | awk -F = '{print $2}' | awk '{sum+=$1} END {print sum}'` parentnochild=`cat $tracefile | grep "Parent Cursor:" | grep "maxchild=0" | wc -l` tables=`cat $tracefile | grep "Namespace=TABLE/PROCEDURE(01) Type=TABLE(02)" | wc -l` views=`cat $tracefile | grep "Namespace=TABLE/PROCEDURE(01) Type=VIEW(04)" | wc -l` syns=`cat $tracefile | grep "Namespace=TABLE/PROCEDURE(01) Type=SYNONYM(05)" | wc -l` funcs=`cat $tracefile | grep "Namespace=TABLE/PROCEDURE(01) Type=FUNCTION(08)" | wc -l` procsfuncs=`echo "$procedures+$funcs" | bc` tblsviews=`echo "$tables+$views" | bc` parentwchild=`echo "$parentcursors-$parentnochild" | bc` ccsrPerParent=`echo "scale=2;$childcursors/$parentwchild" | bc` echo "" echo "Library Cache Dump Summary for Oracle 11g" echo "" echo "--------------------------------------------" echo "Procs & Funcs : $procsfuncs" echo "Parent Cursors : $parentcursors" echo " w/ child cursors : $parentwchild" echo " wo/child cursors : $parentnochild" echo "Child Cursors : $childcursors" echo " per parent (w/csr) : $ccsrPerParent" echo "Unique Tables & Views : $tblsviews" echo "--------------------------------------------"