Cómo leer un volcado de estado del sistema
Entonces, ¿bajo qué circunstancias suele ser más apropiado utilizar systemstate?
Oracle recomienda utilizar el evento systemstate en las siguientes situaciones:
El colgador de la base de datos ha muerto
La base de datos es muy lenta
El el proceso está pendiente.
Hay algunos errores en la base de datos.
Contención de recursos
La sintaxis para volcar el estado del sistema es:
Cambiar evento de conjunto de sesión nombre de seguimiento directo nivel de estado del sistema 10′;
También puedes usar ORADEBUG para lograr esta funcionalidad:
sqlplus -prelim/as sysdba
oradebug setmypid
oradebug unlimit
oradebug dump system state 10
Si desea llamar al evento systemstate cuando ocurre un error en la base de datos, puede configurar los parámetros del evento en el archivo de parámetros (spfile o pfile).
Por ejemplo, cuando el sistema se bloquea (se produce el error ORA-00060), vuelque el estado del sistema:
event = "60 Nombre de seguimiento Nivel de estado del sistema 10
Parámetros de nivel:
10 Volcar todos los procesos (estado IGN)
Nivel 5 4 + Volcar todos los procesos involucrados en la cadena de espera (estado NLEAF)
4 Los nodos de hoja de volcado de nivel 3 o superior (bloqueadores) en la cadena de espera (estado hoja, LEAF_NW, IGN_DMP)
Los volcados de nivel 3 o superior solo se procesan y se consideran en estado pendiente (estado IN_HANG). ) ) El proceso
1-2 solo tiene salida HANGANALYZE y ningún volcado de proceso
Si el nivel es demasiado grande, se generará una gran cantidad de archivos de seguimiento y el I/ O del sistema se verá afectado. Se recomienda no utilizar seguimientos por encima del nivel 3. Los informes de Hanganalyze se dividen en segmentos y la información del segmento de sesión siempre se detalla por encabezados. dump contiene lo siguiente:
p>Encabezado del archivo de encabezado de volcado
El volcado de proceso es la información de volcado de todos los procesos, y cada proceso tiene un capítulo dedicado
Volcado de procesos. Volcados de llamadas, incluidos volcados de llamadas
Volcados de sesión Hay 1 o más volcados de sesión (en MTS) en cada proceso
Almacenamiento en cola. p>El volcado del búfer puede incluir el volcado del búfer en el volcado de la sesión.
Al leer el volcado del estado del sistema, los ingenieros de Oracle generalmente usan la herramienta ASS. Analice el archivo de volcado del estado del sistema y descubra posibles problemas en el volcado. Se pueden encontrar algunas pistas sobre el bloqueador a través de la salida de ASS. Este es el punto clave que queremos ver.
Podemos. un SO buscando su información de dirección, analizar la información de SO después de encontrarla, encontrar su padre a través de la dirección del SO padre y construir un gráfico de relaciones de estos SO. Por ejemplo, si encontramos el SO de una sesión, podemos. vea a qué proceso pertenece esta sesión, qué SQL está ejecutando esta sesión, etc. A través de este análisis, se encuentran todos los posibles SO problemáticos y los SO relacionados, lo que proporciona material para un análisis más detallado. Encabezado de objeto de estado estándar (SO)
El encabezado del objeto de estado contiene información básica, como:
So: c00004ti4jierj, tipo: 2.
Propietario: 0000000000, bandera: init/-/-/0×00
Donde SO es el número de objetos de estado;
Tipo representa la categoría de objetos de estado;
Categorías de tipo conocidas: Objeto de estado:
2 Proceso (Proceso)
3 Teléfonos
4 Sesión (Información de sesión)
5 colas (información de bloqueo)
6 bloques de información de archivos (bloques de información de archivos, cada FIB identifica un archivo)
11 identificadores de transmisión (identificadores de mensajes de transmisión)
12 país de clase esclava KSV
13 ksvslvm
16 titular de la solicitud osp (el titular de la operación del sistema operativo en la sesión)
18 detalles de recursos en cola (detalles del recurso bloqueado)
19 mensajes ges (mensajes ges)
20 claves de espacio de nombres [ksxp]
24 buffers [búfer de base de datos]
36 bloqueo dml
37 bloqueo de tabla temporal (bloqueo de tabla temporal)
39 lista de bloqueo (lista de bloqueo para borrar bloques)
40 transacciones (transacciones )
41 maniquíes
44 identificadores de segmento de clasificación (identificadores de segmento de clasificación)
50 líneas de cola de caché
52 bloqueos de usuario p>
53 Bloqueo de caché de biblioteca
54 Pin de caché de biblioteca
55 Bloqueo de carga de caché de biblioteca
59 Cola de cursor
61 Cola de procesos
62 Referencia de cola
75 Conjunto de cuentas de monitoreo de cola
El propietario es el padre de este nodo SO (si es 0, indica SO de nivel superior); La bandera indica el estado y tiene tres valores:
El objeto de estado kssoinit se ha inicializado.
El objeto de estado kssoflst está en la lista libre.
kssofclnpmon ha liberado el objeto de estado.