(Ahora podes bajar la ultima versión del utilitario desde http://www.oramdq.com/oracle-performance-viewer/)
El AWR resulta de mucha utilidad como baseline o punto de comparación cuando nos encontramos con una base que esta con problemas de rendimiento, detectados o bien por la activación de alarmas o peor aún, cuando el usuario final persive la demora y realiza el reclamo. Cualquiera que trabaje como DBA de bases productivas, ni hablar si son muy criticas, tendrá que responder rapidamente a su superior evaluando el escenario, diagnosticando y proponiendo o activando cursos de acción en forma inmediata. A veces los problemas no se detectan con facilidad y empezar a correr scripts por separado puede resultar un tanto lento.
Para facilitarme la tarea, programé un pequeño utilitario en C# donde agregué varias de las consultas que utilizo diariamente, sumado a todo el poder gráfico que me permite entre otras cosas analizar la historia, filtrar convenientemente, exportar a excel la grilla, explotar la información con doble click sobre la celda, etc. Abajo copié algunas pantallas para mostrarles como esta pensada la aplicación y obviamente me interesa compartirla en forma gratuita con quien le interesa y asi poder mejorarla.
La pantalla principal es una MDI con 4 paneles, el de arriba a la izquierda tiene una estructura de árbol con todos los reportes disponibles hasta el momento, clasificados según cierto criterio. el panel de abajo a la izquierda tiene un resumen de la base de datos donde esta conectada la app. el panel de arriba a la derecha tiene la grilla con los resultados, y el panel de abajo a la derecha tiene la consulta que se ejecutó para llenar la grilla.
La pantalla 2 muestra los criterios de filtrado para llenar la grilla de acuerdo al tipo de reporte que se este ejecutando:
La pantalla 3 muestra la grilla resultado. En el ejemplo se ejecutó el reporte de historial de DB Time:
La pantalla 4 muestra la salida del reporte de historial de los 5 eventos de espera mas importantes:
La pantalla 5 muestra las sesiones actuales de la base (información actual)
Con doble click sobre una fila de la grilla se abre otro form con detalle de la sesion seleccionada. En el panel donde aparece el texto de la sentencia que esta ejecutando la sesión se puede clickear el boton derecho y ver y seleccionar "Detalle.." para ver el historial de ejecución de dicha sentencia.
La siguiente pantalla muestra todos los forms abiertos puestos en mosaico horizontal (menu Ventanas)
La pantalla 8 es el resultado de la ejecucion del reporte de Tablespaces
Con doble click sobre la fila de la grilla se abre un nuevo form con detalle del tablespace:
La pantalla 10 muestra los posibles filtros que se pueden realizar para analizar el historial de sentencias TOP.
La pantalla 11 muesta las sentencias TOP que cumplen los filtros definidos anteriormente:
Con un click sobre la celda que tiene el SQLID se copia el valor y luego presionando el boton de REFRESCAR se "pastea" el valor copiado para ver historial de la sentencia:
Todas las grillas de resultado se pueden exportar a excel, se pueden filtrar y todas las consultas se puede copiar (botón derecho sobre el panel donde esta el texto de la consulta y seleccionar COPIAR).
Mi idea fue mostrarles algunas pantallas para que vean la funcionalidad que intenté darle a mi aplicación. Obviamente hay varios reportes mas que no estan detallados en el blog, pero invito a quien quiera evaluar mi programita (se llama OraPerfViewer.exe y pesa alrededor de 150kb) que solo me escriba a: rovedop@gmail.com y les enviaré el ejecutable que solo requiere windows y un framework .NET instalado (creo que la mayoria de las windows lo traen instalado por default). Por el momento no es RAC-Aware, pero en el futuro lo será y corre sobre versiones 10g en adelante.
Es una primera versión, y seguramente tenga varios bugs y cosas que mejorar, pero estoy seguro que compartiendo y discutiendo ideas se mejoran las cosas.
Muy interesante, me alegra saber que has materializado lo que tantos hemos pensado hacer alguna vez, aunque al final siempre encontramos alguna excusa para usar el TOAD o el EM. Creo que es mucho más flexible y rápido llevar 150kb en el Pen drive cuando tienes que andar moviéndote de cliente en cliente que realizar una instalación "pesada" de las otras herramientas (si es que te dejan hacerlo).
ResponderEliminarUn cordial saludo.
Hola Pablo, la veo bastante completa y muy útil. Te paso algunos comentarios que espero te resulten constructivos:
ResponderEliminar1) agregar un reporte historico de LOG SWITCHS.
2) Información de LOG: grupos, miembros, size, status.
3) Al reporte del estado de las sesiones le agregaria la columna MACHINE.
Si bien no investigue mucho, voy a seguirla más de cerca en cuando pueda y pasarte mas comentarios. Sldos.
hola pablo, ¿podrias incorporar algun articulo sobre como interpretar las awr, el dbtime, que hacer para mejorarlo y porque?
ResponderEliminarSaludos y gracias por tus aportes.
Pablo, me podrías pasar por mail dicha herramienta para ver en mis bases?
ResponderEliminarHola Pablo, me encantaría poder testear tu aplicación, pero tengo el siguiente problema (Error de OciEnvCreate run -1) cuando intento conectar a Base de Datos. ¿Sabrías de que puede ser? No se si será del registro, dll, ...
ResponderEliminarGracias
Hola Pablo. Podrias pasarme tu programita para probarlo..
ResponderEliminarDesde ya muchas gracias.
Saludos.
Atte.
José Benitez.
Hola Pablo,
ResponderEliminarme gustaría probar tu programita y ver que tal funciona.
Me lo podrías enviar por correo.
Un saludo
BUen dia Pablo: Prodras enviarme el programa a blancocarlosm@gmail.com para probarlo. Gracias.
ResponderEliminarHola. Me gustaría que me pudieses pasar la herramienta para probarla a mi inbox mcastroq@gmail.com
ResponderEliminarHola Mauricio, buenas tardes, el enlace para descargar la herramienta ya no existe, podrias informarme donde lo consigo o ya no está disponible? mi correo efrainhoyos@ingenieros.com
ResponderEliminarGracias
Hola.. me interesa saber si puedes ofrecer servicios de tunnig como freelance para una DB oracle 12c. fmorenor@gmail.com
ResponderEliminarHola. Me gustaría que me pudieses pasar la herramienta para probarla, area342@gmail.com
ResponderEliminarHola, me gustaria usar tu herramienta, el enlace ya no existe, me puedes pasar un enlace para descargarla, muchas gracias....alveiro.ordonez@gmail.com
ResponderEliminarEstimado, Por favor, envíame el software. Los link no funcionan sansolo@gmail.com
ResponderEliminarBuenas tardes me podrias enviar el software a mi correo:andreygonzalez@outlook.com
ResponderEliminargracias por la contribuciones, me podrías facilitar una copia de tu programa... gracias.. johnny_jjc@hotmail.com
ResponderEliminar