Download Manual de mantenimiento de bases de datos

Document related concepts

Área Global del Sistema wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Mecanismos de almacenamiento (MySQL) wikipedia , lookup

SQLite wikipedia , lookup

SQL Server Compact wikipedia , lookup

Transcript
Manual de mantenimiento de bases de datos
© Gedisweb versión 3, abril de 2012
1 IBOconsole
Es un programa adicional que nos permite conectarnos de forma nativa a la base de datos para
inspeccionar los mismos. Es un programa de dominio público copyright de Lorenzo Mengoni y que se
puede descargar desde la página web http://www.mengoni.it/. Dicho programa sólo se instala en el modo
de servidor, es decir, en el ordenador donde se instala la base de datos y es un programa pensado para
técnicos en bases de datos y que proporciona herramientas avanzadas de mantenimiento y consola para
introducir comandos SQL. Dicho programa se instalará normalmente en la carpeta C:\Archivos de
programa\IBOconsole y ocupará unos 4 Mb en el disco duro.
Naturalmente, este programa podríamos instalarlo en cualquier ordenador de la red y acceder desde allí al
ordenador de la red que tenga la base de datos, pero, para no complicar la instalación, sólo se instala en el
ordenador donde está el servidor de base de datos FIREBIRD conscientes de que este programa se
utilizará ocasionalmente.
Los usos más comunes de este programa es comprobar si se realiza correctamente la conexión a la base
de datos desde él cuando hay problemas similares con la aplicación Gedisweb y realizar una limpieza o
reindexación de la base de datos, también llamado en FIREBIRD hacer un sweep. Desde este programa
también se pueden realizar tareas más avanzadas como fragmentar una base de datos en varios ficheros,
cambiar el tamaño de página, el dialecto, el intervalo de auto-sweep, etc.
Manual de mantenimiento de bases de datos, página 1
1.1 Entrada a IBOconsole y configuración inicial
Si necesitamos entrar en este programa, lo tendremos instalado en el menú Inicio programas Nombre de la aplicación Gedisweb IBOConsole (únicamente en el servidor). Nosotros, podemos, no
obstante, copiar los ficheros que se grabaron, si se aceptaron las carpetas por defecto, en la carpeta
C:\Archivos de programa\IBOconsole en otra carpeta de otro ordenador y funcionaría también ya que es
un programa que funciona por sí solo siempre y cuando estén instaladas en el sistema las librerías de
acceso a bases de datos FIREBIRD o INTERBASE.
Al entrar al programa nos aparece una ventana parecida a ésta
Como es la primera ejecución, tendremos que registrar primero el servidor donde está la base de datos
ubicada y después tendremos que registrar la base de datos en sí. Para ello haremos doble click sobre
Servers y nos aparecerá una ventana de registro de servidor de esta manera
Manual de mantenimiento de bases de datos, página 2
Dejaremos marcado Local Server y en la parte inferior, en el apartado Login Information pondremos en
User name el usuario SYSDBA (en mayúsculas) y como Password la contraseña masterkey (en
minúsculas) y haremos click sobre el botón OK con lo que ya tendremos registrado el servidor local.
Abriremos el árbol de objetos de Local Server, seleccionaremos Databases (marcar en azul) y haremos
click con el botón derecho del ratón sobre él apareciéndonos un menú donde elegiremos la opción
Register … Al ejecutar esa opción nos aparecerá una ventana parecida a la siguiente
Manual de mantenimiento de bases de datos, página 3
Rellenaremos el path y el nombre de la base de datos. Por lo general estará en C:\Archivos de
programa\Firebird\Firebird_1_5\Data\nombrebasedatos.gdb. También podemos ayudarnos del botón
punteado situado a la derecha del campo File. Al rellenarlo y salir de él, automáticamente propondrá
como alias el nombre del fichero, es decir, nombrebasedatos.gdb y haremos click sobre el botón OK. Ya
tendremos la base de datos registrada.
Manual de mantenimiento de bases de datos, página 4
Haremos doble click ahora sobre el nombre de la base de datos recién registrada para abrirla
1.2 Operaciones básicas con IBOconsole
Las operaciones básicas son tres:
Operación 1: Hacer una limpieza o reindexación llamado sweep que podemos ejecutar en la parte
derecha de la ventana, quinta opción empezando por arriba. Si hacemos doble click sobre la opción
tendremos que contestar afirmativamente al mensaje que dice poco más o menos que el proceso puede
tardar bastante tiempo y durante ese tiempo la velocidad del servidor puede verse afectada. Tras un
tiempo que dependerá del tamaño de la base de datos aparecerá un mensaje diciendo que el proceso ha
concluído.
Operación 2: Teclear comandos SQL directamente en una consola. Para ello pulsaremos el botón de la
barra de herramientas que pone SqL y entraremos a una ventana de texto donde podremos teclear
comandos SQL.
Manual de mantenimiento de bases de datos, página 5
Debemos tener en cuenta que FIREBIRD es una base de datos transaccional, es decir, que si hacemos
algún cambio del tipo Insert, Update o Delete deberemos luego ejecutar commit para validar los cambios
o rollback para deshecharlos. Estos dos comandos tienen su equivalente en los botones de la barra de
herramientas con el gráfico con una carpeta y una V para commit y el gráfico con una carpeta y el
símbolo de prohibido para rollback.
Operación 3: Inspeccionar valores de alguna tabla en concreto de la base de datos para escribir algún
valor o consultar algún posible dato en bruto. Para ello haremos click sobre el objeto Tables lo que nos
enumerará las tablas que tiene la base de datos, elegiremos la que deseemos y haremos doble click sobre
ella.
Manual de mantenimiento de bases de datos, página 6
Con lo que obtendremos una ventana que nos enumerará las características de la tabla, los índices, los
triggers, etc. Para inspeccionar los datos de la tabla iremos a la pestaña segunda titulada Data y
seguidamente haremos click sobre el botón Open el cual cambiará su título a Close.
Manual de mantenimiento de bases de datos, página 7
De esta forma podremos consultar y hacer cambios, si es necesario, a los datos. NOTA: esto debe ser
utilizado con mucho cuidado y bajo supervisión.
1.3 Otras operaciones con IBOconsole
1.3.1 Registrarnos en un servidor remoto
Podemos registrar otros servidores que no estén en la máquina servidora y sí en otro servidor en la red
local. De forma análoga a como registramos el servidor local al principio de todo volveríamos a hacer
doble click sobre Servers y nos aparecería la ventana de registro de servidor. En este caso registraríamos
un servidor remoto y la ventana podría ser parecida a ésta:
En Server Name pondríamos el nombre o la IP de la máquina a la que queremos acceder y que tiene un
servidor de bases de datos FIREBIRD o INTERBASE. En Network Protocol es recomendable poner
TCP/IP, en Alias name podemos poner el nombre con que queramos que se identifique el servidor en el
IBOconsole y, por último pondríamos el User Name y Password para hacer login en él. Lo normal será
SYSDBA como nombre de usuario y masterkey como password pero pudieran ser distintos con lo que es
recomendable hablar con el administrador de la máquina a la que queremos acceder para que nos diga con
qué usuario y password nos podemos conectar.
Manual de mantenimiento de bases de datos, página 8
1.4 Cambiar la contraseña del usuario SYSDBA
En ocasiones nos interesará cambiar la contraseña estándar de acceso a la base de datos por si el sistema
lo abrimos a internet y necesitamos aumentar la seguridad. Para cambiar la contraseña de acceso a la base
de datos entraremos al servidor ya registrado en apartados anteriores utilizando el nombre de usuario y la
contraseña estándar y seleccionaremos el objeto Users. A la derecha de la ventana aparecerá la lista de
usuarios dados de alta. Nosotros tendremos uno: SYSDBA.
Nos aparecerá una ventana de edición de los datos del usuario e introduciremos la contraseña nueva y su
repetición y seguidamente haremos click sobre el botón Apply que se habrá habilitado.
Manual de mantenimiento de bases de datos, página 9
2 Copias de seguridad y restauración de copias en
FIREBIRD
Se pueden hacer de dos formas, realizando el proceso de copia de seguridad/restauración o copiando el
fichero de la base de datos directamente.
2.1 Realizar el proceso de copia de seguridad/restauración
Este proceso es recomendable realizarlo desde el menú de la aplicación en la opción situada en
Configuración/Utilidades Copias de seguridad. Allí existen dos opciones Realizar copia de seguridad
y restaurar copias.
2.1.1 Realizar copia de seguridad
Esta opción sólo estará disponible en el ordenador servidor, es decir, en el ordenador que tenga
físicamente la base de datos. Una ventaja importante es que la copia de seguridad se puede hacer en
cualquier momento sin que el resto de los usuarios deba interrumpir su trabajo. Esto se denomina copias
de seguridad en caliente e implica que podemos realizar una copia de seguridad sin importarnos que la
base de datos esté siendo utilizada por otros usuarios ya que, si durante la copia, existe algún cambio
éstos últimos se grabarán o no de forma que siempre se garantice la integridad de la información.
Las copias de seguridad por defecto se realizan en el disco duro. Esto es así por dos razones. Primera: es
mucho más rápida. Segunda: Debido a la gran variedad de opciones que el sistema Windows® nos ofrece
se deja abierta la posibilidad de elegir los programas y el método de almacenaje más conveniente para
cada instalación. Una vez realizada la copia, ésta se graba en un fichero de cierto tamaño, el cual podemos
manipular como cualquier otro fichero de Windows®. Por ejemplo, comprimirlo con programas
específicos comoWinZip®, WinRar®, etc; copiarlo a un CD-R o a un DVD-R mediante una grabadora de
DVD o copiarlo a una unidad de cinta, o en otro disco duro de cualquier ordenador de la red.
En la aplicación todos los datos se guardan en un fichero con extensión GDB. Si hemos aceptando las
carpetas por defecto propuestas por el instalador dicho fichero se encontrará en el ordenador servidor en
la ubicación C:\Archivos de programa\Firebird\Firebird_x_x\Data\BaseDatos.GDB. Desde ese
fichero partirá la copia de seguridad que se copiará en otro con el mismo nombre pero con la extensión
GBK.
Por
defecto
se
llamará
C:\Archivos
de
programa\Firebird\Firebird_x_x
\Backups\BaseDatos.GBK.
Entramos a la opción de copia de seguridad y se nos muestra una ventana proponiéndonos un nombre
para la copia y una ubicación de la misma (por defecto C:\Archivos de
programa\Firebird\Firebird_x_x\Backups). El nombre de la copia es útil para diferenciar entre ellas, por
ejemplo, podemos poner Lunes, Martes, Miércoles, Jueves, Viernes, Semanal y Mensual. De esta forma
tenemos identificadas nuestras copias. La ubicación podemos cambiarla para que dicho fichero se copie
en otra carpeta distinta. Dicha carpeta puede ser otro disco duro del mismo ordenador o de otro ordenador
de la red.
Manual de mantenimiento de bases de datos, página 10
Al pulsar el botón Iniciar Copia se generará el fichero Nombre de la aplicación.GBK en la ubicación
elegida. El proceso puede tardar de varios segundos a varios minutos dependiendo del volumen de datos
que tengamos.
IMPORTANTE: El fichero generado es sólo la primera fase de la copia de seguridad. Es recomendable
que la copia se realice al menos sobre otro medio distinto al del disco duro distinto al que contiene los
datos (el fichero GDB) como por ejemplo, un CD, un DVD, Pendrive o una cinta.
2.1.2 Restaurar copia
Mediante esta opción se restauran las copias realizadas con la opción anterior. Tenemos varios
condicionantes para restaurar las copias de seguridad.
•
•
•
La restauración de copias, al igual que la realización de las mismas, sólo se podrá realizar en el
ordenador servidor, es decir, el ordenador que contiene los datos.
Se deberán tener permisos de administrador (a nivel de Windows®) en la máquina servidora ya que
se van a ejecutar comandos de sistema y accesos a ficheros probablemente protegidos.
En este caso ningún usuario deberá estar utilizando la base de datos, es decir, no tiene que haber
ningún ordenador o usuario ejecutando la aplicación.
Si ejecutamos esta opción se nos abrirá una ventana del tipo rejilla o grid de datos. En esta rejilla se nos
enumeran las distintas copias de seguridad que se han ido realizando. Se indican la fecha y la hora, el
nombre de la copia de seguridad, el tamaño que ocupa en el disco duro el el fichero que contiene la copia
de seguridad (Fichero GBK).
Para restaurar una copia nos situaremos sobre la fila deseada para la restauración y pulsaremos el botón
Restaurar. Nos aparece una ventana de confirmación indicándonos que los datos van a ser sustituidos
por los de la copia. Si respondemos afirmativamente nos aparece una segunda ventana indicando si
estamos seguros. Si es así la copia empezará a restaurarse.
El proceso de restauración se divide tres partes:
Manual de mantenimiento de bases de datos, página 11
•
•
•
Copia el fichero de datos actual (GDB) en el directorio temporal del usuario de windows.
Intenta restaurar el fichero GBK sobre el actual GDB.
Si hay error, indica el error y restaura el GDB copiado en el primer paso con lo que no ocurre nada.
Si no hay error, así se indica y se borra el fichero GDB copiado en el primer paso.
Existe una segunda forma de restaurar una copia ya que por diferentes motivos podemos no tener una
línea asociada a un fichero de copia (GBK) o, simplemente necesitamos restaurar una copia desde cero, es
decir, con una base de datos sin datos con lo que tampoco existirán registros de copia de seguridad. Para
eso marcaremos la opción Restaurar desde el fichero que nos habilitará una caja de texto donde
podremos introducir la dirección y el nombre del fichero que contiene la copia de seguridad a restaurar.
Este fichero puede estar en un CD o DVD o en otro dispositivo de almacenamiento externo como un
disco duro en un ordenador de la red o un PenDrive en el puerto USB. Al introducir el fichero, la
aplicación comprobará que existe y que se puede leer e iniciará el proceso normal de restauración de
copias similar al descrito anteriormente.
Si alguna línea está en color rojo quiere decir que, aunque la copia de seguridad se realizó en su
momento, el fichero físico asociado ya no está en la dirección indicada por la columna fichero. En este
caso no podremos restaurar directamente y tendremos que usar la opción Restaurar desde el fichero para
buscar la ubicación del fichero GBK.
El botón borrar nos permitirá borrar copias de seguridad almacenadas en nuestro disco duro con objeto
de liberar espacio en el mismo. Debemos tener en cuenta que no sólo se borrará la línea de la rejilla de
datos sino también el fichero asociado a la misma perdiendo su contenido. Si una línea estuviera en rojo
evidentemente sólo se borraría la línea ya que el fichero no existiría.
2.1.3 El mismo proceso utilizando el programa IBOconsole
El proceso es algo más complicado. Entraríamos al programa IBOconsole, nos conectaríamos al servidor
local y haríamos click con el botón derecho del ratón sobre el objeto Backup.
Manual de mantenimiento de bases de datos, página 12
Elegiríamos la opción Backup del menú contextual que nos aparece y se nos presenta la siguiente ventana
que debemos rellenar de la siguiente forma.
En Alias elegiremos de la lista desplegable el de la base de datos deseada. Como normalmente tendremos
una base de datos registrada sólo aparecerá una en la lista.
En Alias de Backup files teclearemos el nombre que queramos para que quede registrado en el
IBOconsole bajo el objeto backup. Por ejemplo Backup aplicación.gdb.
En la rejilla de datos Filename(s) introduciremos una sóla línea especificando (a mano) el nombre del
fichero físico donde se guardará la base de datos. Hay que hacer notar que podemos ponerle la extensión
que queramos pero por seguir una línea estándar le pondremos extensión gbk. La columna Size(bytes) la
dejaremos en blanco para que el sistema asigne el tamaño que vea conveniente. La ventana quedaría con
aspecto parecido a éste:
Haremos click sobre el botón OK y empezará el proceso. Tras un tiempo variable de varios minutos se
nos indicará que la copia de seguridad ha finalizado y volveremos a la ventana principal de IBOconsole
donde se habrá creado el nuevo alias de backup.
Manual de mantenimiento de bases de datos, página 13
Para restaurar la copia distinguiríamos dos variantes. Cuando tenemos alias de backup y cuando no
tenemos. En el primer caso, haríamos doble click sobre el alias de backup y nos aparecería directamente
la ventana de restauración de la copia.
En esta ventana estableceríamos el parámetro Overwrite a True para sobreescribir la base de datos en caso
de que existiera y pulsaríamos el botón OK.
Manual de mantenimiento de bases de datos, página 14
Se iniciaría el proceso de restauración que tardaría un tiempo variable de varios minutos. Al final de la
misma se indicaría con un mensaje que el proceso de restauración ha finalizado.
En el segundo caso (no disponemos de alias) deberemos hacer click con el botón derecho del ratón sobre
el objeto Backup y seleccionar del menú la opción Restore.
En la lista desplegable de Alias elegiríamos la opción File. Se nos abriría una ventana estándar de
Windows de apertura de fichero y buscaríamos el fichero deseado. Tras su selección, se rellenarían los
datos pertinentes de la ventana. Seguidamente, establecemos el parámetro Overwrite a True y haríamos
click sobre el botón Ok.
Manual de mantenimiento de bases de datos, página 15
2.2 Copiar el fichero de base de datos directamente
Una de las ventajas de FIREBIRD es que los ficheros de bases de datos no quedan registrados en ningún
apartado del servidor bastándole a éste indicarle el path donde se encuentra dicho fichero. Esto nos
facilita, en según qué ocasiones, la tarea de las copias de seguridad ya que nos podemos limitar a copiar
un simple fichero más o menos grande a otra ubicación o medio de almacenamiento. En la aplicación
todos los datos se guardan en un fichero con extensión GDB. Si hemos aceptando las carpetas por defecto
propuestas por el instalador dicho fichero se encontrará en el ordenador servidor en la ubicación
C:\Archivos de programa\Firebird\Firebird_x_x\Data\BaseDatos.GDB. Esta ubicación se toma
simplemente por centralizar de forma lógica el lugar donde residan las bases de datos. De hecho, la
carpeta Data la instala la aplicación Gedisweb sin tener nada que ver con FIREBIRD. Nosotros podemos
ubicar el fichero de la base de datos donde queramos teniendo en cuenta que luego deberemos indicarle a
la aplicación dónde se encuentra la base de datos mediante la ventana de configuración de conexión a la
base de datos (véase el manual de instalaciones).
NOTA: Este método es más rápido y transportable pero el método de copias de seguridad/restauración
realiza a la vez una limpieza, reindexación y reubicación de páginas que no realiza, obviamente, la copia
simple del fichero.
Manual de mantenimiento de bases de datos, página 16
3 Cómo solucionar el retraso de cierre de las bases de
datos Firebird en Windows XP
Cuando el ordenador que tiene el servidor de datos FIREBIRD y, por tanto, alberga a la bases de datos de
la aplicación Gedisweb, tiene el sistema operativo Windows® XP en cualquiera de sus versiones (Home,
Professional, Server, Advanced Server) la aplicación que se ejecuta en el mismo ordenador puede
experimentar un retraso anormal cuando queremos salir de ella. Esto es debido a dos causas
fundamentales:
Causa 1: De alguna forma, la extensión de los ficheros físicos de las bases de datos (GDB) se pretenden
incluir en el backup de recuperación del sistema de Windows XP produciendo un retraso cuando se
cierran ya que se actualiza en dicho backup.
Solución 1a: Ubicar la base de datos en una unidad donde podamos deshabilitar la utilidad Restaurar
sistema. Para deshabilitar esta utilidad haremos click con el botón derecho del ratón sobre el icono Mi PC
del escritorio. Elegimos la opción Propiedades. Dentro de ella, elegimos la pestaña Restaurar sistema.
Elegimos la unidad donde está nuestra base de datos y pulsamos el botón configuración. Dentro de la
ventana que aparece marcamos Desactivar Restaurar sistema en esta unidad y se deshabilitarán las
demás opciones.
Manual de mantenimiento de bases de datos, página 17
Solución 1b: En caso de que la primera solución no fuera posible, las aplicaciones Gedisweb disponen de
un parámetro local para “forzar” a la aplicación a salir rápidamente sin esperar al cierre de la base de
datos llamado Finalizar aplicación rápidamente y que se localiza en la opción de menú
Configuración/Utilidades Parámetros Locales a este ordenador/usuario Windows. Realmente lo
que hace la aplicación es un autokill. Esta opción se ha probado sin aparentes problemas pero no podemos
garantizar que funcione en el 100% de los sistemas. Lo mejor es hacer una prueba con el parámetro
habilitado y ver si todo funciona bien. Si es así, dejarlo habilitado. De todas formas y para evitar efectos
laterales, este parámetro se deshabilita temporalmente cuando se convierte la base de datos a otra versión
o se realizan copias de seguridad de la misma.
Causa 2: El cable de red está desconectado (o lo desconectamos manualmente nosotros según
circunstancias) y, en ocasiones, incluso no se puede conectar a la base de datos. Esto es una nueva
característica de Windosw XP llamada DHCP Media Sense que automáticamente deshabilita la pila del
protocolo TCP/IP cuando detecta que no hay conexión de red.
Solución
2:
Abrir
el
registro
de
windows
y
localizar
la
clave
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters. Añadir una nueva
clave DWORD llamada DisableDHCPMediaSense y establecerle el valor 1. Para habilitar de nuevo
DHCP Media Sense no hace falta borrar esta clave ya que simplemente estableceremos el valor 0 en ella.
Manual de mantenimiento de bases de datos, página 18
4 Funciones UDF en FIREBIRD
Este tipo de funciones User Defined Functions (UDF) están empaquetadas en un fichero tipo DLL y
añaden más potencia al servidor de la base de datos ya que se pueden incluir ciertas funciones en las
sentencias SQL del propio servidor. Dichas funciones solamente se instalan en el ordenador donde se
instale el servidor de base de datos FIREBIRD y su ubicación está (si hemos aceptado las carpetas por
defecto) en la carpeta C:\Archivos de programa\Firebird\Firebird_1_5\UDF. Si hemos elegido otra
carpeta deberemos buscar siempre en la carpeta root del servidor FIREBIRD donde siempre se situará la
carpeta UDF. Dentro de esta carpeta existen varios ficheros que pasamos a enumerar.
•
fbudf.dll y fbudf.sql: Son las UDF estándar que se instalan en todo servidor FIREBIRD. El
fichero dll son las funciones en sí y el fichero sql son las declaraciones externas que un
programador de SQL debe incluir en sus bases de datos para poder acceder a ellas.
•
ib_udf.dll y ib_udf.sql: También se instalan por defecto y representan aquellas funciones que
FIREBIRD incluye para compatibilizar con bases de datos INTERBASE.
•
gwUDF.dll: Son las funciones UDF que instalan las aplicaciones Gedisweb. Dicho fichero es
necesario para que la aplicación se ejecute correctamente y no dé errores del tipo “Database
error: invalid request BLR at offset XX function XXXXXXX is not defined module name or
entrypoint could not be found”. Este fichero no se actualiza automáticamente por internet debido
mayormente a razones de seguridad, y, en caso que se indique la necesidad de una actualización,
podremos bajarnos desde www.gedisweb.es desde la sección descargas apartado comunes un
fichero zip conteniendo la última versión de esta DLL y actualizarla.
Manual de mantenimiento de bases de datos, página 19
5 MYSQLCC
Las base de datos MYSQL se suele utilizar en las arquitecturas que implican una base de datos en un host
remoto contratado con un proveedor de hosting de acceso a internet. Es por eso que el mantenimiento
principal ya se lleva a cabo por dicho proveedor dejando para nosotros algunas tareas de mantenimiento
que queramos hacer ya que, incluso las copias de seguridad, podremos disponer de ellas cuando queramos
ya que es una labor que realiza diariamente el proveedor de hosting como servicio añadido.
MySql Control Center es un programa gratuíto que se puede descargar desde www.mysql.com y es
análogo a IBOconsole pero aplicado a una base de datos MYSQL. Es un programa que se incluye en el
CD-ROM de instalación de la aplicación que así lo requiera y que accede de una manera gráfica e
intuitiva a la base de datos del servidor remoto. Su instalador se encuentra en el CD-ROM en la carpeta
x:\Mysqlcc (donde x es la unidad de nuestro CD que normalmente será “D").
El instalador consta de tres ficheros (mysqlcc.msi, setup.exe y setup.ini). Para instalarlo ejecutaremos
setup.exe y seguiremos las instrucciones de la pantalla.
En la primera ejecución nos aparecerá una ventana para registrar el servidor al que nos vamos a conectar.
En la pestaña primera (pestaña General) debemos rellenar los siguientes datos:
•
•
•
•
Name: Es el alias del servidor con el que se registrará el servidor en el programa MySqlcc.
Host name: El nombre del servidor al que nos conectamos (dado por el proveedor de hosting).
User name: El nombre de usuario con el que nos conectamos (dado por el proveedor de hosting)
Password: La contraseña del usuario con el que nos conectamos (dado por el proveedor de
hosting)
y haremos click sobre el botón Add. De esta forma, análogamente a como se hace en IBOconsole
visualizaremos la ventana principal con nuestro servidor ya registrado.
Manual de mantenimiento de bases de datos, página 20
Si hacemos doble click sobre el servidor registrado se nos abrirá el arbol de objetos indicando las bases de
datos a las que tenemos acceso.
Manual de mantenimiento de bases de datos, página 21
Y ya podemos trabajar. Para ejecutar comandos SQL directos pulsaremos sobre el botón de la barra de
herramientas que pone SqL y para editar los datos directamente haremos doble click sobre el nombre de
la tabla en cuestión.
Realizamos un comando SQL.
o realizamos una edición directa de las datos en una tabla en concreto.
Manual de mantenimiento de bases de datos, página 22
6 Copias de seguridad y mantenimiento en MYSQL
Como dijimos, por lo general cuando se utiliza una base de datos MYSQL, los datos están ubicados en el
servidor remoto mantenido por nuestro proveedor de alojamiento. Al estar en un servidor remoto los
datos están bastante bien cuidados ya que el servidor dispone de medidas de seguridad especiales,
alimentación ininterrumpida, salas a temperatura constante, etc. Además, diariamente se realiza un
backup que nosotros podemos bajarnos a nuestro ordenador local.
6.1 Copias de seguridad
Nosotros podemos realizar una copia de seguridad de los datos en el momento que queramos y bajarnos
esa copia a nuestro ordenador local desde internet siempre y cuando el proveedor nos lo permita
facilitándonos herramientas para ello.
Para eso, entraremos al servidor remoto, por medio del panel de control que cada servidor dispone.
Posiblemente se accederá mediante la dirección http://www.midominio.com/cpanel. Se pedirá un
usuario y contraseña (que son los del dominio contratado) y se entrará a una web que presentará una serie
de opciones.
Hay que buscar una opción que diga “Backup” o “Copias de seguridad” o algo parecido y dentro de esa
opción tendremos una pantalla que nos permitirá realizar copias de seguridad de varias cosas. A nosotros
nos interesa la copia de seguridad de la base de datos. Normalmente haremos click sobre su nombre y tras
unos instantes nos pedirá que nos bajemos un fichero de la forma basedatos.gz que contendrá la copia de
seguridad de la base de datos. Este fichero se baja como cualquier otro desde internet. Dicho fichero es el
que debemos guardar para, en caso necesario, restaurar los datos que hubiera a esa fecha.
Es interesante hacer esa copia en un momento que preveamos que no se está accediendo a la base de
datos. En el momento del inicio del backup, el sistema bloqueará momentaneamente la base de datos para
garantizar la integridad de los datos en la copia de seguridad de tal forma que los usuarios que estuvieran
en ese momento accediendo se quedarían momentaneamente sin poder leer o grabar datos hasta que
terminara el proceso.
Desde el programa MySqlcc no hay posibilidad de realizar el backup de la base de datos e igualmente
pasa desde la aplicación Gedisweb que no dispondrá de las opciones de copia/restauración de copias.
6.2 Mantenimiento de los datos (optimización y reparación)
Podemos, si queremos, optimizar el espacio utilizado de nuestra base de datos o, en caso de algún
problema mayor, repararla. Aunque eso será extraño ya que el proveedor de hosting estará pendiente de
esas cosas.
Para eso, entraremos al servidor remoto, por medio del panel de control que cada servidor dispone.
Posiblemente se accederá mediante la dirección http://www.midominio.com/cpanel. Se pedirá un
usuario y contraseña (que son los del dominio contratado) y se entrará a una web que presentará una serie
de opciones.
Hay que buscar una opción que diga “Bases de datos MySql” o algo parecido y dentro de esa opción
tendremos una pantalla que aparte de permitirnos crear bases de datos nos permitirá chequearlas
(optimizarlas) y repararlas.
El proceso es muy sencillo ya que esas opciones suelen estar al lado del nombre de la base de datos que
queremos chequear o reparar y simplemente debemos hacer click con el ratón en la opción deseada y el
servidor hará el resto sin preguntarnos nada más.
Manual de mantenimiento de bases de datos, página 23
Al igual que en las copias de seguridad, debemos pensar que dichos procesos bloquean la base de datos a
los demás usuarios para garantizar la integridad de los datos, de tal forma que los usuarios no podrán
acceder a los datos hasta que el proceso haya finalizado.
En el programa MySqlcc podremos realizar estos procesos de la siguiente forma:
•
•
•
•
Entraremos al programa y haremos doble click sobre el nombre del servidor que previamente
habíamos registrado.
Abriremos el arbol de objetos hasta desplegar los nombres de las tablas y haremos click con el
botón derecho del ratón sobre un nombre de tabla cualquiera.
Elegiremos del menú la opción Tools y seleccionaremos la opción deseada (Analizar, chequear,
optimizar o reparar).
Se nos abre una ventana que lista todas las tablas de la base de datos y las seleccionaremos todas
para que la operación se realice para todas ellas y, seguidamente pulsaremos el botón que
indique la operación que se va a hacer, en nuestro caso optimice.
Quizás en algunos servidores no se permitan realizar estas operaciones por limitaciones en los permisos
concedidos al usuario con el cual nos conectamos. En ese caso no tendremos más remedio que utilizar las
herramientas que nos proporcione el servidor de hosting que describimos en el apartado anterior.
NOTA: Si estamos tratando con un servidor remoto debemos tener en cuenta que en el servidor de
hosting debemos poder asignar la IP remota que queramos para poder acceder desde este programa al
servidor de base de datos MYSQL. Una forma de saber la IP que tenemos asignada es entrar en nuestra
página web www.gedisweb.es y verla en la esquina inferior izquierda de la misma donde aparecerá detrás
del título Su IP. También podemos averiguarla entrando en otras páginas como, por ejemplo,
www.adsl4ever.com y entrando en la opción ¿Cuál es mi IP?.
Manual de mantenimiento de bases de datos, página 24
7 MSManager
Es un programa adicional que nos permite conectarnos de forma nativa a una base de datos SQL Server
para inspeccionar los mismos. Es un programa FreeWare copyright de EMS Database Management
Solutions
Inc.
y
que
se
puede
descargar
desde
la
página
web
http://sqlmanager.net/products/mssql/manager/. Dicho programa, que se incluye en el CD de instalación,
sólo se instala en el modo de servidor, es decir, en el ordenador donde se instala la base de datos y es un
programa pensado para técnicos en bases de datos y que proporciona herramientas avanzadas de
mantenimiento y consola para introducir comandos SQL. Dicho programa se instalará normalmente en la
carpeta C:\Archivos de programa\MsManager y ocupará unos 10 Mb en el disco duro.
Naturalmente, este programa podríamos instalarlo en cualquier ordenador de la red y acceder desde allí al
ordenador de la red que tenga la base de datos, pero, para no complicar la instalación, sólo se instala en el
ordenador donde está el servidor de base de datos Sql Server conscientes de que este programa se utilizará
ocasionalmente.
Los usos más comunes de este programa es comprobar si se realiza correctamente la conexión a la base
de datos desde él cuando hay problemas similares con la aplicación Gedisweb y asociar/desasociar bases
de datos.
7.1 Entrada y configuración inicial
Si necesitamos entrar en este programa, lo tendremos instalado en el menú Inicio programas Nombre de la aplicación Gedisweb Consola de base de datos (únicamente en el servidor). Nosotros,
podemos, no obstante, copiar los ficheros que se grabaron, si se aceptaron las carpetas por defecto, en la
carpeta C:\Archivos de programa\MsManager en otra carpeta de otro ordenador y funcionaría también ya
que es un programa que funciona por sí solo siempre y cuando estén instaladas en el sistema las librerías
de acceso a bases de datos Sql Server.
Al entrar al programa nos aparece una ventana parecida a ésta que nos pide la forma de distribución de las
ventanas.
Manual de mantenimiento de bases de datos, página 25
Pulsaremos el botón Ok.
Como es la primera ejecución, tendremos que registrar la base de datos. Para ello ejecutaremos la opción
del menú Database Register Host … y nos aparecerá la siguiente ventana
Seleccionaremos en Host name el nombre del pc con la instancia de la aplicación Gedisweb, marcaremos
la opción SQL Server authentication con lo que se nos habilitarán los campos user name y password y
pondremos sa en user name y masterkey en password. Estos son los valores por defecto a no ser que nos
especifiquen otros. Pulsaremos el botón Next.
Manual de mantenimiento de bases de datos, página 26
Nos aparece la ventana siguiente y seleccionaremos las bases de datos master y la de la aplicación
Gedisweb (en este caso Presuc) ya que necesitaremos la base de datos master para realizar ciertas
operaciones.
Nos aparecerá otra ventana indicándonos los alias con los que se van a registrar las dos bases de datos
Que dejaremos como está y pulsaremos el botón Finish.
Manual de mantenimiento de bases de datos, página 27
Ya estamos dentro de Sql Manager quedando la ventana similar a la siguiente
7.2 Operaciones básicas con MsManager
1) Conectarse a una base de datos: Haremos doble click sobre el nombre de la base de datos en cuestión
listada en el árbol de la izquierda de la ventana y ésta se abrirá.
2) Ver estructura y datos de una tabla de la base de datos abierta: Desplegaremos el árbol de la base
de datos abierta y desplegaremos la rama tables. Haremos doble click sobre el nombre de la tabla deseada.
Manual de mantenimiento de bases de datos, página 28
3) Lanzar comandos SQL mediante scripts: Para ello abriremos la base de datos deseada y en el panel
de la derecha haremos click sobre la opción Execute Sql Script.
Manual de mantenimiento de bases de datos, página 29
7.3 Otras operaciones con MsManager
Todas las operaciones se realizarán mediante la ejecución de scripts SQL preferiblemente abriendo la
base de datos master que hemos registrado previamente junto con la base de datos de la aplicación
Gedisweb.
1) Registrar una UDF en el servidor. Por ejemplo la UDF por defecto que viene en todas las
aplicaciones Gedisweb. Para ello ejecutaremos el siguiente Script previamente habiendo copiado el
fichero xp_md5.dll en la carpeta Binn de nuestra instancia de Sql Server:
EXEC master.dbo.sp_addextendedproc 'xp_md5', 'xp_md5.dll'
2) Asociar (Attach) una base de datos a nuestra instancia de Sql Server. Para ello ejecutaremos el
siguiente Script utilizando el ejemplo de la base de datos Presuc en la ubicación por defecto:
EXEC master.dbo.sp_attach_db
@dbname = 'Presuc'
@filename1 ='C:\Archivos de programa\Microsoft SQL Server\MSSQL$PRESUC\Data\Presuc_Data.mdf'
@filename2 ='C:\Archivos de programa\Microsoft SQL Server\MSSQL$PRESUC\Data\Presuc_Log.mdf'
3) Desasociar (detach) una base de datos de nuestra instancia de Sql Server. Para ello ejecutaremos
el siguiente Script utilizando el ejemplo de la base de datos Presuc en la ubicación por defecto:
EXEC master.dbo.sp_detach_db 'Presuc', 'true'
4) Cambiar la contraseña del usuario sa. Para ello ejecutaremos el siguiente Script para cambiar la
contraseña por defecto masterkey a la nueva contraseña gedisweb.
EXEC sp_password
@old = 'masterkey',
@new = 'gedisweb',
@loginame = 'sa'
Manual de mantenimiento de bases de datos, página 30
8 Copias de seguridad y restauración de copias en
SqlServer
8.1 Realizar el proceso de copia de seguridad/restauración
Este proceso es recomendable realizarlo desde el menú de la aplicación en la opción situada en
Configuración/Utilidades Copias de seguridad. Allí existen dos opciones Realizar copia de seguridad
y restaurar copias.
8.1.1 Realizar copia de seguridad
Esta opción sólo estará disponible en el ordenador servidor, es decir, en el ordenador que tenga
físicamente la base de datos. Una ventaja importante es que la copia de seguridad se puede hacer en
cualquier momento sin que el resto de los usuarios deba interrumpir su trabajo. Esto se denomina copias
de seguridad en caliente e implica que podemos realizar una copia de seguridad sin importarnos que la
base de datos esté siendo utilizada por otros usuarios ya que, si durante la copia, existe algún cambio
éstos últimos se grabarán o no de forma que siempre se garantice la integridad de la información.
Las copias de seguridad por defecto se realizan en el disco duro. Esto es así por dos razones. Primera: es
mucho más rápida. Segunda: Debido a la gran variedad de opciones que el sistema Windows® nos ofrece
se deja abierta la posibilidad de elegir los programas y el método de almacenaje más conveniente para
cada instalación. Una vez realizada la copia, ésta se graba en un fichero de cierto tamaño, el cual podemos
manipular como cualquier otro fichero de Windows®. Por ejemplo, comprimirlo con programas
específicos comoWinZip®, WinRar®, etc; copiarlo a un CD-R o a un DVD-R mediante una grabadora de
DVD o copiarlo a una unidad de cinta, o en otro disco duro de cualquier ordenador de la red.
En la aplicación todos los datos se guardan físicamente en dos ficheros con extensiones MDF y LDF. Si
hemos aceptando las carpetas por defecto propuestas por el instalador dichos ficheros se encontrarán en el
ordenador
servidor
en
la
carpeta
C:\Archivos
de
programa\Microsoft
SQL
Server\MSSQL$nombreinstancia\Data. Estos ficheros son tratados de manera lógica por SQL Server y
éste partirá de ellos para realizar la copia de seguridad que se copiará en un único fichero con el nombre
que le pongamos y con la extensión BAK en la carpeta C:\Archivos de programa\Microsoft SQL
Server\MSSQL$nombreinstancia\Backup.
Entramos a la opción de copia de seguridad y se nos muestra una ventana proponiéndonos un nombre
para la copia y una ubicación de la misma (por defecto C:\Archivos de programa\Microsoft SQL
Server\MSSQL$nombreinstancia\Backup). El nombre de la copia es útil para diferenciar entre ellas, por
ejemplo, podemos poner Lunes, Martes, Miércoles, Jueves, Viernes, Semanal y Mensual. De esta forma
tenemos identificadas nuestras copias. La ubicación podemos cambiarla para que dicho fichero se copie
en otra carpeta distinta. Dicha carpeta puede ser otro disco duro del mismo ordenador o de otro ordenador
de la red.
Manual de mantenimiento de bases de datos, página 31
Al pulsar el botón Iniciar Copia se generará el fichero Diaria.bak en la ubicación elegida. El proceso
puede tardar de varios segundos a varios minutos dependiendo del volumen de datos que tengamos.
IMPORTANTE: El fichero generado es sólo la primera fase de la copia de seguridad. Es recomendable
que la copia se realice al menos sobre otro medio distinto al del disco duro distinto al que contiene los
datos como por ejemplo, un CD, un DVD, Pendrive o una cinta.
8.1.2 Restaurar copia
Mediante esta opción se restauran las copias realizadas con la opción anterior. Tenemos varios
condicionantes para restaurar las copias de seguridad.
•
•
La restauración de copias, al igual que la realización de las mismas, sólo se podrá realizar en el
ordenador servidor, es decir, el ordenador que contiene los datos.
En este caso ningún usuario deberá estar utilizando la base de datos, es decir, no tiene que haber
ningún ordenador o usuario ejecutando la aplicación.
Si ejecutamos esta opción se nos abrirá una ventana del tipo rejilla o grid de datos. En esta rejilla se nos
enumeran las distintas copias de seguridad que se han ido realizando. Se indican la fecha y la hora, el
nombre de la copia de seguridad, el tamaño que ocupa en el disco duro el el fichero que contiene la copia
de seguridad (Fichero BAK).
Para restaurar una copia nos situaremos sobre la fila deseada para la restauración y pulsaremos el botón
Restaurar. Nos aparece una ventana de confirmación indicándonos que los datos van a ser sustituidos
por los de la copia. Si respondemos afirmativamente nos aparece una segunda ventana indicando si
estamos seguros. Si es así la copia empezará a restaurarse.
Existe una segunda forma de restaurar una copia ya que por diferentes motivos podemos no tener una
línea asociada a un fichero de copia (BAK) o simplemente necesitamos restaurar una copia desde cero, es
decir, con una base de datos sin datos con lo que tampoco existirán registros de copia de seguridad. Para
eso marcaremos la opción Restaurar desde el fichero que nos habilitará una caja de texto donde
Manual de mantenimiento de bases de datos, página 32
podremos introducir la dirección y el nombre del fichero que contiene la copia de seguridad a restaurar.
Este fichero puede estar en un CD o DVD o en otro dispositivo de almacenamiento externo como un
disco duro en un ordenador de la red o un PenDrive en el puerto USB. Al introducir el fichero, la
aplicación comprobará que existe y que se puede leer e iniciará el proceso normal de restauración de
copias similar al descrito anteriormente.
Si alguna línea está en color rojo quiere decir que, aunque la copia de seguridad se realizó en su
momento, el fichero físico asociado ya no está en la dirección indicada por la columna fichero. En este
caso no podremos restaurar directamente y tendremos que usar la opción Restaurar desde el fichero para
buscar la ubicación del fichero BAK.
El botón borrar nos permitirá borrar copias de seguridad almacenadas en nuestro disco duro con objeto
de liberar espacio en el mismo. Debemos tener en cuenta que no sólo se borrará la línea de la rejilla de
datos sino también el fichero asociado a la misma perdiendo su contenido. Si una línea estuviera en rojo
evidentemente sólo se borraría la línea ya que el fichero no existiría.
8.2 Copiar los ficheros físicos de la base de datos
directamente
Como hemos dicho anteriormente, la aplicación guarda todos los datos en una base de datos lógica que se
compone de dos ficheros físicos con extensiones MDF y LDF (MDF donde están los datos físicamente y
LDF donde reside el registro de transacciones). Realmente podríamos sólo copiar el fichero MDF ya que
el LDF se regenera a partir del primero pero es recomendable copiar los dos.
Antes de copiar dichos ficheros debemos asegurarnos que SQL Server no está utilizándolos aplicando una
de las siguientes dos opciones:
1) Parar momentaneamente el servicio de SQL Server asociado a la instancia de la aplicación
Gedisweb.
2) Desasociar la base de datos del servidor SQL Server, copiar los ficheros y volver a asociar la base de
datos al servidor.
Para la primera opción haremos doble click en el icono de Sql Server en el área de notificación de la
barra de tareas de Windows (Al lado del reloj) y nos aparecerá una ventana similar a la siguiente
En el desplegable llamado Servidor podemos tener el nombre de la instancia predeterminada, que
coincidiría normalmente con el nombre del PC y los nombres de las sucesivas instancias de la forma
Manual de mantenimiento de bases de datos, página 33
NOMBREPC\NOMBREINSTANCIA. Debemos seleccionar la instancia con el nombre adecuado que
represente a la aplicación Gedisweb.
En el desplegable Servicios seleccionaremos el elemento SQL Server.
Pulsaremos sobre el botón con el cuadrado rojo para detener el servicio. Tras la copia de los ficheros
físicos datos volveremos a esta ventana y pulsaremos el botón de la flecha verde para iniciarlo de nuevo.
Para la segunda opción ver la sección 7.3 Otras operaciones con MsManager para desasociar y asociar
una base de datos.
Si hemos aceptando las carpetas por defecto propuestas por el instalador el fichero MDF y LDF se
encontrarán en el ordenador servidor en la carpeta C:\Archivos de programa\Microsoft SQL
Server\MSSQL$nombreinstancia\Data. Una vez parado el servidor o desasociada la base de datos
podremos copiarlos sin problemas como si se trataran de ficheros normales de Windows. Si pretendemos
llevárnoslos a otro sistema deberemos copiarlos en una ubicación del disco duro del nuevo servidor y
asociarlos a una base de datos de ese servidor Sql Server de la forma descrita en una sección anterior.
Manual de mantenimiento de bases de datos, página 34