The Oracle database resource manager: Scheduling CPU resources at the application

Introduction Modern Database Management Systems have numerous mechanisms for allowing administrators to man usage of system resources such as disk space and memory, yet they have typically not included mechanism trolling the usage of the all-important system resource of CPU-time. Traditionally, this functionality has been the host Operating System scheduler. Because of this, the only recourse for Oracle to control users’ CPU usag impose hard limits on CPU consumption. If a user session exceeded its CPU limit, it was terminated. In Orac i we introduced the Oracle Database Resource Manager, a novel DBMS CPU management mechanism that allow base administrator to delineate logically distinct units of a workload and to partition CPU resources between units. Performance investigations show that running with the Database Resource Manager imposes no meas overheads on a workload, and the use of the Resource Manager actually improves performance with large u lations. Several commercial Operating Systems now support CPU resource management via a fair-share schedu mechanism. We believe that for large, complex applications such as Oracle, CPU resource management is be dled within the application itself. Since the scheduling is done within the Oracle application and the applicatio portable across numerous platforms, the Oracle Resource Manager is able to consistently enforce its schedu cies, independent of OS platform.