• <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++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            解決DB2日志滿問題的一種方法

            Posted on 2009-08-07 12:20 Prayer 閱讀(759) 評論(0)  編輯 收藏 引用 所屬分類: DB2

            Document #: 1807545H25001

            Body:

            [標題]解決 DB2 日志滿問題的一種方法


            環(huán)境:
            產(chǎn)品:DB2 UDB
            平臺:跨平臺
            版本:8


            問題描述:

            DB2 使用的活動日志的最大空間是由下面公式:

            (logprimary + logsecond) * logfilsiz * 4096

            計算出的大小來決定的(logprimary,logsecond,logfilsiz是數(shù)據(jù)庫配置參數(shù))。若該空間已全部被分配,而應(yīng)用仍試圖請求更多活動日志空間時,就會發(fā)生日志滿的情況,此時,用戶的更新、刪除或插入操作都會使 DB2DIAG.LOG 中寫入以下信息:

            SQL0964C 數(shù)據(jù)庫的事務(wù)日志已滿。

            DB2 活動日志滿通常是由于存在大量未提交事務(wù)的數(shù)據(jù),使得活動日志的空間不能及時釋放,使新的事務(wù)無法申請到可用日志空間,而最終報出 SQL0964C 的錯誤所致。為使應(yīng)用程序成功運行,而不是被回滾,通常會考慮根據(jù)情況選擇增大以上公式中的某些數(shù)據(jù)庫參數(shù),以增大活動日志空間來解決這一問題。

            但還有另外一種原因,即在日志空間并未用盡的情況下,當(dāng)某個占有最舊活動日志的應(yīng)用長時間未作提交操作,阻止了日志的 LSN 的分配,造成日志空間無法使用,同樣會引發(fā)這一日志滿的報錯。對于這種情況,可以提交該交易或利用 FORCE 命令來終止此應(yīng)用程序,以便釋放它所占用的日志空間,使 LSN 可以繼續(xù)分配,空閑的日志空間可用。這里就提供了由這一原因?qū)е氯罩緷M問題的解決方法。


            解答:

            首先檢查 DB2 診斷日志文件 db2diag.log,在其中查找類似如下信息:

            2003-01-16-02.53.54.935308 Instance:db2inst1 Node:016
            PID:144252(db2agntp (SAMPLE) 16) Appid:*.*
            data_protection sqlpgrsp Probe:50 Database:SAMPLE

            Log Full -- active log held by appl. handle 787273
            End this application by COMMIT, ROLLBACK or FORCE APPLICATION.
            :
            :

            由此,可以找到最早持有日志空間的應(yīng)用程序,其句柄為 787273。如果使用 DB2 的快照工具,通過從快照的輸出中查找類似以下信息:

            Appl id holding the oldest transaction = 787273

            同樣可以找到這個應(yīng)用程序的句柄。這時使用以下命令可以在無需斷開數(shù)據(jù)庫其它應(yīng)用程序的連接的情況下強行終止該應(yīng)用程序:

            db2 force application (787273)
            DB20000I FORCE APPLICATION 命令成功完成。
            DB21024I 該命令為異步的,可能不會立即生效。

            根據(jù)提示,由于該命令是異步操作,可再次使用:

            db2 list applications

            驗證應(yīng)用是否已被真正停止,如果輸出中已沒有該應(yīng)用,它所占有的日志空間會因應(yīng)用程序被回滾而立即釋放,而 DB2 日志因此重新可用。


            Copyright and trademark information
            IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
            一本大道久久东京热无码AV| 国产福利电影一区二区三区久久久久成人精品综合 | 精品久久久久久无码专区不卡| 午夜久久久久久禁播电影| 久久精品黄AA片一区二区三区| 国内精品久久久久久野外| 国内精品久久久久久久久电影网| 久久毛片一区二区| 久久91亚洲人成电影网站| 久久夜色撩人精品国产| 久久91亚洲人成电影网站| 久久大香萑太香蕉av| 香蕉久久一区二区不卡无毒影院| 久久亚洲日韩看片无码| 大蕉久久伊人中文字幕| 久久精品无码午夜福利理论片 | 99精品国产99久久久久久97| 亚洲国产精品久久久久久| 亚洲国产精品高清久久久| 污污内射久久一区二区欧美日韩| 久久最新精品国产| 久久婷婷五月综合国产尤物app| 欧美精品丝袜久久久中文字幕 | 久久夜色精品国产www| 精品国际久久久久999波多野| 亚洲伊人久久综合中文成人网| 伊人久久免费视频| 久久A级毛片免费观看| 久久精品一本到99热免费| 午夜视频久久久久一区 | 久久人人爽人人爽人人av东京热 | a级毛片无码兔费真人久久| 久久精品国产精品亚洲毛片| 日产精品久久久一区二区| 精品久久久久久无码不卡| 亚洲人成无码www久久久| 久久强奷乱码老熟女| 无码人妻久久一区二区三区蜜桃 | 思思久久99热只有频精品66| 亚洲伊人久久综合影院| 久久只这里是精品66|