• <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 
            久久综合久久久| 久久夜色精品国产噜噜麻豆 | 久久久久久亚洲精品影院| 色综合久久久久| 久久天堂电影网| 久久精品国产半推半就| 色综合久久最新中文字幕| 国产婷婷成人久久Av免费高清| 无码久久精品国产亚洲Av影片 | 久久99国产精品成人欧美| 久久青青草原综合伊人| 精品免费久久久久国产一区| 99久久无码一区人妻| 色99久久久久高潮综合影院| 午夜视频久久久久一区| 一本色道久久88精品综合| 午夜天堂精品久久久久| 精品久久久久久国产91| 久久久久噜噜噜亚洲熟女综合| 欧美午夜A∨大片久久| 麻豆AV一区二区三区久久| 色综合久久中文综合网| 无码精品久久一区二区三区| 国产精品99久久久精品无码| 97久久超碰成人精品网站| 国产精久久一区二区三区| 欧美精品国产综合久久| 久久精品aⅴ无码中文字字幕重口| 精品久久久久久国产| 2021国产精品午夜久久| 国产精品久久国产精品99盘 | 久久久久99这里有精品10| 精品久久久中文字幕人妻| 88久久精品无码一区二区毛片| 久久久久国色AV免费观看| 久久精品99久久香蕉国产色戒| 久久99精品国产麻豆蜜芽| 久久ZYZ资源站无码中文动漫| 精品久久久无码中文字幕| 少妇高潮惨叫久久久久久| 欧美一级久久久久久久大|