db2與oracle的全面對比13


 

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,也可通過下表所示的範圍選項限制信息的範圍。

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 

如果希望了解當前 DB2 的級別和當前操作系統的信息,可以輸入以下命令:

db2pd –version –osinfo 

 

如果希望監控表的重組(reorg)狀態,在 v8.2 之前可以使用 GET SNAPSHOT FOR TABLES ON 數據庫名
檢查重組狀態。使用 db2pd 工具,執行下面的命令就能獲得重組狀態:

db2pd –db sample –reorg file=reorg.txt 

s

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營