⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extent1.sh.shtml

📁 管理online的shell程序
💻 SHTML
字号:
<HTML><HEAD><TITLE>PRS Technologies, Inc. - script: extent1.sh</TITLE><META NAME="Description" content="PRS Technologies Inc. - Report on database size for an online engine database"><STYLE TYPE="text/css"><!--A.CLASS1 {background-color: #000066;  color: white;  letter-spacing: 0.2ex;  font-size: 14pt;  text-decoration: none;}A:hover.CLASS1 {  background-color: #ffffcc;  color: black;}--></STYLE><SCRIPT>defaultStatus = "PRS Technologies Inc. - script: extent1.sh";</SCRIPT></HEAD></CENTER><CENTER><TABLE border=0 cellspacing=0 cellpadding=0 width=90%><TR><TD>      <CENTER>      <IMG SRC="../gif/prs_tech_top_of_page1.gif" border=0 align=center alt="PRS Technologies Home Page">      </CENTER></TD></TR><TR><TD>      <CENTER>      <TABLE border=2 cellspacing=0 cellpadding=0>      <TR>      <td><A HREF="../index.shtml"          CLASS=CLASS1>&#160;Home&#160;</A>      <td><A HREF="../resume.shtml"         CLASS=CLASS1>&#160;Associates&#160;</A>      <td><A HREF="../references.shtml"     CLASS=CLASS1>&#160;References&#160;</A>      <td><A HREF="../downloads.shtml"      CLASS=CLASS1>&#160;Downloads&#160;</A>      <td><A HREF="../elite1.shtml"         CLASS=CLASS1>&#160;Elite&#160;</A>      <td><A HREF="../links.shtml"          CLASS=CLASS1>&#160;Links&#160;</A>      <td><A HREF="../contacts.shtml"       CLASS=CLASS1>&#160;Contact&nbspUs&#160;</A>      </TR>      </TABLE>      </CENTER></TD></TR></TABLE></CENTER><BR><CENTER><TABLE border=0 cellpadding=4 bgcolor=e7e7ce><tr><td><font color=#000066 size=+2><B>extent1.sh</B></font></td></tr></table></CENTER><XMP>#!/usr/bin/ksh#################################################################################       Module:         extent1.sh#       Author:         Peter R. Schmidt#       Description:    Report on database size for an online engine database##       Change Log##         Date    Name               Description.................#       02/17/98  Peter R. Schmidt   Start Program #       07/07/99  Peter R. Schmidt   Updated#       07/27/99  Peter R. Schmidt   Updated################################################################################OUTPUT=extent1.outTMPFILE=extent1.tmpPAGESIZE=2BG=false###############################################################################if [ $# != 0 ]then        ARG1=$1        case $ARG1 in                 1|2|3|4) OPTION1=$ARG1;;                 *)       OPTION1=2;;         esac        ARG2=$2        case $ARG2 in                 1|2|3|4) OPTION2=$ARG2;;                 *)       OPTION2=2;;         esac        BG=trueelse    tput clear    while true    do            echo "Report on extent sizes for an Informix online engine database"            echo            echo "Specify Order"            echo            echo "1 = Size"            echo "2 = Number of extents"            echo "3 = Table name"            echo "4 = Database/Table name"            echo "0 = Exit this program"            echo            echo "Enter sort sequence desired (0,1,2,3 or 4)"            read OPTION1                case $OPTION1 in 0|1|2|3|4) break;; esac            echo            echo "Error - you must enter 0,1,2,3 or 4!"            echo    done            while true        do                echo                echo "1 = Report in Megs"                echo "2 = Report in Kbytes"                echo "3 = Report in Pages"                echo "4 = Report in Bytes"                echo "0 = Exit this program"                echo                echo "Enter reporting unit desired (0,1,2,3,4)"                read OPTION2                        case $OPTION2 in 0|1|2|3|4) break;; esac                echo                echo "Error - you must enter 0,1,2,3 or 4!"                echo        done        fi    case $OPTION1 in        0)      echo "End requested by user"; exit;;        1)      SORT="4";     ORDER=desc; ORDERBY=Size;;        2)      SORT="3";     ORDER=desc; ORDERBY="Number-of-Extents";;        3)      SORT="2";     ORDER=asc;  ORDERBY=Tablename;;        4)      SORT="1,2";   ORDER=asc;  ORDERBY="Database/Tablename";;esaccase $OPTION2 in    0)  echo "End requested by user"; exit;;    1)  UNIT=M; UNITDESC=Mbytes;;    2)  UNIT=K; UNITDESC=Kbytes;;    3)  UNIT=P; UNITDESC=Pages;;    4)  UNIT=B; UNITDESC=Bytes;;esacif [ -f $OUTPUT ]then        rm -f $OUTPUTfiif [ -f $TMPFILE ]then        rm -f $TMPFILEfiecho "Collecting extent info from the sysmaster database..."        dbaccess << EOFdatabase sysmaster;unload to '$TMPFILE' delimiter "|"select         dbsname,        tabname,        count(*) num_of_extents,        sum(pe_size) total_sizefrom        systabnames, sysptnextwhere        partnum = pe_partnum  and   partnum  > 99  and   dbsname <> "sysmaster"--and   dbsname <> "rootdbs"group by 1,2order by $SORT $ORDER;EOFecho "unload completed"XDATE=`date +%D-%T`echo echo "Completed - formatting report..."echoawk ' \#################################################################################       Module:         extent1.awk#       Author:         Peter R. Schmidt#       Description:    Report on database size for an online engine database#       Called by:      extent1.sh##       Expected variables passed at runtime:##               pagesize        Informix Page Size#               xdate           Todays date, format: mm/dd/yy-hh:mm:ss#               orderby         Sort Order description##       Expected Input: Pipe Delimited file with the following 4 fields##               database name#               table name#               number of extents#               number of pages##       Change Log##         Date    Name               Description.................#       02/17/98  Peter R. Schmidt   Start Program #       07/07/99  Peter R. Schmidt   Updated#       07/27/99  Peter R. Schmidt   Updated#################################################################################       INITIALIZE VARIABLES AT BEGINNINGBEGIN {    cntline=5    pageno=1    maxextents=0}################################################################################       FIRST LINE ONLY{    if (NR == 1) {        split (xdate,b,"-")        udate=b[1]        utime=b[2]        printf "%s %s          Informix Extents Report                   Page: %d\n", udate, utime, pageno        printf "\n"         printf "                             Number of        Size in\n"        printf "DBS:Table Name                Extents          %s    \n", unitdesc        printf "\n"     }}################################################################################       ON EVERY LINE{        split ($1,a,"|")                dbs=a[1]        table=a[2]        num_extents=a[3]        size_P=a[4]                size_K=size_P*pagesize        size_M=size_K/1024        size_B=size_K*1024        tot_P += size_P        tot_K += size_K        tot_M += size_M        tot_B += size_B        if (num_extents > maxextents) {                 maxextents = num_extents         maxdbs     = dbs                maxtable   = table        }    dbs_table = dbs ":" table            if (unit == "M") {            printf "%-30s  %3d        %10.2f\n", dbs_table, num_extents, size_M    }    if (unit == "K") {            printf "%-30s  %3d        %10d\n", dbs_table, num_extents, size_K    }    if (unit == "P") {            printf "%-30s  %3d        %10d\n", dbs_table, num_extents, size_P    }    if (unit == "B") {            printf "%-30s  %3d        %10d\n", dbs_table, num_extents, size_B    }        cntline++}################################################################################       TOP OF PAGE{    if (cntline == 60) {        pageno++        printf "\f\n"        printf "%s %s          Informix Extents Report                   Page: %d\n", udate, utime, pageno        printf "\n"         printf "                             Number of        Size in\n"        printf "DBS:Table Name                Extents          %s    \n", unitdesc        printf "\n"         cntline=5    }}################################################################################       ON LAST LINEEND {        printf "\n"        if (unit == "M") {                printf "Total Size:                 %-10.2f Meg\n",tot_M         }        if (unit == "K") {                printf "Total Size:                 %d K\n",tot_K        }        if (unit == "P") {                printf "Total Size:                 %d Pages\n",tot_P        }        if (unit == "B") {                printf "Total Size:                 %d Bytes\n",tot_B        }        printf "Number of tables:           %d\n",NR        printf "Highest number of extents:  %d  (%s:%s)\n", maxextents, maxdbs, maxtable        printf "Using Informix pagesize of: %d K\n", pagesize        printf "Sorted by:                  %s\n", orderby        printf "\n"}################################################################################       END OF AWK SCRIPT' \pagesize=$PAGESIZE \xdate=$XDATE \orderby=$ORDERBY \unit=$UNIT \unitdesc=$UNITDESC \$TMPFILE > $OUTPUT if [ $BG = false ]then        pg $OUTPUTfirm -f $TMPFILEechoecho "Note: Output report is in $OUTPUT"################################################################################</XMP><CENTER><TABLE border=2 cellspacing=0 cellpadding=0><TR><td><A HREF="../index.shtml"        CLASS=CLASS1>&#160;Home&#160;</A><td><A HREF="../resume.shtml"       CLASS=CLASS1>&#160;Associates&#160;</A><td><A HREF="../references.shtml"   CLASS=CLASS1>&#160;References&#160;</A><td><A HREF="../downloads.shtml"    CLASS=CLASS1>&#160;Downloads&#160;</A><td><A HREF="../elite1.shtml"       CLASS=CLASS1>&#160;Elite&#160;</A><td><A HREF="../links.shtml"        CLASS=CLASS1>&#160;Links&#160;</A><td><A HREF="../contacts.shtml"     CLASS=CLASS1>&#160;Contact&nbspUs&#160;</A></TR></TABLE></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -