Creating event monitors that write to unformatted event (UE) tables
If the performance of event monitor data collection is particularly important, you might choose to have your event monitor write its output to an unformatted event (UE) table. Most of the data written to a UE table is written as inline binary data, which allows for faster I/O as data is collected.
Another advantage of UE tables over regular tables for event monitors is that you generally do
not have to be concerned at event monitor creation time with different options such as what buffer
size to use, whether the event monitor is blocked or unblocked, or what types of data (logical
groups) must be collected. However, because most of the data collected is in binary format, you must
post-process the UE table to be able to examine the event data.
Note: The following features related
to the UE tables are available:
- You can use the procedure EVMON_UPGRADE_TABLES to upgrade the UE tables produced by event monitors in earlier releases. This capability lets you more easily retain event monitor data that was recoreded earlier.
- All event monitors that can write their output to UE tables can also write to regular tables.
- You can prune unneeded data from UE tables using the option PRUNE_UE_TABLE of the procedure EVMON_FORMAT_UE_TO_TABLES.
Before you begin
- You need SQLADM or DBADM authority to create an event monitor that writes to a UE table.
- Use a table space for your unformatted event tables that is optimized for performance. When you
create the table space, keep the following guidelines in mind:
- Specify a page size (PAGESIZE) as large as possible, up to 32KB. A large page size ensures that the BLOB containing the event data can be written inline with the table row. If the page size is too small to allow the BLOB to be inlined, performance of the event monitor might be diminished. The database manager attempts to inline the event_data BLOB column in the unformatted event table, but this is not always possible. To check that the rows in the unformatted event table have been inlined, use the ADMIN_IS_INLINED function. If the rows have not been inlined, use the ADMIN_EST_INLINE_LENGTH functions to determine how much space the rows need.
- Specify the NO FILE CACHING SYSTEM option.
- In a partitioned database environment, consider on which partitions the table space exists. If a table space for a target unformatted event table does not exist on some database partition, data for that target unformatted event table is ignored. This behavior allows users to choose a subset of database partitions for monitoring to be chosen, by creating a table space that exists only on certain database partitions.
About this task
- Unit of work
- Package Cache
- Locking
Note: Despite their name, unformatted event tables are still relational tables. The
main difference between a UE table produced by, say, a locking event monitor and a regular table
produced by a locking event monitor is that most of the data in a UE table is written in binary
format in the EVENT_DATA column. See Unformatted event table column definitions for more information about the
structure of UE tables.
Procedure
To create an event monitor that writes to a UE table: