Oracle
 sql >> Base de données >  >> RDS >> Oracle

Processus en arrière-plan

Je jure qu'à mesure que j'avance dans ma carrière chez Oracle, j'ai de plus en plus de mal à suivre les processus d'arrière-plan d'Oracle. J'aimerais attribuer cela au fait de vieillir, mais après avoir creusé dedans, je suis presque sûr que c'est juste l'explosion des processus d'arrière-plan d'Oracle en 11g qui me cause des crises.

Plus tôt dans la journée, je regardais un onglet de performances de la base de données de production dans Grid Control. Mon cluster RAC à 3 nœuds connaissait un processeur élevé, j'ai donc approfondi et remarqué que la majorité des cycles de processeur provenaient d'un processus d'arrière-plan nommé NSA2. Quoi?!?!?! Qu'est-ce que la NSA2 ? Je suis presque sûr que cela n'a rien à voir avec la sécurité nationale.

En effectuant une recherche Google sur ce processus d'arrière-plan, je suis tombé sur une requête astucieuse pour vous donner une description rapide de chaque processus d'arrière-plan Oracle. Vous devrez l'exécuter en tant que SYS car il interroge les tables X$ :

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
;

Dans ma base de données 11.2.0.2, cette requête a renvoyé 296 lignes ! Pas étonnant que je ne puisse pas suivre. Je me souviens quand je pouvais lister tous les processus d'arrière-plan du haut de ma tête (SMON, PMON, ARCH, DBWR, LGWR, CKPT et RECO). Chaque nouvelle version d'Oracle augmente le nombre de processus en arrière-plan, ce qui est probablement une bonne chose. Mais il est parfois difficile pour le DBA de diagnostiquer les problèmes.

Qu'est-ce que la NSA2 ? C'est un processus de redo transport chargé d'expédier les redo logs archivés vers ma base de données Standby. Une fois que j'ai vu la description de la requête ci-dessus, c'était évident.

Lisez donc votre base de données pour voir tous les merveilleux processus de fond que vous pourriez rencontrer lors de vos voyages. L'un de mes favoris dans la liste est TEST.

Mise à jour - 12/09/2012 - Après avoir écrit cette entrée de blog, j'ai découvert qu'Oracle avait déjà documenté les processus d'arrière-plan dans l'annexe F de la référence de base de données. Je ne sais pas quand Oracle a commencé cette annexe et si je l'avais su, j'aurais juste regardé le processus NSAx. Mais le script ci-dessus est toujours amusant et peut être utilisé pour découvrir de nouveaux processus d'arrière-plan qu'Oracle n'a pas documentés.