DB2 CM資料庫訪問過慢的原因

2021-08-26 04:34:13 字數 701 閱讀 2273

專案名稱:cm內容管理平台。

專案架構:ibm的cm v8.4,was6.1.0.3,db2 9.5

資料庫:cm包含兩資料庫:庫伺服器icmnlsdb 資源管理器rmdb,應用資料庫有bbkp,其中was和rmdb資料庫安裝和儲存在一台伺服器,應用資料庫bbkp和icmnlsdb資料庫在另外一台資料庫上。

問題描述:在測試過程中,發現只要是和cm資料庫有關的網頁鏈結訪問都特別慢,在利用windows自帶的perfmon效能工具檢視磁碟io時,icmnlsdb所在的那個盤io特別高。再利用filemon工具檢視時,發現系統訪問icmnlsdb資料庫對應的表空間icmlfq32所在的目錄很頻繁,因此推測可能是這個導致磁碟io吃緊。

問題解決:既然找出問題所在,接下來就是解決問題了。推測可能是表空間cimlfq32容量不夠,但在為表空間新增容量時,系統卻出現由於是系統管理的表空間,不允許更改新增表空間。而通過網上搜尋,得出系統管理的表空間不受頁大小的影響,和磁碟的容量有關。但本地的磁碟空間還有19g多,因此無奈只好修改表空間關聯到緩衝池,通過將緩衝池設大,問題居然給解決了。太出乎意料了。

問題總結:由於系統訪問資料庫,獲取資料容量時,一般會先去緩衝池中查詢,緩衝池裡沒有的話才去表對應的表空間取資料。而緩衝池容量越大的話,資料存放的也就越多,表空間訪問的頻率也就越少,速度也就越快,尤其當資料量很多的時候,這個效果就特別明顯。因此當發現表空間對應的磁碟容量足夠時,一般就是由於緩衝池設定過小引起的。

用Visual C 訪問DB2資料庫

在visual studio.net beta 1版本中訪問ibm db2等非sql server資料庫通常是使用ado.net的odbc方法,而在beta 2中則改用ole db方式訪問資料庫。beta1中連線字串主要需宣告資料庫的odbc的dns名字,但beta 2中的ole db連線的字串就較...

用Visual C 訪問DB2資料庫

在visual studio.net beta 1版本中訪問ibm db2等非sql server資料庫通常是使用ado.net的odbc方法,而在beta 2中則改用ole db方式訪問資料庫。beta1中連線字串主要需宣告資料庫的odbc的dns名字,但beta 2中的ole db連線的字串就較...

DB2跨資料庫訪問表的方法

本文說明的是在同乙個資料庫例項中,在源資料庫dbsrc中訪問目標庫dbtarget的表table1的方法。使用者名稱 usr,密碼 pwd db2 版本 udb for aix 8.2.2 技術領域 db2 聯合資料庫 進入命令列 1 db2 2.db2 update dbm cfg using f...