#!/usr/bin/ksh # program : smenu_show_redo_logs.ksh SBINS=$SBIN/scripts HOST=`hostname` HOST=`echo $HOST | awk '{ printf ("%-+15.15s",$1) }'` function help { cat < : Generate a script to change redo size rdl -s : show redo stats rdl -t : Show redo log strands (private redo) rdl -la [nn] : Show redo history. Optionally show last [nn] days [default is today=0] # show the last 2 days log switches count : rdl -la 1 EOF exit } NDAYS=0 while [ -n "$1" ]; do case "$1" in -size ) CHANGE_SIZE=$2 ; shift ;; -s ) STATS=TRUE ;; -la ) HIST=TRUE if [ -n "$2" ];then NDAYS=$2 shift fi ;; -t ) STRANDS=TRUE ;; -f ) LIST_WRITES_INFO=true ;; -h ) help ;; * ) echo "Invalid parameter $1" ; help ;; 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 [ -n "$HIST" ];then # # A great classic SQL, by Tom Kyte? # sqlplus -s "$CONNECT_STRING" < to see last days' from sys.dual / set head on SET LINESIZE 190 SET PAGESIZE 9999 SET VERIFY off COLUMN DAY format a12 COLUMN H00 FORMAT 999 HEADING '00' COLUMN H01 FORMAT 999 HEADING '01' COLUMN H02 FORMAT 999 HEADING '02' COLUMN H03 FORMAT 999 HEADING '03' COLUMN H04 FORMAT 999 HEADING '04' COLUMN H05 FORMAT 999 HEADING '05' COLUMN H06 FORMAT 999 HEADING '06' COLUMN H07 FORMAT 999 HEADING '07' COLUMN H08 FORMAT 999 HEADING '08' COLUMN H09 FORMAT 999 HEADING '09' COLUMN H10 FORMAT 999 HEADING '10' COLUMN H11 FORMAT 999 HEADING '11' COLUMN H12 FORMAT 999 HEADING '12' COLUMN H13 FORMAT 999 HEADING '13' COLUMN H14 FORMAT 999 HEADING '14' COLUMN H15 FORMAT 999 HEADING '15' COLUMN H16 FORMAT 999 HEADING '16' COLUMN H17 FORMAT 999 HEADING '17' COLUMN H18 FORMAT 999 HEADING '18' COLUMN H19 FORMAT 999 HEADING '19' COLUMN H20 FORMAT 999 HEADING '20' COLUMN H21 FORMAT 999 HEADING '21' COLUMN H22 FORMAT 999 HEADING '22' COLUMN H23 FORMAT 999 HEADING '23' COLUMN TOTAL FORMAT 999,999 HEADING 'Total' SELECT SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH:MI:SS'),1,10) DAY , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'00',1,0)) H00 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'01',1,0)) H01 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'02',1,0)) H02 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'03',1,0)) H03 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'04',1,0)) H04 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'05',1,0)) H05 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'06',1,0)) H06 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'07',1,0)) H07 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'08',1,0)) H08 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'09',1,0)) H09 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'10',1,0)) H10 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'11',1,0)) H11 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'12',1,0)) H12 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'13',1,0)) H13 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'14',1,0)) H14 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'15',1,0)) H15 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'16',1,0)) H16 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'17',1,0)) H17 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'18',1,0)) H18 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'19',1,0)) H19 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'20',1,0)) H20 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'21',1,0)) H21 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'22',1,0)) H22 , SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH24:MI:SS'),12,2),'23',1,0)) H23 , COUNT(*) TOTAL FROM v\$log_history a where first_time > trunc(sysdate) - $NDAYS GROUP BY SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH:MI:SS'),1,10) ORDER BY SUBSTR(TO_CHAR(first_time, 'YYYY/MM/DD HH:MI:SS'),1,10) desc; EOF elif [ -n "$STRANDS" ];then # another query from Tanel.Poder; just to satisfy curiosity sqlplus -s "$CONNECT_STRING" < 0 and cp.CPODR_SEQ >0 / EOF echo fi