• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            Q:定期runstats、reorg
            A:在db2 v8.2以上可以使用 CALL SYSPROC.ADMIN_CMD來(lái)實(shí)現(xiàn),
            這里主要講在v8.2以前的版本中利用shell或者批處理來(lái)實(shí)現(xiàn)同樣的功能
            因?yàn)樵谝郧暗陌姹局写鎯?chǔ)過(guò)程中是不能使用DDL操作語(yǔ)句的!(這點(diǎn)對(duì)于oracle剛轉(zhuǎn)過(guò)來(lái)的人來(lái)說(shuō)很是郁悶的)
            然后可以利用db2自帶的配置自動(dòng)維護(hù)來(lái)做,但是java做的東西比較讓人感覺(jué)頭痛!尤其是速度和莫名的錯(cuò)誤!
            本代碼使用操作系統(tǒng)的腳本來(lái)實(shí)現(xiàn)這部分功能!
            1.windows下
            如下:
            下一個(gè)cmd文件s.cmd
            內(nèi)容如下:
            db2 connect to ccp_dm
            db2 -x "select ’runstats on table ’||rtrim(tabschema)||’.’||tabname||’ on all columns’ from sysstat.tables where card=-1">tab.sql
            db2 -f tab.sql
            --其中where后的條件可以修改
            然后就是定制任務(wù):用windos的定制任務(wù)!每周或者每月運(yùn)行,這個(gè)就不講了哈!
            這部分經(jīng)測(cè)試,通過(guò)!
            不過(guò)能,這里只提到了runstats,對(duì)于reorg同理也可以實(shí)現(xiàn)!

            2.非windows下(這個(gè)是從網(wǎng)上搞得,沒(méi)有測(cè)試過(guò)):
            #!/usr/bin/ksh 
            #DB2V8統(tǒng)計(jì)更新腳本 by Ray001 2006/09/06 
            if [ $# -ne 3 ] 
            then 
            echo "Usage:$0 DBNAME USER PASSWD!" 
            exit 1 
            fi 
            DBNAME=$1 
            USER=$2 
            PASSWD=$3 
            rm -f tab.tmp 
            rm -f ind.tmp 
            db2 connect to $DBNAME user $USER using $PASSWD 
            db2 -x "select tabschema,tabname from sysstat.tables where card=-1">tab.tmp 
            if [ $? -ne 0 ] 
            then 
            if [ ! -s tab.tmp ] 
            then 
            echo "NO TABLES NEED TO BE PROCESS" 
            #exit 0 
            else 
            echo "SELECT SYSSTAT.TABLES ERROR" 
            exit 1 
            fi 
            fi 
            db2 -x "select tabschema,tabname,indschema,indname from sysstat.indexes where nl 
            eaf=-1">ind.tmp 
            if [ $? -ne 0 ] 
            then 
            if [ ! -s ind.tmp ] 
            then 
            echo "NO INDEXES NEED TO BE PROCESS" 
            #exit 0 
            else 
            echo "SELECT SYSSTAT.INDEXES ERROR" 
            exit 1 
            fi 
            fi 
            while read TABSCHEMA TABNAME 
            do 
            echo "runstats on table $TABSCHEMA.$TABNAME" 
            db2 "runstats on table $TABSCHEMA.$TABNAME" 
            donewhile read TABSCHEMA TABNAME INDSCHEMA INDNAME 
            do 
            echo "runstats on table $TABSCHEMA.$TABNAME for index $INDSCHEMA.$INDNAME" 
            db2 "runstats on table $TABSCHEMA.$TABNAME for index $INDSCHEMA.$INDNAME" 
            donedb2 terminate 
            rm -f tab.tmp 
            rm -f ind.tmp 
            亚洲乱码中文字幕久久孕妇黑人| 国内精品久久久久久久久电影网| 97久久精品人人澡人人爽| 亚洲国产精品久久久久| 亚洲国产成人精品女人久久久 | 久久亚洲精品国产精品| 97久久香蕉国产线看观看| 曰曰摸天天摸人人看久久久| 伊人久久大香线蕉成人| 亚洲国产精品久久| 伊人久久综合成人网| 欧美精品一本久久男人的天堂| 久久精品一区二区三区中文字幕 | 久久九九久精品国产| 久久综合给合久久国产免费| 精品久久人人妻人人做精品| 久久婷婷五月综合97色一本一本 | 久久综合九色欧美综合狠狠| 久久国产欧美日韩精品| 久久人妻无码中文字幕| 久久亚洲天堂| 国产成人综合久久精品尤物| 久久精品99久久香蕉国产色戒| 亚洲欧美国产精品专区久久| 国产成人精品久久综合| 久久精品草草草| 久久精品国产亚洲沈樵| 久久国产亚洲高清观看| 日日噜噜夜夜狠狠久久丁香五月| 久久精品国产72国产精福利| 国产亚洲欧美成人久久片| 精品午夜久久福利大片| 久久精品亚洲一区二区三区浴池 | 久久人爽人人爽人人片AV | 色综合久久久久网| 激情伊人五月天久久综合| 久久久一本精品99久久精品88 | 国产精品久久久久9999高清| 69久久夜色精品国产69| 99久久中文字幕| 国产成人综合久久精品尤物|