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, a severity 80 informational message SQL7062 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 change15002End of change Start of changeMaximum number of deleted rows in a partitionEnd of change Start of change4,294,967,288End of change Start of changeGreater than 50%End of change Start of changeOnce per dayEnd of change
15003 Maximum size of a table 1,869,169,767,219 Greater than 90% Once per day
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
15403 Maximum Encoded Vector Index Size 2,199,023,255,552 Greater than 90% Once per day
Start of change15410End of change Start of changeMaximum size of an index with a logical page size of 8KEnd of change Start of change4,398,046,511,104End of change Start of changeGreater than 90%End of change Start of changeOnce per dayEnd of change
Start of change15411End of change Start of changeMaximum size of an index with a logical page size of 16KEnd of change Start of change8,796,093,022,208End of change Start of changeGreater than 90%End of change Start of changeOnce per dayEnd of change
Start of change15412End of change Start of changeMaximum size of an index with a logical page size of 32K or greaterEnd of change Start of change17,000,000,000,000End of change Start of changeGreater than 90%End of change Start of changeOnce per dayEnd of change
19002 Maximum number of spooled files 2,610,000 Greater than 90% Once per day
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.

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
Start of change15002End of change Start of changeQIBM_SYSTEM_LIMITS_ALERT_15002_PERCENTAGEEnd of change Start of change50End of change
15003 QIBM_SYSTEM_LIMITS_ALERT_15003_PERCENTAGE 90
15104 QIBM_SYSTEM_LIMITS_ALERT_15104_PERCENTAGE 90
15400 QIBM_SYSTEM_LIMITS_ALERT_15400_PERCENTAGE 90
15403 QIBM_SYSTEM_LIMITS_ALERT_15403_PERCENTAGE 90
Start of change15410End of change Start of changeQIBM_SYSTEM_LIMITS_ALERT_15410_PERCENTAGEEnd of change Start of change90End of change
Start of change15411End of change Start of changeQIBM_SYSTEM_LIMITS_ALERT_15411_PERCENTAGEEnd of change Start of change90End of change
Start of change15412End of change Start of changeQIBM_SYSTEM_LIMITS_ALERT_15412_PERCENTAGEEnd of change Start of change90End of change
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