Data Queues
All of Database Monitor's communications between the trigger programs and the background jobs is through data queues. These queues, in an ideal situation, will never contain more than a few transactions at a time, since the background monitor job (IDT450) is constantly monitoring the queues and removing the entries to log them to the audit files. In extreme situations, however, such as when someone has ended IDT450 and not restarted it, the system can encounter situations in which the queues "fill up". This is more of a problem in versions of the operating system prior to V4R5, when data queues were limited to a size of 16Mb.
First, note that no data is lost when a data queue fills up. There are overflow files which are automatically used in such cases.
Still, for fine tuning of the system, it may be important to have multiple data queues, especially when your application's files have large record lengths (fat files). The space needed for each entry in the data queue is equal to the record length x 2 + a fixed overhead amount (200 bytes or so, depending on the file). Therefore, the maximum queue length specified on the data queue should be large enough to hold entries for the file with the largest record length. If only one queue is used, however, this queue must be big enough to hold the largest record size and thus for all files with a smaller record size a large amount of wasted space is consumed (data queue entries take up the maximum entry length regardless of the actual entry size). Care should be taken, then, to define a good mixture of queues with varying sizes so as to minimize space while at the same time minimizing the number of queues needed.
The program "System Parameters and Settings", option 12 on the Database Monitor menu, is used to maintain the system's data queues. In this program, each parameter beginning with the name IDTLOGQ, optionally followed by a prefix of one character, specifies a data queue. By default the primary data queue is called IDTLOGQ, and is represented by the entry of that name, with no letter suffix. Additional queues are created simply by pressing F18 on the parameter listing panel and keying in the information about the queue.
When setting up a new data queue, you must assign it a letter (A..Z) or a number (0..9) to use as a suffix for the queue name. It is best to create the queues in order (A, then B, then C, etc.) as this spreads the names evenly and leaves no gaps. The naming will not affect performance, but coordinated rebuilding of the queues is done based on the names, so ordered naming is recommended.
The maximum size of each entry, as noted above, will determine which files' entries will fit in the queue.
The maximum number of entries and initial number of entries fields may usually be left blank, which will use the system defaults. If a different size is wanted, however, these may have any of the values allowed by the CRTDTAQ command, which for V4R5 and above systems includes *MAX16MB, *MAX2GB, and an actual count of entries. If a count is entered, it must be greater than the entry placed in the Initial number of entries, which defaults to 16.
See Also