Process Monitor (PMON)
The process monitor (PMON) performs process recovery when a user process fails. PMON is responsible for cleaning up the database buffer cache and freeing resources that the user process was using. For example, it resets the status of the active transaction table, releases locks, and removes the process ID from the list of active processes.
PMON also periodically checks the status of dispatcher and server processes, and restarts any that have died (but not any that Oracle has terminated intentionally).
Like SMON, PMON "wakes up" regularly to check whether it is needed, and can be called if another process detects the need for it.
from v$session s,v$lock l,dba_objects o
and s.username is not null
select lpad(' ',decode(l.xidusn,0,3,0))||l.oracle_username User_name,
from v$locked_object l,dba_objects o
order by o.object_id desc