One embodiment of the present invention provides a resource scheduler for allocating
a computer system resource, such as memory or mass storage, within a processor,
to database management system (DBMS) processes. The resource scheduler operates
according to resource plans and resource allocation methods. One or more plans
may be configured and loaded with the DBMS. Each plan allocates the resource according
to an associated resource allocation method. During operation of the DBMS, any
or all of the active plans and resource allocation methods may be exchanged for
alternate plans or resource allocation methods. In one embodiment of the invention
the resource scheduler enforces a maximum active sessions resource allocation method
in which system resources are allocated by limiting the number of active sessions
allowed in groups of database processes grouped according to common execution requirements.
A selected plan includes multiple process groups and/or sub-plans. The resource
scheduler allocates system resources among the sub-plans and groups of database
processes according to their associated limits on active session numbers, with
sub-plans and groups having higher active session limits getting access to more
system resources than sub-plans and groups having lower active session limits.