System limit alerts

Some system limits are instrumented by the IBM® i operating system to send messages to the QSYSOPR message queue when a threshold value has been reached.

Once each day, the IBM i will look for any limits that have surpassed their alerting level. This happens when Collection Services is recycled, typically just past midnight. At this time, a call is made to the QSYS2.PROCESS_SYSTEM_LIMITS_ALERTS procedure to identify and signal any alerts for the day.

The following limits are checked against their alerting level as part of this daily processing. If the level is exceeded, Start of changea severity 80 informational message SQL7062End of change is sent to the QSYSOPR message queue. Since these limits will prevent database or other system activity from continuing if they are reached, you should take action to get the object's percent used for the limit below the alerting level. Reducing data by archiving it is one example of an action that could be taken.

Table 1. System limits that send alerting messages
Limit ID Limit description Maximum Default Alerting Level Alerting Cadence
15000 Maximum number of all rows in a partition 4,294,967,288 Greater than 90% Once per day
Start of change15003End of change Start of changeMaximum size of a tableEnd of change Start of change1,869,169,767,219End of change Start of changeGreater than 90%End of change Start of changeOnce per dayEnd of change
15104 Maximum number of variable-length segments 65,533 Greater than 90% Once per day
15400 Maximum *MAX4GB Index Size 4,294,967,296 Greater than 90% Once per day
15401 Maximum *MAX1TB Index Size 1,869,166,411,776 Greater than 90% Once per day
15403 Maximum Encoded Vector Index Size 2,199,023,255,552 Greater than 90% Once per day
Start of change19002End of change Start of changeMaximum number of spooled filesEnd of change Start of change2,610,000End of change Start of changeGreater than 90%End of change Start of changeOnce per dayEnd of change
The SQL7062 QSYSOPR message is formatted like this:
MYLIB/MYTABLE *FILE HAS CONSUMED MORE THAN 90% OF THE LIMIT: 
15000-MAXIMUM NUMBER OF ALL ROWS (4008420999 OF 4294967288=93.33%). 
REFER TO ibm.biz/DB2foriAlerts FOR MORE DETAIL.
Start of change

System limit alerts global variables

For each limit that is instrumented to send a system limit alert, a corresponding global variable is defined that can be used to modify the consumption level that causes the alert to be issued.

The following are the names of the global variables. The schema is SYSIBMADM.

Limit ID Global variable Shipped limit
15000 QIBM_SYSTEM_LIMITS_ALERT_15000_PERCENTAGE 90
15003 QIBM_SYSTEM_LIMITS_ALERT_15003_PERCENTAGE 90
15104 QIBM_SYSTEM_LIMITS_ALERT_15104_PERCENTAGE 90
15400 QIBM_SYSTEM_LIMITS_ALERT_15400_PERCENTAGE 90
15401 QIBM_SYSTEM_LIMITS_ALERT_15401_PERCENTAGE 90
15403 QIBM_SYSTEM_LIMITS_ALERT_15403_PERCENTAGE 90
19002 QIBM_SYSTEM_LIMITS_ALERT_19002_PERCENTAGE 90

You can redefine any of the global variable values to change the alerting percent on your system. The change will take effect the next time the altering levels are checked.

Use IBM i Access Client Solutions (ACS) to generate SQL for the global variable and use the OR REPLACE option to recreate it with a different default. For example, to send an alert when a file reaches 70% of its maximum size, use the following SQL statement:
CREATE OR REPLACE VARIABLE SYSIBMADM.QIBM_SYSTEM_LIMITS_ALERT_15000_PERCENTAGE 
	INTEGER   
	DEFAULT 70 
End of change