Waking up SMON
Typically, the
backround process development/databases/Oracle/architecture/processes/background/SMON sleeps for 5 minutes between its activities.
With oradebug wakup
, it can be woken up at anytime.
First, we need to determine the PID of SMON with the following query (which conveniently also returns how long the SMON process was already sleeping and how long it is expected to sleep):
select
p.pid,
s.state,
s.event,
to_char(s.wait_time_micro / 1000 / 1000, '999,990.000') wait_time,
to_char(s.time_remaining_micro / 1000 / 1000, '999,990.000') time_remaining
from
v$process p join
v$bgprocess b on p.addr = b.paddr join
v$session s on p.addr = s.paddr
where
b.name='SMON';
With this PID, we can now wake up SMON:
oradebug wakeup 24
After executing this command, the previous query should now show a low wait_time
.