

9.3 注意事項
DB2中分區鍵的存放方式是以HASH算法來分佈的,一般來說建議使用高基數的字段(擁有多個不同值)來作為分區鍵,這樣可以使數據被平均分佈,容易利用節點組中所有的節點資源來執行查詢操作。
至於要達到你說的目的,在查詢的時候只去訪問一個節點來進行查詢,當然也是可以的。我們來看一個例子:如果一個節點組上擁有10個節點,而作為分區鍵的字段MIXINT只有5個不同值的話,那麼根據HASH算法,只有五個節點上會被分佈到數據 .如:可以選擇:user_id,product_no或者序列等較離散字段作為分區鍵進行建表
oracle可以明確的指定表空間,通過表空間來實現,DB2是通過節點實現的,並不是表空間一級的,用戶並不明確知道存儲在哪個節點。
• 查看一張表各分區數據分佈情況,可以用以下命令:
#db2 “select dbpartitionnum(user_id), count(*) from dw.ods_cm_user_20070101 group by dbpartitionnum(user_id)”
第10章 日常監控
10.1 打開監控器
檢查監控器開關
Db2 get monitor switches
打開監控器開關
db2 update monitor switches using bufferpool on lock on sort on statement on table on uow on
10.2 查看快照命令
Buffer Pool db2 get snapshot for bufferpools on database_name
Locks db2 get snapshot for locks on database_name
Dynamic SQL db2 get snapshot for dynamic sql on database_name
Table Activity db2 get snapshot for tables on database_name
Applications db2 get snapshot for applications on database_name
Tablespace db2 get snapshot for tablespaces on database_name
Database db2 get snapshot for database on database_name
Database Manager db2 get snapshot for DBM
10.3 監控相關sql
–Database manager:To capture a snapshot of database manager information:
SELECT * FROM TABLE( SNAPSHOT_DBM(-1)) as SNAPSHOT_DBM
–To capture a snapshot of database manager information specifically regarding the fast communication manager (FCM):
SELECT * FROM TABLE( SNAPSHOT_FCM(-1)) as SNAPSHOT_FCM
–To capture a snapshot of database manager information for a partition specifically regarding the fast communication manager(FCM):
SELECT * FROM TABLE( SNAPSHOT_FCMPARTITION(-1)) as SNAPSHOT_FCMPARTITION
–To capture the database manager’s monitor switch settings:
SELECT * FROM TABLE( SNAPSHOT_SWITCHES(-1)) as SNAPSHOT_SWITCHES
–Database: To capture a snapshot of database information:
SELECT * FROM TABLE( SNAPSHOT_DATABASE( ‘SAMPLE’, -1 )) as SNAPSHOT_DATABASE
–Application:To capture a snapshot of application information:
SELECT * FROM TABLE( SNAPSHOT_APPL( ‘SAMPLE’, -1 )) as SNAPSHOT_APPL
–To capture a snapshot of application identification information:Chapter 3. Using the Snapshot Monitor 23
SELECT * FROM TABLE( SNAPSHOT_APPL_INFO( ‘SAMPLE’, -1 )) as SNAPSHOT_APPL_INFO
–To capture a snapshot of lock wait information:
SELECT * FROM TABLE( SNAPSHOT_LOCKWAIT(‘SAMPLE’, -1 )) as SNAPSHOT_LOCKWAIT
–To capture a snapshot of statement information:
SELECT * FROM TABLE( SNAPSHOT_STATEMENT( ‘SAMPLE’, -1 )) as SNAPSHOT_STATEMENT
–To capture a snapshot of agent information:
SELECT * FROM TABLE( SNAPSHOT_AGENT( ‘SAMPLE’, -1 )) as SNAPSHOT_AGENT
–To capture a snapshot of subsection information:
SELECT * FROM TABLE( SNAPSHOT_SUBSECT( ‘SAMPLE’, -1 )) as SNAPSHOT_SUBSECT
–Buffer pool: To capture a snapshot of buffer pool information:
SELECT * FROM TABLE( SNAPSHOT_BP( ‘SAMPLE’, -1 )) as SNAPSHOT_BP
–Table space:To capture a snapshot of table space information:
SELECT * FROM TABLE( SNAPSHOT_TBS( ‘SAMPLE’, -1 )) as SNAPSHOT_TBS
–To capture a snapshot of table space configuration information:
SELECT * FROM TABLE( SNAPSHOT_TBS_CFG( ‘SAMPLE’, -1 )) as SNAPSHOT_TBS_CFG
–To capture a snapshot of table space quiescer information:
SELECT * FROM TABLE( SNAPSHOT_QUIESCER( ‘SAMPLE’, -1 )) as SNAPSHOT_QUIESCER
–To capture a snapshot of table space container configuration information:
SELECT * FROM TABLE( SNAPSHOT_CONTAINER( ‘SAMPLE’, -1 )) as SNAPSHOT_CONTAINER
–To capture a snapshot of the ranges for a table space map:
SELECT * FROM TABLE( SNAPSHOT_RANGES( ‘SAMPLE’, -1 )) as SNAPSHOT_RANGES
–Table: To capture a snapshot of table information:
SELECT * FROM TABLE( SNAPSHOT_TABLE( ‘SAMPLE’, -1 )) as SNAPSHOT_TABLE
–Lock: To capture a snapshot of lock information:
SELECT * FROM TABLE( SNAPSHOT_LOCK( ‘SAMPLE’, -1 )) as SNAPSHOT_LOCK
–Dynamic SQL cache: To capture a snapshot of dynamic SQL statement cache information:Snapshot monitor 24 System Monitor Guide and Reference
SELECT * FROM TABLE( SNAPSHOT_DYN_SQL( ‘SAMPLE’, -1 )) as SNAPSHOT_DYN_SQL
10.4 Db2pd
db2pd 提供了 20 多個選項顯示關於數據庫事務、表空間、表統計信息、動態 SQL、數據庫配置和其他很多數據庫細節的信息。單個 db2pd 命令可以檢索多個領域的信息,並把結果保存到文件中。也可以在特定時期內調用該工具一定的次數,幫助您了解隨着時間的變化數據庫中的變動情況。該工具可用於故障檢修、問題確定、數據庫監控、性能調優和幫助應用程序的開發設計。本文介紹了這種新的工具,並通過例子說明如何使用它來提高生產率。
db2pd 命令有 22 個選項。如果要對所有數據庫分區服務器上、所有活動的本地數據庫運行所有這些選項,只需要輸入 db2pd –everything,也可通過下表所示的範圍選項限制信息的範圍。
|
範圍 |
範圍選項 |
說明 |
|
實例 |
-inst |
用於實例 |
|
數據庫 |
-database x |
用於特定的數據庫x |
|
數據庫 |
-alldatabase |
用於所有數據庫 |
|
分區 |
-dbpartitionnum n |
用於特定的數據庫分區服務器 |
|
分區 |
-alldbpartitionnums |
用於實例中的所有數據庫分區服務器 |
注意,dbp2pd 選項可以在實例的範圍內,也可以在數據庫的範圍內。如果使用數據庫範圍,指定的數據庫必須已經激活。表 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 |
如果希望了解當前 DB2 的級別和當前操作系統的信息,可以輸入以下命令:
|
db2pd –version –osinfo |
如果希望監控表的重組(reorg)狀態,在 v8.2 之前可以使用 GET SNAPSHOT FOR TABLES ON 數據庫名
檢查重組狀態。使用 db2pd 工具,執行下面的命令就能獲得重組狀態:
|
db2pd –db sample –reorg file=reorg.txt |
s
以下文章點擊率最高
Loading…