db2pd 工具
db2pd 命令有 22 個選項。如果要對所有資料庫分割槽伺服器上、所有活動的本地資料庫執行所有這些選項,只需要輸入 db2pd –everything,也可通過下表所示的範圍選項限制資訊的範圍。
表 1. db2pd 範圍選項
範圍 | 範圍選項 | 說明 |
例項 | -inst 或 -ins | 用於例項 |
資料庫 | -database x 或 –db x | 用於特定的資料庫x |
資料庫 | -alldatabase 或 –alldb | 用於所有資料庫 |
分割槽 | -dbpartitionnum n 或 –dbp n | 用於特定的資料庫分割槽伺服器 n |
分割槽 | -alldbpartitionnums 或 –alldbp | 用於例項中的所有資料庫分割槽伺服器 |
注意,dbp2pd 選項可以在例項的範圍內,也可以在資料庫的範圍內。如果使用資料庫範圍,指定的資料庫必須已經啟用。表 2 顯示了每個 db2pd 選項、選項的說明和對應的範圍。
表 2. db2pd 選項的範圍
db2pd 選項 | 說明 | 範圍 |
agents | 返回關於代理的資訊 | 例項 |
applications | 返回應用程式的資訊 | 資料庫 |
bufferpools | 返回緩衝池的資訊 | 資料庫 |
Catalogcache | 返回目錄緩衝的資訊 | 資料庫 |
dbcfg | 返回資料庫配置引數的設定 | 資料庫 |
dbmcfg | 返回資料庫管理器配置引數的設定 | 例項 |
dynamic | 返回動態 SQL 的執行資訊 | 資料庫 |
fcm | 返回快速通訊管理器的資訊 | 例項 |
help | 返回 db2pd 命令的幫助資訊 | 無 |
logs | 返回日誌資訊 | 資料庫 |
locks | 返回鎖定資訊 | 資料庫 |
mempools | 返回記憶體池的資訊 | 兩者 |
memsets | 返回記憶體設定的資訊 | 兩者 |
osinfo | 返回作業系統資訊 | Instance |
recovery | 返回恢復活動的資訊 | 資料庫 |
reopt | 返回使用 REOPT ONCE 選項應用程式重新優化的 Cached SQL 語句的資訊 | 資料庫 |
reorg | 返回表重組的資訊 | 資料庫 |
static | 返回靜態 SQL 和包的執行資訊 | 資料庫 |
sysplex | 返回和所有資料庫或者某個資料庫的別名相關的伺服器列表資訊 | 例項 |
tablespace | 返回表空間的資訊 | 資料庫 |
tcbstats | 返回表和索引的資訊 | 資料庫 |
transactions | 返回活動事務的資訊 | 資料庫 |
version | 返回當前 DB2 版本和級別的資訊 | 例項 |
更好的是,可以指定 –repeat 引數重複該命令。比方說,下面的命令每 2 秒鐘顯示一次 DB2 記憶體資訊,共 5 次:
db2pd –mempools –repeat 2 5 |
此外,通過 file= 引數還可以將特定 db2pd 命令選項的結果儲存到檔案中。file 和 repeat 引數可以結合使用:
db2pd –mempools file=memp.txt –repeat 2 5 |
其中,memp.txt 儲存輸出結果。
下面這些例子說明了如何用 db2pd 工具監控您的資料庫環境。
例 1:
如果希望瞭解當前 DB2 的級別和當前作業系統的資訊,可以輸入以下命令:
db2pd –version –osinfo |
圖 8. 監控例子 1
–version 選項顯示了系統上執行的當前 DB2 的版本和級別。輸入 db2level 命令也可以得到同樣的資訊。–osinfo 選項顯示 OS、CPU、實體記憶體和虛擬記憶體資訊。類似的 OS 資訊也可以在 DB2 啟動時的 db2diag.log 中找到。這個例子也說明了獲得版本資訊和 OS 資訊是多麼簡單,只需要在一個 db2pd 命令中指定兩個選項。
例 2:
如果希望瞭解誰給資料庫加了鎖,可以使用下面的命令確定這個人:
db2pd –database sample –locks –transactions –agents –file lock.txt |
db2pd 命令的所有選項都可以使用前三個字元的縮寫,只有兩個除外:-mempools 和 –memsets。使用縮寫形式,上面的例子可以改寫為:
db2pd –db sample –loc –tra –age –fil lock.txt |
上面的命令使用了混合範圍選項。–lock/-loc 和 –transactions/-tra 是資料庫範圍內的選項,agents/–age 是例項範圍內的選項。雖然範圍選項是混合的,仍然可以顯示當前活動代理的鎖定和事務資訊。使用 –file/-fil 選項,命令的輸出儲存到 lock.txt 檔案中。該命令的訊息顯示如下。
圖 9a. 監控例子 2
要注意,–db 選項被 –agents 選項忽略了。
下圖(圖 9b)顯示了 lock.txt 檔案的部分內容。
圖 9b. lock.txt 檔案的內容
通過以下步驟很容易發現誰加了鎖。
- 圖 9b 中,–lock 選項生成的第一段輸出表明,一個共享鎖(Mode=S)被控制程式碼號為 3(TranHdl=3)的事務持有,而且鎖定的狀態是授權(Sts=G)。
- –transactions 選項生成的第二部分輸出表明,事務控制程式碼號 3 具有應用程式控制程式碼號 28(AppHandl=28)。
- 最後,可以在輸出的第三部分中發現,ID 為 POONS 的使用者擁有應用程式控制程式碼號 28。
事務在等到被鎖定的資源時,–locks 在輸出中的狀態(Sts)將是 W,代表 Waiting(等待)狀態。然後使用上面的方法很容易確定誰在等待鎖定的資源。
這個例子說明,一個簡單的命令可以檢索必要的資訊確定誰加了鎖,也說明可以將多個選項的輸出儲存到一個檔案中,還說明了選項的縮寫形式。一旦熟悉了 db2pd 工具,為了更快地執行命令可以使用縮寫形式減少按鍵的次數。但是為了清晰起見,在指令碼檔案中可能希望避免使用縮寫形式。
例 3:
如果需要檢查動態 SQL 語句的當前隔離級別,可以使用下面的命令:
db2pd –db sample –dynamic |
圖 10. 監控例子 3
圖 10 中,在 Dynamic SQL Environments 部分可以找到執行中的動態 SQL 語句的當前隔離級別。該例中,雜湊的錨識別符號 171 (AnchID=171) 具有最嚴格的隔離級別,Repeatable Read(可重複讀,RR)。通過交叉參照 Dynamic SQL Statements,可以確定哪個具體的 SQL 語句具有 RR 隔離級別:
select * from employee |
例 4:
如果希望監控表的重組(reorg)狀態,在 v8.2 之前可以使用 GET SNAPSHOT FOR TABLES ON 資料庫名 檢查重組狀態。使用 db2pd 工具,執行下面的命令就能獲得重組狀態:
db2pd –db sample –reorg file=reorg.txt |
reorg.txt 檔案包含以下資訊:
圖 11a. 監控開始的重組狀態
圖 11a 中,對錶 STAFF 執行了一個離線的重組工具。如果稍後再執行相同的命令,結果將如圖 11b 所示,狀態已經從“Started”變為了“Done”。“Done”狀態表明重組已經完成了。
圖 11b. 監控結束的重組狀態
例 5:
V8.2 之前的 DB2 UDB 版本中,可以使用命令 DB2 LIST TABLESPACES SHOW DETAIL 檢查表空間的狀態,現在只需要在作業系統命令提示符下輸入以下命令。
db2pd -db sample –tablespace |
圖 12 中可以看到,SAMPLE 資料庫中共有三個表:SYSCATSPACE、USERSPACE1 和 SYSTOOLSPACE,在 Tablespaces 節中說明表空間狀態為 0x00000800。
圖 12a. 監控例子 5
可以使用 db2tbst 命令對錶空間狀態解碼。可以發現,表空間處於“Backup in progress(備份中)”狀態。結果如圖 12b 所示。
圖 12b. db2tbst 命令
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23577591/viewspace-689700/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- db2pd監控工具DB2
- db2pd 監控資料庫DB2資料庫
- 工具工具
- Golang工具集-String工具,時間工具,http工具等GolangHTTP
- 最常用的scrum工具、敏捷開發工具、看板工具Scrum敏捷
- 工具
- Java工具面試題:版本控制工具Java面試題
- ArcGIS工具 - 統計工具數量
- 【工具】MySQL 壓測工具之mydbtestMySql
- 【工具】ORION I/O 測試工具
- myisampack工具(MyISAM表壓縮工具)
- 【工具】好用的密評工具CyberChef
- 盡信工具,還不如沒有工具
- Autotrace工具使用——小工具,大用場
- 【工具】基準測試工具之sysbench
- 工具庫·
- 工具 - NpmNPM
- LockSupport工具
- Repo工具
- 文件工具
- orion工具
- 工具篇
- ETL工具
- sed 工具
- git工具Git
- DBVERIFY 工具- -
- crsctl工具
- 安全工具
- Markdown工具
- PVE 工具
- 工具合集
- nvm工具
- 工具類
- vim工具
- XShell 客戶端和工具MobaXterm工具客戶端
- 很好用的壓測工具 - Apache Bench工具Apache
- 線上團隊協作工具+線上UML工具
- 從工具的奴隸到工具的主人