Working With Oracle Consumer Groups

PeopleTools enables you to map predefined PeopleSoft resource groups to Oracle resource consumer groups that you create, specifically for use with PeopleSoft. Using Oracle Database Resource Manager features, database administrators can monitor and manage the database resource consumption of PeopleTools executables and optimize system performance.

For example, assume that occasionally long running queries run through PeopleSoft Query degrade the performance of the entire system by consuming large amounts of the available database resources. PSQRYSRV.EXE, the application server process dedicated to handling processing requests submitted by PeopleSoft Query, is mapped to the PeopleSoft Resource Group, QUERY SERVER, by default. By creating a ‘PsQuery’ consumer group in your Oracle system, you can limit the percentage of CPU processing available to PSQRYSRV.EXE. If you limit the CPU usage for PSQRYSRV.EXE to 10 percent, for example, other high-priority processing on the system will continue to have system resources available, while PSQRYSRV.EXE is limited only to its allotted 10 percent of CPU processing.

To take advantage of mapping PeopleSoft resource groups to Oracle resource groups, you need to:

  • Review the delivered, predefined PeopleSoft resource groups.

  • Determine areas of your PeopleSoft system where you’d like to implement control over CPU usage.

  • Create the appropriate resource plan and consumer groups in your Oracle database.

  • Map PeopleSoft resource groups to the consumer groups you created.

See your Oracle Database Administrator’s Guide: “Using the Database Resource Manager” for more information.

The following table describes the delivered PeopleSoft resource groups and the PeopleTools executables they contain.

Note: How the executables are grouped is not configurable. For example, you can’t further subdivide nor combine the delivered PeopleSoft resource groups.

PeopleSoft Resource Name

Description

Mapped Executable(s)

ANALYTICAL SERVER

Executables required by the PeopleSoft Analytic Calculation Engine.

PSANALYTICSRV

APPLICATION ENGINE

Executables required by the PeopleSoft Application Engine.

PSAESRV

PSAE

APPLICATION SERVER

Executables required by core application server processing.

PSAPPSRV

PSSAMSRV

PSPPMSRV

PSPRCSRV

COBOL

Executables required for running COBOL programs.

PSRUN

DATA MOVER

Executables required for running Data Mover.

PSDMTX

PSDMT

MISCELLANEOUS

Executables required for running various PeopleTools executables, from PeopleSoft Configuration Manager to Verity’s spider program. These executables are categorized into this category because they are typically used infrequently and/or do not consume enough system resources to warrant their own resource group.

JAVAGEN

MKSYD

MKVDK

PRCSADM

PSBITEST

PSBOERUN

PSCBLUCVRT

PSCBLUCVRTZ

PSCFG

PSCRCONV

PSCRRUN

PSCVTRPT

PSDAEMON P

SDOCCGI

PSEMAGENTSERVICE

PSEMAIL

PSIDE

PSMAIL

PSMBSRV

PSMCFLOG

PSMONITORSRV

PSMSFADMIN

PSMSFATTACH

PSMSFATTRIBUTES

PSNTSRV

PSNVS

PSOLAP

PSOSE

PSPALDBG

PSPALXML

PSPSADM

PSQED

PSREAPER

PSREFRESHENGINE

PSRELEASEINFO

PSRENSRV

PSSRCHSRV

PSSVCHARNESS

PSTAAT

PSTRANS

PSUNICONV

PSUQSRV

PSWATCHSRV

PSXFR REAPER

REGSVR32

SQLAPI

TRC2API

UBBGEN

VSPIDER

PUB SUB

Executables required for processing and handling the Integration Broker implementation.

PSBRKDSP

PSBRKHND

PSSUBHND

PSSUBDSP

PSPUBHND

PSPUBDSP

PSDBGPRC

PSDBGSRV

PSDSTSRV

PSMSGDSP

PSMSGHND

PSMSTPRC

QUERY SERVER

Executables required to process PeopleSoft Query requests.

PSQRYSRV

QUICK SERVER

Executables required for running SQR for PeopleSoft requests.

PSQCKSRV

SQR

Executables required for running SQR for PeopleSoft requests.

PSSQR

While PeopleTools delivers a set of predefined resource groups that you can map to Oracle consumer groups, you only need to create consumer groups for the resource groups where you need to introduce control of system resource usage.

For example, if COBOL and PeopleSoft Analytic Calculation Engine processing are the only areas of your PeopleSoft system that cause unwanted resource usage, then you only need to create Oracle consumer groups to map to ANALYTIC SERVER and COBOL PeopleSoft resource groups.

This section describes the process of defining the resource plan, consumer groups, and plan directives to correspond to the PeopleSoft resource groups.

To create the plan, groups, and directives, you can use the tool of your choice, such as SQL Plus, Oracle SQL Developer, or the Resource Manager interface in Oracle Enterprise Manager.

Note: This section covers information specific to PeopleSoft. It does not cover all topics related to Oracle Database Resource Manager. This documentation assumes that you have read and understand the information contained in Oracle Database Administrator’s Guide related to Oracle Database Resource Manager.

