3 Installing and Enabling Oracle Database QoS Management

This chapter describes the tasks you must complete to install and configure Oracle Database QoS Management on your system. Some of the tasks in this section must be performed by the cluster administrator.

Note:

Oracle Clusterware Administration and Deployment Guide for information about the cluster administrator

Configuring Oracle Database QoS Management to Manage Oracle Database Workloads

Configuring Oracle Grid Infrastructure for a cluster and Oracle RAC databases to work with Oracle Database QoS Management involves the following general tasks:

  1. The database administrator (DBA) requests access to a server pool to be used for the database. The cluster administrator creates a server pool for the DBA and grants access to this server pool to the DBA. If the cluster administrator user is the same as the DBA user, then the server pool can be created at the time DBCA is run by selecting the Policy-managed option within DBCA. The server pool can also be created after installation by using Server Control (SRVCTL).

    The minimum size of this server pool is the number of database instances. If the maximum size of the server pool is greater than the minimum size, then new instances can be added to the database to handle peak workloads or to accommodate growth.

  2. The DBA creates an Oracle RAC database in the allocated server pool by selecting the Policy-managed option within DBCA.
  3. The DBA creates database services that are managed by Oracle Clusterware and assigns each service to a server pool. The application users connect to the database using these services.
  4. The DBA enables the database for Oracle Database QoS Management using Enterprise Manager Cloud Control.

The initial configuration tasks for the Oracle Database QoS Management administrator are covered in more detail in the following sections:

Installing and Configuring Oracle Grid Infrastructure for a Cluster

The installation and configuration of Oracle Grid Infrastructure for a cluster is not covered in this book. Refer to Oracle Grid Infrastructure Installation Guide for your platform for information about installing and configuring Oracle Grid Infrastructure for a cluster.

Creating and Configuring Server Pools

By default, a server pool called the Free pool is created during Oracle Grid Infrastructure installation. To create server pools for your Oracle RAC database, you can use SRVCTL or Oracle Enterprise Manager.

When you use DBCA to create an Oracle RAC database, you select policy-managed for the database, and choose the server pools which the database instances should run in.

See Also:

If you use a cluster administrator that is separate from the database administrator, then only the cluster administrator user can create server pools. The cluster administrator then grants privileges on the server pools to the operating system user that owns the Oracle RAC installation. See Oracle Clusterware Administration and Deployment Guide for more information.

Note:

When creating a server pool for use with Oracle Database QoS Management, do not configure the SERVER_NAMES attribute (the -servers option of srvctl add svrpool or srvctl modify svrpool commands) for the server pool; Oracle Database QoS Management does not support server pools that use candidate lists.

Creating and Configuring an Oracle RAC Database

The steps for creating and configuring an Oracle RAC database are not covered in this book. Refer to Oracle Real Application Clusters Administration and Deployment Guide for information on creating an Oracle RAC database using server pools. When creating a database, the DBA should choose to create a policy-managed database.

After you have created the databases, perform the following steps to configure the databases for use with Oracle Database QoS Management:

Modifying Database Initialization Parameters

The CPU_COUNT parameter for each database instance that runs in a server pool must be set to the same value if the database is managed by Oracle Database QoS Management. Also, on each server, the sum of the values for CPU_COUNT for all database instances running on that server must be less than or equal to the physical CPU count. For example, if you have a server with eight CPUs, and there are two database instances running on this server, then, for the databases to be managed by Oracle Database QoS Management, the CPU_COUNT parameter for each database instance must be set so that the values of the CPU_COUNT parameters for all instances on the server add up to eight. For example, you could have CPU_COUNT=3 on one instance and CPU_COUNT=5 on the other instance, or CPU_COUNT=6 on one instance and CPU_COUNT=2 on the other instance.

Note:

By default, the CPU count of each database that is started on a server is set to the number of physical CPUs installed for that server.

If you are running more than one database in a server pool, then using the default settings for CPU_COUNT will cause Oracle Database QoS Management to report a violation. To avoid this error, manually configure the CPU_COUNT value in the SPFILE using either Oracle Enterprise Manager or SQL*Plus, as shown in the following example, where n is the number of CPUs that should be used by the database instances:

ALTER SYSTEM SET cpu_count=n SCOPE=BOTH SID='*';

CPU_COUNT is a dynamic parameter that is not set by default. It should be set to the maximum number of CPUs that the database instance should utilize at any time. The sum of the values of CPU_COUNT for all instances on a server should not exceed the number of physical CPUs for that server. As a best practice, Oracle recommends using a minimum value of 2 for CPU_COUNT.

Creating Database Services

Applications and users connect to the database using services. For information about creating services for your Oracle RAC database, refer to Oracle Real Application Clusters Administration and Deployment Guide.

Creating Oracle Database QoS Management Administrator Accounts

