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.