Using HP PRM with Oracle Databases
16
Managing listener processes
Although listener processes can be associated with a particular database instance, they are actually
started as part of the networking processes that run with Oracle. In ps output, they appear as fully
qualified executables:
oracle 1769 1 0 09:35:02 ? 0:00
/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_Sales
oracle 1779 1 0 09:35:23 ? 0:00
/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_Mktg -
oracle 1774 1 0 09:35:12 ? 0:00
/u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER_Suppor
The three listeners have exactly the same executable name, but with different parameters.
Placing listener processes with HP Process Resource Manager C.03.01 and earlier
Using PRM C.03.01 and earlier, the listener process associated with the Sales database cannot be
placed in the Sales PRM group by using an application record in the PRM configuration file. To put
listener processes in the same PRM group as the database instance, use the following prmmove
command with the listener’s process ID:
# prmmove Sales -p 1769
You might want to automate this procedure with a script that runs after all databases are online:
#!/usr/bin/sh
# Script to move Oracle listener processes to PRM groups
# Find listener process for Sales database
pid1= ‘ps -ef | grep tnslsnr | grep LISTENER_Sales | \
awk ‘{print $2}’‘
# Move listener process for Sales database
prmmove Sales -p $pid1
# Find listener process for Support database
pid2 = ‘ps -ef | grep tnslsnr | grep LISTENER_Supp | \
awk ‘{print $2}’‘
# Move listener process for Support database
prmmove Support -p $pid2
# Find listener process for Mktg database
pid3 = ‘ps -ef | grep tnslsnr | grep LISTENER_Mktg | \
awk ‘{print $2}’‘
# Move listener process for Mktg database
prmmove Mktg -p $pid3
This script does not handle the case in which a database instance has multiple listener processes.