顶部468*60ad 顶部468*60ad

监控 DB2 活动之捕获快照数据

2007-12-03 20:55:35  来源:网页教学网 站长整理

  捕获快照监控数据

 

  只要数据库被激活或与数据库的连接建立起来,快照监控器立即开始收集监控数据。但在所收集到的任何数据能够被查看之前,必须捕获快照(快照实际上就是一张关于所用监控元素在特定时间点的形式的图片)。可通过在应用程序中嵌入 db2GetSnapshot() API 捕获快照,也可通过执行 GET SNAPSHOT 命令捕获。此命令的基本语法是:

  GET SNAPSHOT FOR

  [DATABASE MANAGER | DB MANAGER | DBM] |

  ALL DATABASES |

  ALL APPLICATIONS |

  ALL BUFFERPOOLS |

  ALL REMOTE_DATABASES |

  ALL REMOTE_APPLICATIONS |

  ALL ON [DatabaseAlias] |

  DATABASE ON [DatabaseAlias] |

  APPLICATIONS ON [DatabaseAlias] |

  TABLES ON [DatabaseAlias] |

  TABLESPACES ON [DatabaseAlias] |

  LOCKS ON [DatabaseAlias] |

  BUFFERPOOLS ON [DatabaseAlias] |

  DYNAMIC SQL ON [DatabaseAlias]

  其中的 DatabaseAlias 表示将为其收集快照监控器信息的那个数据库被指派的别名。

  在捕获快照时,如果您希望其中仅包含在与 PAYROLL 数据库交互的应用程序所拥有的锁上收集的数据,可通过执行以下命令来实现:

  GET SNAPSHOT FOR LOCKS ON PAYROLL

  此命令产生的输出结果应与以下示例类似。(务必牢记,这只是一个简单的示例。实际的监控环境往往会生成大批数据。)

  GET SNAPSHOT 命令输出示例

  Database Lock Snapshot

  Database name = PAYROLL

  Database path = C:\DB2\NODE0000\SQL00002\

  Input database alias = PAYROLL

  Locks held = 2

  Applications currently connected = 1

  Agents currently waiting on locks = 0

  Snapshot timestamp = 06-12-2004 08:39:40.750316

  Application handle = 8

  Application ID = *LOCAL.DB2.00E286133931

  Sequence number = 0001

  Application name = db2bp.exe

  CONNECT Authorization ID = DB2ADMIN

  Application status = UOW Waiting

  Status change time = Not Collected

  Application code page = 1252

  Locks held = 2

  Total wait time (ms) = Not Collected

  List Of Locks

  Lock Name = 0x94928D848F9F949E7B89505241

  Lock Attributes = 0x00000000

  Release Flags = 0x40000000

  Lock Count = 1

  Hold Count = 0

  Lock Object Name = 0

  Object Type = Internal P Lock

  Mode = S

  Lock Name = 0x96A09A989DA09A7D8E8A6C7441

  Lock Attributes = 0x00000000

  Release Flags = 0x40000000

  Lock Count = 1

  Hold Count = 0

  Lock Object Name = 0

  Object Type = Internal P Lock

  Mode = S

  如您所见,GET SNAPSHOT 命令可用于捕获几种不同类型的监控数据,包括:

  •   DB2 Database Manager 实例数据
  •   受一个实例控制的所有活动数据库的数据库数据
  •   应用程序数据
  •   缓冲池活动数据
  •   表空间数据
  •   表数据
  •   锁数据(关于具有的所有锁的信息)
  •   动态 SQL 数据(SQL 语句缓存器在某个时间点所具有的 SQL 语句的相关信息)

  或许您已注意到,可用快照监控器开关与捕获快照时可收集的监控数据的各种类型之间有着直接关系。若将特定快照监控器开关关闭,再捕获与此开关相关的监控元素的快照,则所捕获到的监控数据将不包含任何值。(在前面的数据中,所列出的部分值为 Not Collected,这正是因为其对应的快照监控器开关已关闭。此外,若在捕获快照时未获得任何锁,则 Locks held 的值将为 0, List of Locks 信息则根本不会出现。)

文章评论

共有 0 位网友发表了评论 查看完整内容

推荐文章