sql >> Base de Datos >  >> RDS >> Oracle

Procesos en segundo plano

Juro que a medida que avanzo más y más en mi carrera en Oracle, me resulta cada vez más difícil mantenerme al día con los procesos en segundo plano de Oracle. Me gustaría atribuir esto al envejecimiento, pero después de profundizar en ello, estoy bastante seguro de que es solo la explosión de procesos en segundo plano de Oracle en 11g lo que me está causando ataques.

Hoy temprano, estaba viendo una pestaña de rendimiento de la base de datos de producción en Grid Control. Mi clúster RAC de 3 nodos estaba experimentando una CPU alta, por lo que profundicé y noté que la mayoría de los ciclos de CPU provenían de un proceso en segundo plano llamado NSA2. ¡¿¡¿¡¿Qué?!?!?! ¿Qué es NSA2? Estoy bastante seguro de que esto no tiene nada que ver con la seguridad nacional.

Al hacer una búsqueda en Google de este proceso en segundo plano, encontré una consulta ingeniosa para brindarle una descripción rápida de cada proceso en segundo plano de Oracle. Deberá ejecutar esto como SYS ya que consulta tablas 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
;

En mi base de datos 11.2.0.2, ¡esta consulta devolvió 296 filas! No es de extrañar que no pueda seguir el ritmo. Recuerdo cuando podía enumerar todos los procesos en segundo plano de mi cabeza (SMON, PMON, ARCH, DBWR, LGWR, CKPT y RECO). Cada nueva versión de Oracle aumenta la cantidad de procesos en segundo plano, lo que probablemente sea algo bueno. Pero a veces, al DBA le resulta difícil diagnosticar problemas.

Entonces, ¿qué es NSA2? Es un proceso de transporte de rehacer responsable de enviar registros de rehacer archivados a mi base de datos en espera. Una vez que vi la descripción de la consulta anterior, fue obvio.

Así que lea en su base de datos para ver todos los maravillosos procesos de fondo que puede encontrar en sus viajes. Uno de mis favoritos en la lista es TEST.

Actualización:12/09/2012:después de escribir esta entrada de blog, descubrí que Oracle ya ha documentado los procesos en segundo plano en el Apéndice F de la referencia de la base de datos. No estoy seguro de cuándo Oracle comenzó este apéndice y si lo hubiera sabido, simplemente habría buscado el proceso NSAx. Pero el script anterior sigue siendo divertido y se puede utilizar para descubrir nuevos procesos en segundo plano que Oracle no ha documentado.