91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Db2的bufferpool問題怎么解決

發布時間:2021-12-30 11:25:45 來源:億速云 閱讀:614 作者:柒染 欄目:云計算

今天就跟大家聊聊有關Db2的bufferpool問題怎么解決,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

 數據庫從操作系統申請到的內存可分為兩部分:1.緩存池內存(數據頁和空閑頁) 2.非緩存池內存(線程/DLL/連接服務器等). 在數據庫中,如何設置和調整bufferpool是一個重要技巧,值太大可能會使數據庫無法啟動,太小又會使應用出錯,不能充分發揮數據庫性能。

 舉例來說:

 當你連接DB2數據庫,運行某SQL語句時提示:

 SQL1218N  There are no pages currently available in bufferpool   "4096"。SQLSTATE=57011。

  一般解決思路:  

    調整buffpool的大小

     解決方法:

        1> 啟動數據庫
            db2inst1@tysq: db2start
          啟動db2命令行
            db2inst1@tysq:db2

       2>  連接數據庫
             db2 =>connect to test

        3>  修改buffer pool

            檢查當前數據庫已有的buffer pool
            db2=>select * from syscat.bufferpools
             結果顯示系統存在默認的bufferpool   IBMDEFAULTBP, 大小為4K(1*4096),這個數值明顯太小;

            直接修改IBMDEFAULTBP的大小:
              db2 =>alter bufferpool IBMDEFAULTBP immediate size 50000
              現在bufferpool的大小為200M(50000*4096) ,可以滿足當前應用需求。

       4> 重啟數據庫管理程序
              db2inst1@tysq: db2stop force
              db2inst1@tysq: db2star

還有一種觀察方法

db2inst1@tysq:~> db2pd -db zssqdb01 -buff

Database Partition 0 -- Database ZSSQDB01 -- Active -- Up 23 days 08:43:02 -- Date 2014-01-11-17.58.28.554662

Bufferpools:

First Active Pool ID      1

Max Bufferpool ID         2

Max Bufferpool ID on Disk 2

Num Bufferpools           6

Address            Id   Name               PageSz     PA-NumPgs  BA-NumPgs  BlkSize    NumTbsp    PgsToRemov CurrentSz  PostAlter  SuspndTSCt Automatic

0x00002AB4A91D91C0 1    IBMDEFAULTBP       4096       86884      0          0          5          0          86884      86884      0          True  

0x00002AB4A91DA3C0 2    BP32               32768      45000      0          0          2          0          45000      45000      0          False  

0x00002AB419AE4260 4096 IBMSYSTEMBP4K      4096       16         0          0          0          0          16         16         0          False  

0x00002AB419AE5460 4097 IBMSYSTEMBP8K      8192       16         0          0          0          0          16         16         0          False  

0x00002AB419AE66A0 4098 IBMSYSTEMBP16K     16384      16         0          0          0          0          16         16         0          False  

0x00002AB419AE78E0 4099 IBMSYSTEMBP32K     32768      16         0          0          0          0          16         16         0          False  


在這里可看到各個緩沖區的大小。檢查SQL語句,可以發現報緩沖區不足信息的相應涉及表在幾號表空間,那個表空間對應使用的BufferpoolID是什么,這樣可以擴充對應的緩沖區空間,不是所有這個報錯都和IBMDEFAULTBP有關系。

同樣有時緩沖區設的太大,當前的機器物理內存不足以分配這個大的buffer pool,反而會造成數據庫不可連接,嘗試連接的時候會提示這樣的錯誤:SQL1042C  An unexpected system error occurred.  SQLSTATE=58004
。這個時候關鍵的不是擴,而是應該縮,通過縮小Bufferpool使問題得到解決。

可以嘗試用下面的步驟來解決:

1. 用DB2實例Owner的用戶登錄到系統,
2. 執行下面的命令來設置環境變量DB2_OVERRIDE_BPF
db2set DB2_OVERRIDE_BPF=number-of-pages
其中number-of-pages為頁數, 應該是一個較小的, 操作系統可以分配的值, 如5000; 下一次DB2數據庫連接以激活數據庫時, DB2系統會嘗試按照此參數指定的大小來分配BUFFERPOOL;
3.執行db2 terminate ,

運行命令db2 connect to db來建立數據庫連接;  由于我們已經設置了DB2_OVERRIDE_BPF環境變量, 此連接應該可以成功;
4. 連接建立后, 不要做其他操作, 立刻修改bufferpool;
db2 alter bufferpool bufferpool-name size number-of-pages
5. 為了使得我們修改的新buffer pool的大小可以生效, 需要先運行命令 db2 connect reset 斷開當前的連接;
6. 運行命令 db2set DB2_OVERRIDE_BPF= 以去掉該環境變量, 使得我們配置的新的buffer pool的大小可以生效;
7. 重新連接數據庫

注意:在32位系統上操作時, 此系統中db2總的內存只能用到1.75G左右,bufferpool用到1.2G.

要想充分使用主機內存,要將操作系統改為64位, 把你的db2也改為64位。另外,db2使用內存最好不要超過主機內存一半。  

補充一點:(來自互聯網)

要準確反映現在生效的bufferpool設置,應該

1. db2 get snapshot for bufferpools on dbname|lessDB2 V7,8,9通用。分區通用,加db2_all or rah

2. db2mtrk -d -vDB2 V8,9通用。分區通用, 加db2_all or rah

3. db2 "select * from sysibmadm.snapbp"DB2 V9通用。分區應為sysibmadm.snapbp_part。

4. db2 "select * from sysibmadm.bp_hitratio"DB2 V9通用。分區通用,加db2_all or rah注:1只對單個activated數據庫有效;3,4只對當前connect數據庫有效。

看完上述內容,你們對Db2的bufferpool問題怎么解決有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潜江市| 东丽区| 漯河市| 岳池县| 南川市| 方城县| 吴桥县| 汉阴县| 齐齐哈尔市| 阜新| 许昌市| 吉木萨尔县| 炉霍县| 克山县| 荔波县| 汉沽区| 临西县| 扶余县| 大悟县| 巫山县| 东方市| 敦煌市| 铜梁县| 荣昌县| 广昌县| 闸北区| 漾濞| 广河县| 古丈县| 于都县| 东城区| 和静县| 镇平县| 平谷区| 治县。| 新河县| 桐梓县| 锡林浩特市| 天津市| 东阿县| 阿克|