Enterprise Edition Home | Express Edition Home | Previous Page | Next Page   Allocating Memory Through Resource Classes > Resource Classes >

The onutil SET DS_CLASSINFO Command

Also supporting resource classes is a new command-line option to the onutil utility:

Read syntax diagramSkip visual syntax diagram>>-onutil set ds_classinfo-------------------------------------->
 
>--'--ds_class_name--:--class_ds_mem_quota---------------------->
 
>--,--class_ds_max_queries--'----------------------------------><
 

You can use this command to define a new resource class, or to reset the CLASS_DS_MEM_QUOTA value or the CLASS_DS_MAX_QUERIES value (or both parameter values) for an existing resource class at runtime.

Restrictions on DS_CLASSINFO Specifications

New ds_class_name resource class names that this command declares must be unique among resource class names for the same database server, and must comply with the rules for SQL identifiers for the codeset that is implied by the SERVER_LOCALE environment variable (rather than by the DB_LOCALE environment variable). You might wish to restrict the elements of this name to ASCII characters, if the DB_LOCALE or CLIENT_LOCALE settings of any database of the local server specify a codeset that is different from that of SERVER_LOCALE.

If the onconfig file defines no resource classes, then the legacy behavior is in effect. This is equivalent to associating all sessions with a single "DEFAULT" class, whose class_ds_mem_quota value is 100% of DS_TOTAL_MEMORY.

If the resource class associated with the session provides insufficient memory to execute a query, that query fails with error -24166. Similarly, the onutil SET DS_CLASSINFO command fails with an error if the sum across all resource classes of class_ds_mem_quota values exceeds 100. If this value exceeds 100% in the onconfig file when the database server attempts to start, or if the total number of resource classes is greater than eight, or if any other specification is outside the valid range for DS_CLASS parameters, the database server fails to start.

If the sum of class_ds_mem_quota values across all resource classes is less than the DS_TOTAL_MEMORY value, the remaining memory is available for assignment to new or existing resource classes in subsequent onutil SET DS_CLASSINFO commands, but until that memory is assignment to some resource class, the database server makes no effort to use it in DML operations.

Persistence of Resource Classes Defined at Runtime

Runtime changes that onutil SET DS_CLASSINFO commands make to resource class definitions, and new resource classes that onutil SET DS_CLASSINFO defines persist until another command overrides them, or until the database server is restarted, but onutil SET DS_CLASSINFO commands do not update the onconfig file. That is, the effects of onutil SET DS_CLASSINFO commands do not persist after the database server is restarted. Only the DS_CLASS specifications in the onconfig file persist when the database server is restarted.

Similarly, there is no runtime syntax to destroy an existing resource class. You can use onutil SET DS_CLASSINFO to set the memory allocation and number of concurrent queries of an existing resource class to zero, effectively preventing that class from supporting submitted queries, but to drop an existing class you must delete its DS_CLASS definition from the onconfig file (if it was declared there, rather than by onutil SET DS_CLASSINFO), and then restart the database server.

Enterprise Edition Home | Express Edition Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]