PMON: The Process Monitor- Oracle Processes

This process is responsible for cleaning up after abnormally terminated connections. For example, if your dedicated server “fails” or is killed for some reason, PMON is the process responsible for fixing (recovering or undoing work) and releasing your resources.

PMON will initiate the rollback of uncommitted work, release locks, and free SGA resources allocated to the failed process.

In addition to cleaning up after aborted connections, PMON is responsible for monitoring the other Oracle background processes and restarting them if necessary (and if possible).

If a shared server or a dispatcher fails (crashes), PMON will step in and restart another one (after cleaning up for the failed process). PMON will watch all of the Oracle processes and either restart them or terminate the instance as appropriate.

For example, it is appropriate to fail the instance in the event the database log writer process, LGWR, fails. This is a serious error, and the safest path of action is to terminate the instance immediately and let normal recovery fix the data. (Note that this is a rare occurrence and should be reported to Oracle Support immediately.)

LREG: Listener Registration Process

The LREG process is responsible for registering instances and services with the Oracle TNS listener. When an instance starts up, the LREG process polls the well-known port address, unless directed otherwise, to see whether or not a listener is up and running.

The well-known/default port used by Oracle is 1521. Now, what happens if the listener is started on some different port? In this case, the mechanism is the same, except that the listener address needs to be explicitly specified by the LOCAL_LISTENER parameter setting.

You can also use the REMOTE_LISTENER parameter to instruct LREG to register a service with a remote listener (which is common in Oracle RAC environments).

If the listener is running when the database instance is started, LREG communicates with the listener and passes to it relevant parameters, such as the service name and load metrics of the instance. If the listener was not started, LREG will periodically attempt (typically every 60 seconds) to contact it to register itself.

You can also instruct LREG to immediately attempt to register a service with the listener via the ALTER SYSTEM REGISTER command (which is useful in high availability environments).

Leave a Reply

Your email address will not be published. Required fields are marked *