Workload adaptation is a performance management process in which an autonomic database management system (DBMS) efficiently makes use of its resources by filtering or controlling the workload presented to it in order to meet its Service Level Objectives (SLOs). This paper presents a framework and a prototype implementation of a query scheduler that performs workload adaptation in a DBMS. The system manages multiple classes of queries to meet their performance goals by allocating DBMS resources through admission control in the presence of workload fluctuation. The resource allocation plan is derived by maximizing the objective function that encapsulates the performance goals of all classes and their importance to the business. A first-principle performance model is used to predict the performance under the new resource allocation plan. Experiments with IBM