Red de conocimiento informático - Conocimiento informático - Cómo leer un volcado de estado del sistema

Cómo leer un volcado de estado del sistema

El archivo de seguimiento generado por dump systemstate contiene información como el estado de todos los procesos del sistema. Cada proceso corresponde a una parte del contenido del archivo de seguimiento, que refleja la información de estado del proceso, incluida la información del proceso, la información de la sesión, la información de la cola (principalmente información de bloqueo), la información del búfer y el estado de los objetos retenidos por el proceso en el archivo de seguimiento. Zona SGA. El archivo de seguimiento generado por el estado del sistema de volcado es información sobre todos los procesos en el sistema desde el comienzo del volcado hasta la finalización de la tarea de volcado.

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

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.