• <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.
            成人久久免费网站| 青青热久久国产久精品 | 欧美精品九九99久久在观看| 欧美午夜A∨大片久久 | 97久久综合精品久久久综合| 国产精品欧美久久久久天天影视 | 97久久精品人人做人人爽| 久久亚洲天堂| 久久免费国产精品一区二区| 欧美激情精品久久久久久| 精品国产乱码久久久久久1区2区 | 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 一本色道久久88精品综合 | 亚洲欧美精品一区久久中文字幕| 久久亚洲私人国产精品| 久久久久亚洲爆乳少妇无| 99国产欧美久久久精品蜜芽| 亚洲日韩欧美一区久久久久我| 国产美女久久精品香蕉69| 久久乐国产综合亚洲精品| 91麻豆精品国产91久久久久久| 国产精品久久久久久久久软件| 久久综合狠狠色综合伊人| 国产A级毛片久久久精品毛片| 99久久伊人精品综合观看| 久久久久无码精品国产| 中文字幕无码精品亚洲资源网久久| 国产日韩欧美久久| 国产精品成人无码久久久久久 | 国产精品久久久久国产A级| 久久99热这里只有精品66| 欧美亚洲日本久久精品| 久久精品成人免费观看97| 久久国产精品99久久久久久老狼 | 久久99精品久久久大学生| 久久久久人妻一区精品| 久久免费99精品国产自在现线| 国产精品日韩欧美久久综合| 国产午夜精品久久久久九九| Xx性欧美肥妇精品久久久久久| 欧美一区二区精品久久|