Before logging in to the Oracle Database QoS Management Dashboard (the Dashboard), you must create an Oracle Database QoS Management administrative user. The operating system user associated with this account must be a cluster administrator user to initially set this up.

The administrative user for the Oracle Database QoS Management server is referred to as the QoS Admin user. This user has access to all the features of the Oracle Database QoS Management server, including checking and changing the account password for the QoS Admin user. You can have multiple QoS Admin users.

To create a QoS Admin user account, perform the following steps:

  1. As the cluster administrator user, log in to the node that is hosting the Oracle Database QoS Management server (OC4J container). This can be determined by using the following command from the Oracle Grid Infrastructure home:
    srvctl status oc4j
    
  2. Stop the OC4J resource using the following command:
    srvctl stop oc4j
    
  3. Log on as a CRS Administrator user and enter the following command:
    qosctl qosadmin -setpasswd qosadmin
    

    After you enter this command, you are prompted to enter the password of the default QoS Admin user one or more times.

    If you want to use a different user name, then you would enter the following command:

    qosctl qosadmin -adduser username
    

    In this example:

    • qosadmin is the name of the default QoS Admin user.

    • username is the name of the QoS Admin user you are creating. You are prompted to enter a password for this user

  4. Restart the OC4J resource with the following command:
    srvctl start oc4j
    

See Also:

"Creating Administrative Users for Oracle Database QoS Management" for a complete description of the QOSCTL utility and its commands

Enabling Oracle Database QoS Management

You can enable Oracle Database QoS Management for two different levels:

  • Managing the cluster

  • Managing individual databases that run on the cluster

If you have multiple databases running on the same cluster, you can determine which databases are managed by Oracle QoS Management. To manage a database, all the databases that use the same server pool must be enabled for Oracle Database QoS Management; otherwise a violation is signalled when you try to access the Dashboard for the database.

To enable Oracle QoS Management for your system, perform the following steps:

  1. Enable Oracle QoS Management at the Database Level
  2. Create an Initial Policy Set
  3. Enable Oracle QoS Management at the Cluster Level

Enable Oracle QoS Management at the Database Level

  1. Log in to Oracle Enterprise Manager Cloud Control as the database administrator.
  2. From the Database targets page, select the database you want to modify.
  3. Select Availability, then Enable / Disable Quality of Service Management.
  4. Enter the Cluster and Database credentials, then click Login.

    Note:

    To complete this step, you must specify the login information for both a SYSDBA and a cluster administrator account.

    The Enable/Disable QoS Management screen is displayed.

  5. You are prompted to enter a password for the APPQOSSYS user. Choose a password and enter it in the Password and Confirm Password fields, then click OK.

    When you provide a password, the following actions take place:

    • The APPQOSSYS account, which enables the Oracle Database QoS Management server to connect to the database, is unlocked and the new password is set.

    • The credentials are written to an Oracle Wallet stored in the Oracle Cluster Registry to enable Oracle Database QoS Management to log in to the database.

  6. APPQOS_PLAN is set as the active Oracle Database Resource Manager plan for all actively managed databases, so that Oracle Database QoS Management can adjust CPU access for Performance Classes. The APPQOS_PLAN is not required for databases where all their Performance Classes are checked Measure-Only.

    By default, the APPQOS_PLAN is replaced during the Oracle Scheduler maintenance window. Oracle recommends that you use the APPQOS_PLAN as the plan during those daily windows because this plan incorporates the consumer groups from the DEFAULT_MAINTENANCE_PLAN plan. See "Oracle Database Resource Manager" for more information.

Create an Initial Policy Set

  1. On the Oracle Enterprise Manager Cloud Control All Targets page, select the cluster on which your cluster database that has Oracle Database QoS Management enabled runs.
  2. Select Administration, then Quality of Service Management, then Create Policy Set.
  3. Log in to the Oracle Database QoS Management Server using the QoS Management administrator password (default user name is qosadmin).
  4. On the first page of the Create Policy Set wizard, check the Manage box next to the server pools that represent your database. For example, online and backoffice. Click Next.
  5. To get started with Oracle Database QoS Management, accept the defaults for your initial configuration and click Next on each page of the wizard to use the Default Policy Settings. On the fifth step, click Set Policy to set the DefaultPolicy as the Chosen Active Policy, then click Next.

    On the last step of the Create Policy Set Wizard, click Submit Policy Set.

Enable Oracle QoS Management at the Cluster Level

  1. Using Oracle Enterprise Manager Cloud Control, on the All Targets page, select the cluster on which your cluster database that has Oracle Database QoS Management enabled runs.
  2. Select Administration, then Quality of Service Management, then Dashboard.
  3. Log in as the Oracle Database QoS Management user (for example, qosadmin).
  4. On the Dashboard page, the General section shows the current status of Oracle Database QoS Management. On a new system, the status is Disabled. Click the link Disabled next to the status to enable Oracle Database QoS Management for this cluster.