改变事件监视器
不能更改事件监视器,但下面是一个例外情况:可向该事件监视器收集的逻辑数据组集合添加一个或多个逻辑数据组。应使用 ALTER EVENT MONITOR 语句来添加逻辑组。
关于此任务
CREATE EVENT MONITOR myacts FOR ACTIVITIES
WRITE TO TABLE
event_activity, event_activity_metrics以上 DDL 语句会创建事件监视器,该事件监视器写至以下两个表:ACTIVITY_myacts 和 ACTIVITY_METRICS_myacts。限制
只能使用 ALTER EVENT MONITOR 语句向事件监视器添加逻辑数据组。不能移除逻辑数据组。也不能更改与下表相关联的名称、目标表空间或 PCTDEACTIVATE 值:该表用于捕获属于数据组的监视元素中的数据。过程
要向事件监视器添加其他逻辑数据组,请执行以下操作:
结果
- ACTIVITYSTMT_myacts
- ACTIVITYVALS_myacts
切记: 如果向事件监视器添加新逻辑数据组,那么以前该表中的逻辑数据组存在的任何数据将不会在新添加逻辑组的表中有任何对应行。根据需要调整查询,或考虑在添加逻辑组后从该表中剪除旧数据。
示例
数据库管理员使用以下 SQL 语句创建名为mylocks 的锁定事件监视器:CREATE EVENT MONITOR mylocks FOR LOCKING WRITE TO TABLE LOCK, LOCK_PARTICIPANTS此语句收集锁定逻辑数据组和
lock_participants 逻辑数据组中的监视元素的信息。已创建具有缺省表名 LOCK_MYLOCKS
和 LOCK_PARTICIPANTS_MYLOCKS 的表,它们用于写入监视元素数据。稍后,数据库管理员决定要收集 LOCK_PARTICIPANT_ACTIVITIES
逻辑数据组中的信息。她使用以下语句来修改该事件监视器:
ALTER EVENT MONITOR mylocks ADD LOGICAL GROUP LOCK_PARTICIPANT_ACTIVITIES此语句导致收集
lock_participant_activities 中的监视元素以及其他已收集的元素。这一组新的监视元素被写至表 LOCK_PARTICIPANT_ACTIVITIES_MYLOCKS。稍后,数据库管理员决定还需要来自控制逻辑数据组的数据。但是,她希望此数据写至其名称不同于缺省名称并且其表空间不同于缺省表空间的表。她使用以下语句:
ALTER EVENT MONITOR mylocks ADD LOGICAL GROUP CONTROL TABLE ctl_mylocks IN mytbsp3此语句将该控制逻辑数据组添加至该事件监视器的输出。此语句将该控制逻辑数据组添加至该事件监视器的输出。数据被写至 CTL_MYLOCKS 表,表被写至表空间 mytbsp3 而不是缺省表空间。