Proyecto, Monitoreo y Optimizacion de nuestra BD en Firebird
Saludos amigos del Club ;)
Viendo una presentacion de Andreano Lanusse del CodeGear developer days I sobre como monitorear las bases de datos en Interbase, se me ocurrio la idea de porque no hacer lo mismo en Firebird, pero de forma que esta pueda ser aplicada a nuestras bases de datos sin problema mediante una simple aplicacion, en la que solo nos conectamos a la BD y tendremos las opciones ya preparadas para el mantenimiento. La idea que tengo es proponerles a ustedes realizarlo entre todos, un trabajo de grupo, de este modo con sus aportes se lograra un resultado mejor (Dos cabezas piensan mejor que una ;) ) bueno tampoco deben sentirse obligados :rolleyes:... es solo una idea. Admito que no soy un experto ni mucho menos, pero si me considero un poco hiperactivo cuando estoy aprendiendo algo nuevo; un poco cacharrero en otros terminos :p; en base a esto estuve revisando lo que llamaria Tablas temporales en Firebird con lo que se podria empezar a trabajar la parte del monitoreo.
Espero contar con buena aceptacion y aportes por parte de ustedes y asi finalmente lograr un buen resultado gracias al trabajo en equipo de esta gran comunidad :) Saludos |
Saludos.
Todo va a depender de que quieres monitoriar, porque lo que muestras son las tablas del sistema y no temporales como indicas (sin animo de ofender). En Interbase 7 o Interbase 2007 y Firebird 2.1 vienen con tablas del sistema con el proposito de monitoriar las transacciones que se realizan en la BD. Hasta luego. |
Cita:
|
Añado:
La idea es de que una vez terminado como tal, este pueda estar disponible para el uso de todos los que lo necesiten. |
A partir de Firebird 2.1 se han agregado las tablas temporales que tienen dicho fin, estas tienen como prefijo MON$, incluso para Firebird 2.5 han agregado una nueva tabla para monitorizar también la memoria, que es algo que a leguas hacia falta :D, mejor dicho... ese tema va viento en popa :D.
|
Cita:
|
Cita:
|
Bueno Jhonny creo que te refieres a esto
Cita:
|
Cita:
Archivo: http://jhonny.clubdelphi.com/archivos/FBMonitor.zip |
Cita:
La idea es buena claro, vere que puedo adelantar aunque sea de interfaz :rolleyes:... y ver que aceptacion tiene, he de recordar que soy novato nivel -10 :p; la idea es ir acomodando todo a medida que firebird de nuevas opciones. |
Hola,
Intente adelantar algo para la idea pero creo que quede en las mismas que tu jhonny, solo espero no perder el impulso :rolleyes::p En este link dejo algo de lo poco que adelante, la interfaz principal la manejo mediante un TreeView donde se muestren las BD registradas y sus opciones; aun no se como sea mejor guardar las rutas de las BD si mediante un archivo .ini o por el registro |
Hola a todos, :)
Bueno he estado tratando de sacar un poco de tiempo para poder trabajar en esta idea (Benditos informes :rolleyes:), aun tengo interrogantes sobre que seria lo esencial o necesario monitorear, por el momento pienso en las transacciones y jugar un poco con lo que nos brindan las tablas del sistema, espero puedan dar buenos aportes... PD: Algun moderador podria añadir al titulo la palabra Proyecto, gracias :) |
Re gracias ;)
Incialmente dentro de lo que tengo proyectado esta lo siguiente Cita:
|
:confused:... retomando un poco me quede con una inquietud, cual seria el query para saber el numero de usuarios activos??
|
Cita:
|
Hey viejo Yonny ;)... gracias.
Y aproposito, en donde puedo encontrar buena documentacion al respecto, he buscado por todas las paginas de Firebird pero hasta ahora no encuentro demasiado que digamos; poco a poco estoy formando la idea aunque llevo cero codigo :D |
Cita:
|
Hola a todos,
Bueno, dado que continuo con la idea y espero lograr algo :rolleyes: he de notar las multiples diferencias entre las tablas disponibles en Firebird; por tal motivo tengo una inquietud que espero me puedan ayudar a resolver (Codigo claro): 1. Como determino si Firebird esta instalado? 2. Como se que version esta instalada, para saber que puedo y no hacer? Por ahora les tengo estas dos ;):D... |
1) En la clave del registro de windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FBDBServer_2_0_is1' Hay una lista de todos los programas instalados en tu maquina: Pero eso en ultimas no es muy seguro, ya que depende mucho de la forma en como hayan instalado el FB, incluso algunos lo pudieron hacer manualmente, la verdad es que yo no me preocuparía mucho por dicho asunto, pues un usuario que va a usar un software de este tipo, ya debe tener un mínimo de conocimiento al respecto.... 2) Eso si es mas seguro, como lo que te preocupa es la estructura entre una versión y la otra de Firebird, pues lo que necesitas es averiguar la versión del ODS(On Disk Structure)... Por ejemplo, la versión del ODS de Firebird 2.1 es la 11.1 y se averigua, así:
|
Bueno jhonny gracias por tu aporte como siempre :)
El primer punto lo solucione por aca, solo verificando si el servicio esta corriendo. Para el segundo punto bien; pero dado que aplica unicamente para esta version entonces como podria saberlo con anteriores?:confused::confused:... de igual forma estare investigando y manteniendolos al tanto... |
Como puedo usar esto???... desde donde son ejecutados???
|
Gbak, GSec, ISQL y otros mas... son unas utilidades que se distribuyen con el Firebird, para fines distintos (Como generar backups, cambiar opciones de usuarios, acceder a la BD, parar o correr el servicio y muchas cosas mas), estos se encuentran en la carpeta de instalación del mismo FB...
La particularidad de estas utilidades es que se ejecutan desde la linea de comandos y si quieres trabajar con ellos, puedes enviarles parametros normalmente, como se haría con cualquier otra aplicación que se ejecute desde la linea de comandos. |
Cita:
http://www.clubdelphi.com/trucos/ind...ll=0&scrollb=0 |
Cita:
Pienso que ya se trataria de jugar con esta funcion y el FileExists buscando el ejcutable....:cool::rolleyes: |
Cita:
|
Cita:
|
Puede parecer un poco "saturador" tratar de entender todas estas cosas al tiempo, pero pienso que si se puede ahorrar del mismo ya sera ganacia ;)...
|
Cita:
Por eso es que te he sugerido lo del ODS, con él sabrás que puedes usar y que no, por ejemplo en la versión 2.1 el ODS es 11.1 y en la 2.5 sera 11.2, pero no se si no he entendido como piensas hacer lo del monitoreo, pero como te digo, si es con las tablas MON$, "solo podrás" a partir de FB 2.1. |
Cita:
|
Cita:
|
Hola compañeros,
Aunque cada vez tengo menos tiempo para sacar esta idea adelante, recurro de nuevo a ustedes para que me asesoren y me saquen de mis dudas... 1. Como conecto correctamente la bd y ejecutar los query?, lo hacia de este modo dejando las otras configuraciones (DBExpress) ya hechas. Pero claro esta que me falta algo para poder ejecutar el query sin errores; que es? 2. Como podria saber que tablas tiene la base de datos, mediante una consulta SQL? 3. Retomando lo de las tablas RDB$, que herramientas se podrian brindar para versiones anteriores a la 2.1 ?, teniendo en cuenta claro que estas son mas que todo consultas que al fin de cuentas se podrian hacer sin problemas, y es precisamente lo que quiero cambiar; no tendria ninguna gracia un programa que haga lo mismo que podrias hacer de igual forma sin el, es ahi donde quiero hacer algo diferente... Aun estoy pensando eso :rolleyes:, alguna idea?? |
:o... aun no encuentro nada al respecto, y no tengo donde probar en este momento :(...
Alguna idea para el punto uno :confused: |
Es mas simple realizar un procedimiento que recorra los resultados de las tablas al consultar la bd para realizar esto?
|
Cita:
Estoy utilizando el BDE para conectarme, no estoy seguro si esto tiene algo que ver. Saludos Randall |
Cita:
¿ Vuelves a lanzar la consulta ?, es que tienes que volver a lanzar la consulta para leer de nuevo los valores de las tablas de monitorización. Además, es muy probable que tengas que cerrar y volver a abrir la transacción. Puesto que según el nivel de aislamiento que utilices, cada transacción es como si tuviera su propia copia de la base de datos, y no se ve afectada por los cambios introducidos desde otras transacciones. Así que si quieres ver los nuevos registros introducidos en una tabla, tienes que cerrar esa transacción y verlos desde una nueva transacción. Saludos. |
Hola Marc
Lo solucioné desconectando y volviendo a conectar la conexión en el Data modulo. Gracias por tus consejos. Saludos |
La franja horaria es GMT +2. Ahora son las 17:03:34. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi