PRM Product Overview

12
Managing applications
The amount of resources available to an application is determined by the resource allocation for the
PRM group to which it is assigned. You assign an application to a PRM group in the PRM
configuration based on the application’s executable name.
You can assign an application to only one PRM group at a time. When an application is started, it
runs in the initial PRM group of the user that invoked it. If the application is assigned to a PRM group
in the configuration file, the application manager soon moves the application to its assigned group.
Child processes inherit their parent’s PRM group. Therefore, all the application’s child processes run
in the same PRM group as the parent application by default.
You can explicitly place an application in a PRM group of your choosing with two commands. Use
the prmmove command to move an existing application to another group. Use the prmrun command
to start an application in a specified group. These rules might not apply to processes that bypass
login.
The PRM application manager verifies that applications are running in the correct PRM groups on a
regular basis (30 seconds by default).
Managing multiple instances of an application
UNIX servers have evolved in the data center such that many application servers are running the same
application or many database servers are running the same database software. The trend with system
consolidation has been to reduce the number of servers needed to house the multiple copies or
instances of application and database servers. This consolidation is accomplished by combining
multiple copies of the application or database onto a single server. When combining multiple
instances of an application onto a single server or partition, system administrators want to control how
resources are allocated to each instance of the application. They want to control resource allocation
for business and performance reasons.
As an example, consider a case in which three different business units share a single database server.
This condition results in three copies of the database executing on the server. The system administrator
might want to ensure that the resources allocated to each database instance are proportional to that
business unit’s funding level for that server, which might not be an equal funding level. Because the
name of the executable is the same for all three instances, specifying the name of the executable file
alone in the PRM group configuration does not enable the administrator to allocate separate
resources for the three different instances of the same database executable. Fortunately, many
database applications such as Oracle have a process naming mechanism that enables you to
distinguish between multiple instances of the database.
With Oracle, when you open an instance, the $ORACLE_HOME/bin/oracle executable renames
itself using the UNIX environment variable ORACLE_SID for a given database. This variable is used in
generating Oracle process names: ora_process_name_$ORACLE_SID. Thus, if you have three
instances of the Oracle databases, you can assign different process names to each instance by
changing $ORACLE_SIDfor example "Inv" for the inventory, "Fin" for finance, and "Mkt" for
marketing. The database instance processes might appear in the output of the ps (1) command as:
ora_pmon_Inv, ora_dbwr_Inv, and ora_smon_Inv
ora_pmon_Fin, ora_dbwr_Fin, and ora_smon_Fin
ora_pmon_Mkt, ora_dbwr_Mkt, and ora_smon_Mkt
You can specify the application names to PRM using regular expressions, such as ”ora*Inv,”
”ora*Fin,” and ”ora*Mkt,” and assign them to different PRM groups with different resource shares. In
this case, PRM would correctly recognize the executing database instance processes and move them