创建管道事件监视器

在创建事件监视器时,必须确定所收集信息的存储位置。管道事件监视器直接将事件记录从事件监视器传输至命名管道。

开始之前

  • 您需要 SQLADM 或 DBADM 权限才能创建管道事件监视器。
  • 此任务假定已创建命名管道。要在 UNIX 或 Linux 系统上创建命名管道,请使用这些系统上提供的 mkfifo 命令。

关于此任务

在事件监视器写入事件数据时,将由监视应用程序迅速读取管道中的数据。如果事件监视器无法将数据写至管道(例如,如果管道已满),那么监视数据将会丢失。

管道事件监视器将使用 CREATE EVENT MONITOR 语句定义。

过程

  1. 指示会将事件监视数据引导至命名管道。
    CREATE EVENT MONITOR myevmon FOR eventtype
                         WRITE TO PIPE '/home/dbadmin/dlevents'
    myevmon 是事件监视器的名称。

    /home/dbadmin/dlevents 是事件监视器会将事件记录引导至的命名管道的名称(在 UNIX 上)。CREATE EVENT MONITOR 语句支持 UNIX 和 Windows 管道命名语法。

    激活事件监视器时,CREATE EVENT MONITOR 语句中指定的命名管道必须存在并且打开。如果指定事件监视器将自动启动,那么在创建事件监视器之前命名管道必须存在。

  2. 指定要监视的事件的类型。可使用单个事件监视器来监视一个或多个事件类型。
    CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES
                         WRITE TO PIPE '/home/dbadmin/myevents'
    此事件监视器将监视 BUFFERPOOLS 和 TABLESPACES 事件类型。
  3. 指定每次数据库启动时是否自动激活事件监视器。在缺省情况下,数据库启动时不会自动激活事件监视器。
    • 要创建在数据库启动时自动启动的事件监视器,请发出以下语句:
      CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES
                           WRITE TO PIPE '/home/dbadmin/myevents'
                           AUTOSTART
    • 要创建在数据库启动时不自动启动的事件监视器,请发出以下语句:
      CREATE EVENT MONITOR myevmon FOR BUFFERPOOLS, TABLESPACES
                           WRITE TO PIPE '/home/dbadmin/myevents
                           MANUALSTART
  4. 启动从命名管道读取的客户机应用程序。例如,可启动 db2evmon 工具以在数据传送至管道时处理该数据。
  5. 要激活或释放事件监视器,请使用 SET EVENT MONITOR STATE 语句。

结果

创建并激活管道事件监视器后,该事件监视器将在其指定事件发生时记录监视数据。