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

Resource Class Configuration Parameters

Although only the maximum percentage of the DS_TOTAL_MEMORY value and the maximum number of concurrent queries can be specified directly for each resource class, several PDQ-related parameters, such as MAX_PDQPRIORITY, IMPLICIT_PDQ, BOUND_IMPL_PDQ, and the PDQPRIORITY environment variable continue to have a common value for all databases of the server instance, but now take effect at a resource class level. For example, if MAX_PDQPRIORITY is set to 80, then it is 80 regardless of the resource class associated with the query; but the MAX_PDQPRIORITY and effective PDQPRIORITY are now based on the memory quota for the resource class of the session.

New configuration parameters of XPS 8.51 can define attributes for each of up to eight resource classes:

Sections in the onconfig file, called class sections, can declare the names of resource classes and define parameters pertaining to each class. A section must be added to the configuration file for each resource class that you define. Each class section must include the following specifications:

The END parameter is a delimiter that has no associated setting, but the settings of the first three resource class parameters have the following semantics:

Individual descriptions of these resource class parameters follow.

DS_CLASS_NAME

onconfig.std value
None
onconfig.xps value
DEFAULT
range of values
Up to 128 characters
takes effect
when shared memory is initialized (or else when the DS_CLASSINFO parameter for the specified class is defined using the onutil utility)

The ds_class_name value that you specify for the DS_CLASS_NAME parameter declares the name of the resource class. This string must begin with a letter or underscore, and can contain only letters, numbers, or underscores.

The DS_CLASS_NAME parameter is case sensitive, and it must be unique among the resource class names defined for the Extended Parallel Server instance. This is a required parameter for any resource class section that is specified in the configuration file.

CLASS_DS_MEM_QUOTA

onconfig.std value
None
onconfig.xps value
100
range of values
Minimum = 0; Maximum = 100
takes effect
when shared memory is initialized (or else when the DS_CLASSINFO parameter for the specified class is defined using the onutil utility)

The ds_class_mem_quota value that you specify for the CLASS_DS_MEM_QUOTA parameter specifies the percentage of DS_TOTAL_MEMORY for this class. The sum of CLASS_DS_MEM_QUOTA values for all class sections must not exceed 100. If the sum exceeds 100, the server does not start up.

This is a required parameter for any resource class section specified in the configuration file.

CLASS_DS_MAX_QUERIES

onconfig.std value
None
onconfig.xps value
100
range of values
Minimum = 1; Maximum = 8 million
takes effect
when shared memory is initialized (or else when the DS_CLASSINFO parameter for the specified class is defined using the onutil utility)

The ds_class_max_queries value that you specify for the CLASS_DS_MAX_QUERIES parameter specifies the maximum number of memory-consuming queries associated with this class that can run concurrently in all sessions of the database server.

This is a required parameter for any resource class section in the configuration file.

END

onconfig.std value
None
onconfig.xps value
None
range of values
None
takes effect
when shared memory is initialized

The END parameter terminates each class section. (This parameter can also appear in other sections of the configuration file to mark the end of a coserver-specific section, or the end of a storage-manager section.)

This is a required parameter for any resource class section specified in the configuration file.

Example of Class Sections in a Configuration File

For example, suppose that shared memory were divided among three resource classes called "DEFAULT," "DEVELOPMENT," and "LOADS," which could respectively use up to 20%, 30%, and 50% of DS_TOTAL_MEMORY, and support at most 5, 8, and 20 concurrent queries respectively. These classes would require onconfig sections like the following:

DS_CLASS_NAME                           DEFAULT
CLASS_DS_MEM_QUOTA             20
CLASS_DS_MAX_QUERIES           5
END
# .............................................................
DS_CLASS_NAME                           DEVELOPMENT
CLASS_DS_MEM_QUOTA             30
CLASS_DS_MAX_QUERIES           8	
END
# .............................................................
DS_CLASS_NAME                           LOADS
CLASS_DS_MEM_QUOTA             50
CLASS_DS_MAX_QUERIES           20
END

Modifying, Dropping, and Renaming Resource Classes

At start-up, the database server reads the resource class declarations in the configuration file. You can add or modify resource classes while the database server is running by using the onutil SET DS_CLASSINFO command, as described below, but this command fails with an error if the sum of DS_TOTAL_MEMORY across all resource classes exceeds 100%. When you allocate memory resources among resource classes, the sequence of onutil commands must not define a set of resource classes whose aggregate CLASS_DS_MEM_QUOTA values exceed this limit.

There is no mechanism for dropping a resource class while the database server is on-line. Setting the CLASS_DS_MEM_QUOTA and CLASS_DS_MAX_QUERIES parameters to zero prevents sessions that use the class as their DS_CLASS from executing queries, but the class still exists. To drop a class that is defined in the configuration file, you must edit the configuration file to remove the section that defines the class, and then restart the database server. A similar procedure is required to rename an existing resource class that the configuration file defines.

Resource classes or their settings that are created by onutil commands, but that are not defined in the configuration file, do not persist after the database server is restarted. The administrator can restore runtime settings with appropriate onutil commands, but resource classes and class settings that are not defined by configuration parameters are destroyed when the database server is restarted.

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