DB2 Thread Profile Manager
-
Profile Builder UI - Complete form for DSN_PROFILE_TABLE with all required fields (PROFILEID, LOCATION, ROLE, AUTHID, PRDID, COLLID, PKGNAME)
-
ATTRIBUTE3 Thread Limiter - Core feature with:
- Number input with min/max validation (0-9999)
- NULL toggle button that switches between queue limit and "No Queueing" mode
- Visual feedback: red border and badge when NULL is enabled
- Tooltip explaining the behavior in each state
- Auto-filled and locked ATTRIBUTE1 = "EXCEPTION"
-
SQL Snippet Generator - Real-time generation of:
- DSN_PROFILE_TABLE INSERT statements
- DSN_PROFILE_ATTRIBUTES INSERT statements
- Copy-to-clipboard buttons with success feedback
- Validation errors displayed in red warning banners
Design Highlights:
- Dark mode with slate-900 background
- Color-coded sections (blue for profile, emerald for attributes, purple for SQL)
- Smooth transitions and hover effects
- Responsive layout (stacks on mobile, side-by-side on desktop)
- Sticky SQL output panel on desktop for easy reference
The app pre-fills with the IBM example (PROFILEID=1, IPv6 location, ATTRIBUTE3=50) and users can toggle between values and NULL to see the SQL update in real-time.
------------------------------
Suman Suhag
Dev Bhoomi Uttarakhand University
Quantum Computing & ML Explorer | Mentor at Groundbreaker | Community Builder
------------------------------
Original Message:
Sent: Tue February 10, 2026 09:24 AM
From: Michelle Hougrand
Subject: DSN_PROFILE_TABLE behavior
Hi George,
It depends on your setup, but you should be able to use ATTRIBUTE3 in the DSN_PROFILE_ATTRIBUTES table to control how many threads are queued. If you set it to NULL, then none should queue.
I like to reference the examples in the manual from this page: https://www.ibm.com/docs/en/db2-for-zos/12.0.0?topic=dbats-monitoring-threads-by-using-profile-tables
Quoted:
In this case, you might complete the following steps:
- Insert the following DSN_PROFILE_TABLE rows.
| | | | | | |
|---|
| 1 | ::FFFF:9.30.137.28 | null | null | null | null | null |
| 2 | ::0 | null | null | null | null | null |
- Insert the following DSN_PROFILE_ATTRIBUTES rows.
| | | | |
|---|
| 1 | MONITOR THREADS | EXCEPTION | 50 | null |
| 2 | MONITOR ALL THREADS | EXCEPTION | 200 | null |
| 2 | MONITOR ALL CONNECTIONS | EXCEPTION | 1000 | null |
- Issue a -START PROFILE command.
Creating these example profiles has the following results:
- PROFILEID=1 limits applications running from IP address ::FFFFF:9.30.137.28 to a total of 50 threads. Since ATTRIBUTE3 for this profile is the value NULL, additional connections beyond the exception threshold of 50 are suspended. When more than 50 connections become suspended, an exception is triggered.
------------------------------
Michelle Hougrand
Original Message:
Sent: Mon February 09, 2026 09:26 AM
From: George Meadows
Subject: DSN_PROFILE_TABLE behavior
Hello,
I have a question about the expected behavior of one the exceptions within the DSN_PROFILE_TABLE. I am testing the MONITOR_THREADS activity for a particular ID. I set the MONITOR_THREADS on for this ID, in the attributes, I set EXCEPTION_DIAGLEVEL3 and a threshold of one thread.
According to the Profile Table, it was accepted (I did issue a refresh of the table). The first ID went through without issue, the second attempt did issue the message, but did not terminate the threads, instead, it cycled until a slot became available. I would like it to terminate the attempt immediately.
Is there a way this can happen?
------------------------------
George Meadows
------------------------------