sql >> Database >  >> RDS >> Oracle

Achtergrondprocessen

Ik zweer dat naarmate ik verder en verder kom in mijn Oracle-carrière, het steeds moeilijker wordt om de achtergrondprocessen van Oracle bij te houden. Ik zou dit willen toeschrijven aan het ouder worden, maar nadat ik me erin heb verdiept, ben ik er vrij zeker van dat het gewoon Oracle's explosie van achtergrondprocessen in 11g is die ervoor zorgt dat ik krampen krijg.

Eerder vandaag keek ik naar een prestatietabblad voor de productiedatabase in Grid Control. Mijn RAC-cluster met 3 knooppunten had een hoge CPU, dus ik ging dieper en merkte op dat de meeste CPU-cycli afkomstig waren van een achtergrondproces met de naam NSA2. Wat?!?!?! Wat is NSA2? Ik ben er vrij zeker van dat dit niets te maken heeft met de nationale veiligheid.

Bij het doen van een Google-zoekopdracht van dit achtergrondproces, kwam ik een handige vraag tegen om u een korte beschrijving te geven van elk Oracle-achtergrondproces. U moet dit als SYS uitvoeren omdat het X$-tabellen doorzoekt:

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
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 mijn 11.2.0.2-database leverde deze query 296 rijen op! Geen wonder dat ik het niet kan bijhouden. Ik herinner me dat ik alle achtergrondprocessen uit mijn hoofd kon opsommen (SMON, PMON, ARCH, DBWR, LGWR, CKPT en RECO). Elke nieuwe Oracle-versie verhoogt het aantal achtergrondprocessen, wat waarschijnlijk een goede zaak is. Maar het maakt het soms moeilijk voor de DBA om problemen te diagnosticeren.

Dus wat is NSA2? Het is een opnieuw uitgevoerd transportproces dat verantwoordelijk is voor het verzenden van gearchiveerde herhalingslogboeken naar mijn Standby-database. Toen ik de beschrijving van de bovenstaande vraag zag, was het duidelijk.

Dus lees uw database eens door om alle prachtige achtergrondprocessen te zien die u tijdens uw reizen kunt tegenkomen. Een van mijn favorieten in de lijst is TEST.

Update - 09/12/2012 - Nadat ik dit blogbericht had geschreven, ontdekte ik dat Oracle de achtergrondprocessen al heeft gedocumenteerd in bijlage F van de databasereferentie. Ik weet niet zeker wanneer Oracle met deze appendix is ​​begonnen en als ik het had geweten, had ik het NSAx-proces gewoon opgezocht. Maar het bovenstaande script is nog steeds leuk en kan worden gebruikt om nieuwe achtergrondprocessen te ontdekken die Oracle niet heeft gedocumenteerd.


  1. Hoe u ervoor kunt zorgen dat uw MySQL-database beveiligd is?

  2. Hoe de datum en tijd in SQL Server te formatteren?

  3. LIMIET 10..20 in SQL Server

  4. Converteer PostgreSQL-array naar PHP-array