To create a resource plan, consumer group(s), and directives:

  1. Connect to the Oracle SID containing the PeopleSoft schema.

  2. Create a pending area.

    EXECUTE DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();
  3. Create a resource plan, with a name of your choice.

    For example:

    EXECUTE DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'PeopleSoft_plan',
    COMMENT => 'Resource plan/method for PeopleSoft Users Sessions');
    
  4. Create the desired consumer groups.

    Create the number of consumer groups required to correspond to the PeopleSoft resource groups that need to be controlled. For this example, assume that only the resource usage of executables related to the application server and PeopleSoft Query need to be controlled.

    For example:

    EXECUTE DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP
    (CONSUMER_GROUP => 'Application Server', 
    COMMENT => 'Resource consumer group/method for online users sessions');
    
    EXECUTE DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'PSQuery', 
    COMMENT => 'Resource consumer group/method for PSQuery sessions');
    
  5. Create the directives for the consumer groups you created.

    For example:

    EXECUTE DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'PeopleSoft_plan', 
    GROUP_OR_SUBPLAN => 'Application Server',
    COMMENT => 'Applications Server sessions at level 1', CPU_P1 => 50, 
    CPU_P2=> 0, PARALLEL_DEGREE_LIMIT_P1 => 8);
    
    EXECUTE DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'PeopleSoft_plan', 
    GROUP_OR_SUBPLAN => 'PSQuery',
    COMMENT => 'PSQuery sessions at level 1', CPU_P1 => 10, CPU_P2 => 0, 
    PARALLEL_DEGREE_LIMIT_P1 => 2);
    
  6. Validate the resource plan.

    EXECUTE DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA();
  7. Submit the plan.

    EXECUTE DBMS_RESOURCE_MANAGER.SUBMIT_PENDING_AREA();
  8. Grant the PeopleSoft schema user (PeopleSoft Access ID) these additional Oracle privileges necessary to administer resource plans:

    GRANT_SYSTEM_PRIVILEGE ADMINSTER_RESOURCE MANAGER

    EXECUTE
    DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SYSTEM_PRIVILEGE('<ACCESS_ID>',
    'ADMINISTER_RESOURCE_MANAGER',TRUE);
    

    GRANT_SWITCH_CONSUMER_GROUP

    EXECUTE 
    DBMS_RESOURCE_MANAGER_PRIVS.GRANT_SWITCH_CONSUMER_GROUP('<ACCESS_ID>', 
    '<CONSUMER_GROUP_NAME>', FALSE);
  9. Enable the Database Resource Manager in your PeopleSoft SID.

    For completing this, you have two options:

    • Set RESOURCE_MANAGER_PLAN='PeopleSoft_plan’ in the init.ora file for PeopleSoft SID.

    • Issue the following ALTER statement: ALTER SYSTEM SET RESOURCE_MANAGER_PLAN='PeopleSoft_plan’;

You can issue each SQL statement separately, or you may elect to create a single script to create the required consumer groups. The following is a sample SQL script for creating a resource plan with consumer groups for your PeopleSoft system.

BEGIN

DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA();


DBMS_RESOURCE_MANAGER.CREATE_PLAN(PLAN => 'PeopleSoft_plan',
COMMENT => 'Resource plan/method for PeopleSoft Users Sessions');


DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Application Server',
COMMENT => 'Resource consumer group/method for online users sessions');

DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'PSQuery',
COMMENT => 'Resource consumer group/method for PSQuery sessions');

DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'PubSub',
COMMENT => 'Resource consumer group/method for PUBSUB sessions');

DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Application Engine',
COMMENT => 'Resource consumer group/method for Application Engine');

DBMS_RESOURCE_MANAGER.CREATE_CONSUMER_GROUP(CONSUMER_GROUP => 'Cobol',
COMMENT => 'Resource consumer group/method for Cobol');


DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'PeopleSoft_plan', 
GROUP_OR_SUBPLAN => 'Application Server',
COMMENT => 'Applications Server sessions at level 1', CPU_P1 => 50, CPU_P2=> 0,
 PARALLEL_DEGREE_LIMIT_P1 => 8);

DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'PeopleSoft_plan', 
GROUP_OR_SUBPLAN => 'PSQuery',
COMMENT => 'PSQuery sessions at level 1', CPU_P1 => 10, CPU_P2 => 0, 
PARALLEL_DEGREE_LIMIT_P1 => 2);

DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'PeopleSoft_plan', 
GROUP_OR_SUBPLAN => 'PubSub',
COMMENT => 'PubSub sessions at level 1', CPU_P1 => 10, CPU_P2 => 0, 
PARALLEL_DEGREE_LIMIT_P1 => 3);

DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'PeopleSoft_plan', 
GROUP_OR_SUBPLAN => 'Application Engine',
COMMENT => 'Application Engine sessions at level 1', CPU_P1 => 10, CPU_P2 => 50,
 CPU_P3 => 50);

DBMS_RESOURCE_MANAGER.CREATE_PLAN_DIRECTIVE(PLAN => 'PeopleSoft_plan', 
GROUP_OR_SUBPLAN => 'Cobol',
COMMENT => 'Cobol sessions at level 1', CPU_P1 => 10, CPU_P2 => 50, CPU_P3 => 50);


DBMS_RESOURCE_MANAGER.VALIDATE_PENDING_AREA()

The Pt Ora Resource page enables you to map PeopleSoft resource groups with the Oracle consumer groups you have defined.

Select PeopleTools, Utilities, Administration, Oracle Resource Management.

Image: Pt Ora Resource page

This example illustrates the fields and controls on the Pt Ora Resource page.

Pt Ora Resource page

Field or Control

Definition

PeopleSoft Resource Name

PeopleTools provides predefined PeopleSoft resource groups containing one or more PeopleTools executables. The entire set of delivered PeopleSoft resource groups appears in this list.

Oracle Consumer Group

After you have created the appropriate Oracle resource plan and consumer groups to correspond to the PeopleSoft resource groups, enter the name of the appropriate Oracle resource group in the edit box.

Enter the consumer group name exactly as it appears in the SQL you submitted to create it. For example, if the SQL you used to create the consumer group appeared as:

CONSUMER_GROUP => 'PSQuery'

Then, in the Oracle Consumer Group edit box, enter PSQuery.