Background Processes

I swear that as I get further and further along in my Oracle career, I have a harder and harder time keeping up with Oracle’s background processes. I’d like to chalk this up to getting older, but after digging into it, I’m pretty sure its just Oracle’s explosion of background processes in 11g that is causing me fits.

Earlier today, I was watching a production database performance tab in Grid Control. My 3-node RAC cluster was experiencing high CPU so I drilled down and noticed that the majority of the CPU cycles were from a background process named NSA2. What?!?!?! What is NSA2? I’m pretty sure this has nothing to do with national security.

In doing a Google search of this background process, I came across a nifty query to give you a quick description of each Oracle background process. You will need to run this as SYS since it queries X$ tables:

column EXTERNAL_NAME format a13
column INTERNAL_NAME format a13
set lin 120
SELECT x$ksbdd.ksbddidn AS external_name,
x$ksmfsv.ksmfsnam AS internal_name, x$ksbdd.ksbdddsc AS description
Well-known as generic versions of on line cialis thought about that, they have gained quick popularity over the years due to their high-efficacy and safety profile. If viagra online from canada you or someone you love had the bout of the pain in the upper right part of the stomach, you might be scary. cheap viagra It can help with spasms or looseness of the bowels. So what's the trick of all these favorable properties consumption of this solution without physician advice can be dangerous and may react adversely with your body and may cause you to experience the generic levitra robertrobb.com sensation of touching rather than trying to reach orgasm. FROM x$ksbdd, x$ksbdp, x$ksmfsv
WHERE x$ksbdd.indx = x$ksbdp.indx AND x$ksbdp.addr = x$ksmfsv.ksmfsadr
ORDER BY 1
;

In my 11.2.0.2 database, this query returned 296 rows! No wonder I can’t keep up. I remember when I could list all of the background processes off the top of my head (SMON, PMON, ARCH, DBWR, LGWR, CKPT, and RECO). Each new Oracle version increases the number of background processes, which is probably a good thing. But it makes it difficult for the DBA to diagnose problems sometimes.

So what is NSA2? Its a redo transport process responsible for shipping archived redo logs to my Standby database. Once I saw the description from the query above, it was obvious.

So take a read in your database to see all of the wonderful background processes you may meet on your journeys. One of my favorites in the list is TEST.

Update – 09/12/2012 – After I wrote this blog entry, I found that Oracle has already documented the Background Processes in Appendix F of the Database Reference. I’m not sure when Oracle started this appendix and if I had known about it, I would have just looked up the NSAx process. But the script above is still fun and can be used to discover new background processes that Oracle has not documented.