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…

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营