#!/usr/bin/ksh
# whatprocess ()
#-----------------------------------------------------------------------#
#    Module Name:  whatprocess                                          #
#                                                                       #
#    Purpose:      Report on the Active Database Processes.             #
#                                                                       #
#    Maintenance                                                        #
#    Date          Author        Description                            #
#    -----------   ------------  -------------------------------------- #
#    05-Jan-2024   G.Bruns       Module design/creation                 #
#-----------------------------------------------------------------------#
{
        DIRNAM=$(dirname $0)
        ORANAM=${ORACLE_SID}
        HNAME=$(uname -n)
                
        clear
        echo
        echo  " #-------------------------------------------------------#"
        echo  " # whatprocess:           Oracle Database Processed Area #"
        echo  " #-------------------------------------------------------#"
        echo
        echo  " Connecting as SYSDBA"
        sleep 2

        clear
        ORANAM=${ORACLE_SID}

#-----------------------------------------------------------------------#
#  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        on
        set     flush           on
        set     heading         on
        set     pause           off
        set     space           1
        set     termout         on
        set     verify          on
        set     linesize        80
        set     pagesize        999

        SPOOL /tmp/whatprocess_$$.txt

        COLUMN  datevalue       NOPRINT NEW_VALUE       DATEVAR
        COLUMN  timevalue       NOPRINT NEW_VALUE       TIMEVAR

        COLUMN  rnam  FORMAT  A10     Heading 'Process|Name'
        COLUMN  cutl  FORMAT  999999999  Heading 'Current|Utilization'
        COLUMN  mutl  FORMAT  999999999  Heading 'Maximum|Utilization'
        COLUMN  limt  FORMAT  999999999  Heading 'Limit|Value'

        TTITLE  CENTER  '${ORANAM} (${HNAME}) Database Processes' -
                LEFT    DATEVAR                              skip 1  -
                LEFT    TIMEVAR                              skip 2

       SELECT  TO_CHAR(sysdate,  'DD-MON-YY')           datevalue,
                TO_CHAR(sysdate, 'HH24:MI:SS')          timevalue,
                resource_name           rnam,
                current_utilization     cutl,
                max_utilization         mutl,
                limit_value             limt
        FROM    v\$resource_limit
        WHERE   resource_name in ( 'sessions', 'processes');

EXIT;

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