Monitoring and controlling Db2 by using profile tables
You can create profiles to monitor and control various aspects of a Db2 subsystem in specific application contexts, especially for remote applications that use TCP/IP connectivity to access Db2 for z/OS.
Before you begin
If a set of profile tables and related objects do not already exist on the Db2 subsystem, you must create them.
- SYSIBM.DSN_PROFILE_TABLE
- SYSIBM.DSN_PROFILE_HISTORY
- SYSIBM.DSN_PROFILE_ATTRIBUTES
- SYSIBM.DSN_PROFILE_ATTRIBUTES_HISTORY
- SYSIBM.DSN_PROFILE_TABLE_IX_ALL
- SYSIBM.DSN_PROFILE_TABLE_IX2_ALL
- SYSIBM.DSN_PROFILE_ATTRIBUTES_IX_ALL
If you plan to use TCP/IP domain names for profile filtering, you must enable the database services address space (ssnmDBM1) to access TCP/IP services. See Enabling Db2 to access TCP/IP services in z/OS UNIX System Services.
About this task
The DSN_PROFILE_TABLE rows define the filtering criteria for profiles, and DSN_PROFILE_ATTRIBUTES rows specify the actions that Db2 takes for processes that meet the filtering criteria of each profile. The PROFILEID values in one or more DSN_PROFILE_ATTRIBUTES rows associate them with a unique DSN_PROFILE table row with the same PROFILEID value.
Db2 supports a maximum of 4096 active DSN_PROFILE_TABLE rows.
The filtering criteria that you specify for each profile depend on its purpose. Each DSN_PROFILE_TABLE row specifies filtering criteria from a single filtering category, which is a set of one or more specific DSN_PROFILE_TABLE columns. The row must contain null values in other filtering columns not in same category. For a list of the filtering categories that you can specify for each type of profile, see the following table.
What the profile controls | DSN_PROFILE_ATTRIBUTES.KEYWORDS values | Applicable DSN_PROFILE_TABLE filtering categories | Where to find more information |
---|---|---|---|
Remote connections | MONITOR CONNECTIONS | LOCATION only: specify an IP address or a domain name that resolves to an IP address. An example fully qualified domain name is 'stlmvs1.svl.example.com'. An example fully qualified domain name is 'stlmvs1.svl.example.com'.The value is not case-sensitive, and profile matches can occur regardless of the case of the input values. |
Monitoring remote connections by using profile tables |
MONITOR ALL CONNECTIONS |
LOCATION only: specify '*', '::0', or '0.0.0.0'. |
Monitoring remote connections by using profile tables (see step 3) | |
Remote threads | MONITOR THREADS |
|
Monitoring threads by using profile tables |
MONITOR IDLE THREADS |
|
Monitoring remote idle threads by using profile tables | |
MONITOR ALL THREADS |
LOCATION only: specify '*', '::0', or '0.0.0.0'. |
Monitoring threads by using profile tables (see step 3) | |
Special registers | SPECIAL_REGISTER |
|
Setting special registers by using profile tables |
Global variables | GLOBAL_VARIABLE |
|
Setting built-in global variables by using profile tables |
Lock sharing for RRS connections | SHARE_LOCKS |
|
Sharing locks for stored procedures that invoke transactions in RRS contexts by using profile tables |
Optimization subsystem parameters |
|
PLANNAME='*', COLLID, and PKGNAME (specify all three) | Optimizing subsystem parameters for SQL statements by using profile tables |
Evaluating queries for acceleration | ACCEL_NAME_EXPLAIN |
|
See the accelerator product documentation. |
Query acceleration thresholds |
|
Contact IBM Support for the specific accelerator product. | See the accelerator product documentation. |
Subsystem modeling |
|
None. Profiles for this purpose have a global scope on the test subsystem. | Modeling a production environment on a test subsystem |
Procedure
To create a profile, complete the following general steps: