#!/usr/bin/ksh
# whatsesshistory ()
#------------------------------------------------------------------------------#
#    Module Name:  whatsesshistory                                             #
#                                                                              #
#    Purpose:      Report on the v$SQL Sessions.                               #
#                                                                              #
#    Maintenance                                                               #
#    Date          Author        Description                                   #
#    -----------   ------------  --------------------------------------------  #
#    05-Jan-2008   M.Barone      Module design/creation                        #
#------------------------------------------------------------------------------#
{
        DIRNAM=$(dirname $0)
        ORASID=$(echo $CONTEXT_NAME | cut -f1 -d'_')
        HNAME=$(uname -n)

        clear
        #----------------------------------------------------------------------#
        #  TEST:  Number ($#) of arguments passed to this function?            #
        #----------------------------------------------------------------------#
        if      [ $# = 0 ]
        then
            clear
            echo
            echo  " #--------------------------------------------------------#"
            echo  " # whatsesshistory: Oracle SQL-Ids In DBA_SESSION_HISTORY #"
            echo  " #--------------------------------------------------------#"
            echo

            echo  " Connecting as SYSDBA"
            sleep 2

            clear
        else
            SEARCH=$1
            clear
        fi

        ORANAM=${ORASID}

#------------------------------------------------------------------------------#
#  SQL*Plus ("Here-Document")                                                  #
#------------------------------------------------------------------------------#
sqlplus  -s  /nolog  <<-END_FILE

        CONNECT  /  as  SYSDBA

        clear   BREAKS
        clear   BUFFER
        clear   COLUMNS
        clear   COMPUTES
        clear   SCREEN
        clear   SQL
        clear   TIMING

        set     feedback        off
        set     flush           on
        set     heading         on
        set     pause           off
        set     space           1
        set     termout         on
        set     verify          on
        set     linesize        80
        set     pagesize        100

        SPOOL /tmp/whatsesshistory$$.txt

        COLUMN  datevalue       NOPRINT NEW_VALUE       DATEVAR
        COLUMN  timevalue       NOPRINT NEW_VALUE       TIMEVAR

        COLUMN sample_time	FORMAT A10   HEADING 'DBA_HistSess|SampleTime'
        COLUMN username		FORMAT A8    HEADING 'UserName'
        COLUMN session_id	FORMAT 9999  HEADING 'Sess|ID'
        COLUMN session_serial#	FORMAT 99999 HEADING 'Sess|Serial'
        COLUMN sql_id		FORMAT A14   HEADING 'SQL-ID'
        COLUMN machine		FORMAT A12   HEADING 'Server|Name'
        COLUMN program		FORMAT A9    HEADING 'Program|Name'
        COLUMN module		FORMAT A9    HEADING 'Module|Name'

        TTITLE  CENTER  'Oracle E-Business Suite Session History'       -
                LEFT    DATEVAR                                         -
                RIGHT   'Page:'         FORMAT 999 SQL.pno      skip 1  -
                CENTER  'DBA Session History Sorted by SampleTime'      -
                LEFT    TIMEVAR                                 skip 2

        SELECT  TO_CHAR(sysdate, 'DD-MON-YY')   datevalue,
                TO_CHAR(sysdate, 'HH24:MI:SS')  timevalue,
		DBAHIST.sample_time,
		DBAUSER.username,
		DBAHIST.session_id,
		DBAHIST.session_serial#,
		DBAHIST.sql_id,
		DBAHIST.machine,
		DBAHIST.program,
		DBAHIST.module
	  FROM	DBA_HIST_ACTIVE_SESS_HISTORY DBAHIST,
	  	DBA_USERS DBAUSER
	WHERE	DBAHIST.user_id	=	DBAUSER.user_id
	ORDER   BY 3;

EXIT;

END_FILE
print
print "Please see /tmp/whatsesshistory$$.txt"
print
}
