#!/usr/bin/ksh # smenu_job.ksh # All about jobs HOST=`hostname` HOST=`echo $HOST | awk '{ printf ("%-+15.15s",$1) }'` # ------------------------------------------------------------------------------------------------------------------- function help { cat < # Run a job. Use 'jb -ls' to get the job id jb -remove # Remove a job -v : verbose EOF exit } # ------------------------------------------------------------------------------------------------------------------- # ------------------------------------------------------------------------------------------------------------------- # Main # ------------------------------------------------------------------------------------------------------------------- FIELD=" what proc, " FIELD2=" priv_user secd, " FIELD_HEADER="col proc format a50 heading 'Job' word_wrapped " FIELD_HEADER2="col secd format a10 heading 'Security' trunc" if [ -z "$1" ];then help fi while [ -n "$1" ] do case "$1" in -ls ) ACTION="LIST" ; EXECUTE=YES ; TITTTLE="List submited jobs" ;; -lr ) ACTION="LIST_RUN" ; EXECUTE=YES ; TITTTLE="List ssubmited jobs" ;; -n ) FIELD="interval," ; FIELD_HEADER="col interval format a50 heading 'Interval'";; -t ) FIELD2="total_time," ; FIELD_HEADER2="col total_time format 999,999,999 heading 'Total time'" ;; -r ) ACTION="RUN" ; ID=$2; shift ; TITTLE="Run a Job" ;; -v ) set -xv ;; -remove ) ACTION="REMOVE" ; ID=$2; shift ; TITTLE="Run a Job" ;; esac shift done . $SBIN/scripts/passwd.env . ${GET_PASSWD} $S_USER $ORACLE_SID if [ "x-$CONNECT_STRING" = "x-" ];then echo "could no get a the password of $S_USER" exit 0 fi # ------------------------------------------------------------------------------------------------------------------- if [ "$ACTION" = "LIST" ];then SQL="select job jid, log_user subu, $FIELD2 $FIELD to_char(last_date,'DD/MM/YYYY') lsd, substr(last_sec,1,5) lst, to_char(next_date,'DD/MM/YYYY') nrd, substr(next_sec,1,5) nrt, failures fail, decode(broken,'Y','Y','N') Broken from sys.dba_jobs; prompt " # ------------------------------------------------------------------------------------------------------------------- elif [ "$ACTION" = "REMOVE" ];then if [ -z "$ID" ];then echo "No job to remove given" exit fi if $SBINS/yesno.sh "To delete job $ID " DO Y then sqlplus -s "$CONNECT_STRING" <