Ora10g: Buscando actividad "extra-ordinaria" en nuestra base de datos con TOAD

Hay gente a favor y en contra de esta herramienta pero para mí resulta de lo más útil para tareas concretas y como complemento. De hecho la persona que estaba en mi puesto le dió muy mala fama en la oficina (lástima) pero almenos consiguió que pagaran su licencia nada más ocupar el puesto de trabajo sin llevar dos días en la empresa...  Con el paso del tiempo la he usado alternándola con otras herramientas y "trabajos manuales" y hasta el momento no hay nada que haya hecho de con otra cosa que no pueda hacer con TOAD. En este caso comento como buscar actividad "extra-ordinaria" en nuestra base de datos con TOAD. El equivalente para detectar en muy pocos clicks y quizás menos tiempo a esto.  Pasos a seguir:

1) Consultamos la frecuencia de generación de archive logs (Database>Diagnose>Log switch frequency map). Aquí veremos una parrilla con los últimos días y la cantidad de archive logs generados por dia/hora en la base de datos. Ahí le podemos resaltar los que superen cierta cantidad y detectar picos extraños. Si de antemano conocemos la cantidad normal podemos saber cuando pasa algo.
 

 

1.5) Consultamos el estado de los tablespaces (Database>Administer>Tablespace). Si conocemos o tenemos registrado el % de uso de los tablespace en un tiempo anterior al pico de actividad puede que veamos que alguno se haya reducido sustancialmente. De ahí puede que podamos deducir la aplicación sabiendo que usuario usa el tablespace. En la mayoría de los casos no resaltará ya que para hacerlo debería ser algo de muchos inserts y commits por insert, pero no está de más mirarlo...

2) Como sabemos cuando ocurre y si sigue un patron esperamos a que llegue ese momento y analizamos las conexiones que se abren. Miramos en el Monitor de sesiones (Database>Monitor>Session Browser). Ahí se muestra las conexiones abiertas actualmente en la base de datos con su estado y estadísticas, bloqueos, últimas sentencias etc... Lo que buscamos aquí es quien hace más commits en menos tiempo. Si conocemos de antemano la cantidad normal sabremos enseguida a quién se la ha ido la cosa de las manos.
 


 

Si nos fijamos en la imagen esa sesion ha hecho cerca de 40000 commits en 10 minutos. Quizás debamos tener un buen servidor dedicado solo para esa aplicación como el desarrollador siga en esa tónica...