|
Category :
Database
Resources -> RDBMS Server
DB Version
:
Oracle 8i / 9i
OS Details :
Sun Solaris9
Ever
wonder as to how to stop a process temporarily that's taking up too
much of the machine's resources so that the important batch jobs
complete on time? The preferred method within oracle for resource
management is to use resource limits and resource manager plans that
are available starting oracle8i. If those options have not been
configured for your instance then you can still control process
priorities indirectly through the use of oracle's oradebug utility.
Using this method, a process can
be suspended indefinitely until you resume it again. Here's how it
works:
Step 1:
Identify the oracle session
that's taking up too much of the machine's resources and get the
process id for it using this query:
SQL> select spid from
v$process a,v$session b where a.addr = b.paddr and b.sid=<session id
to be suspended>;
Step 2:
Have oradebug utility identify
the process id:
SQL> oradebug setospid <value
from the query above>
Step 3:
Suspend the process indefinitely:
SQL> oradebug suspend
Step 4:
Allow the other processes to
complete and after they are done processing, resume the suspended
process:
SQL> oradebug resume
|