You are on page 1of 53

UNIVERSIDAD NACIONAL AUTNOMA DE

HONDURAS
EN EL VALLE DE SULA

Maestra en Gestin Informtica


Clase: Base de datos
Catedrtica: Ing. Josu Bladimir Jimnez
Castro
PROYECTO
Investigacin de la administracin
de bases de datos en Ferretera Nacional
Integrantes:
Carol Argeal
Erika Girn Valladares
Jajaira Escalante Lpez
Ral Galeano
Roberto Hernndez
Fecha: 20 agosto de 2016

CONTENIDO
INTRODUCCIN....................................................................................... 3

I.
II.

RESUMEN EJECUTIVO (1 PAGINA).........................................................4

III.

DESCRIPCIN GENERAL DE LA EMPRESA.............................................5

Historia......................................................................................................... 5
Misin.......................................................................................................... 6
Visin........................................................................................................... 6
Valores.......................................................................................................... 6
IV.

DEFINICIN DEL TEMA.........................................................................7


JUSTIFICACIN........................................................................................ 8

V.
VI.

PUNTOS SELECCIONADOS.....................................................................9

1.

Administracin de usuarios........................................................................9
Recomendaciones y observaciones...................................................................9
Perfiles de Usuarios.................................................................................... 10
Polticas de Seguridad de Perfiles..................................................................15

2.

Diagrama Entidad-Relacin......................................................................17

3.

ndices.................................................................................................. 17

4.

Optimizacin de Consultas.......................................................................22

5.

Monitoreo de procesos de base de datos.......................................................30

IBSurgen..................................................................................................... 31
HQbird....................................................................................................... 31
Aggregated performance statistics for users attachments...................................32
Sequential reads / Indexed reads...................................................................32
Attachments............................................................................................. 33
Transactions............................................................................................. 33
Statements................................................................................................ 34
6.

Respaldos y restauracin de la base de datos................................................34

VII.

CONCLUSIONES Y RECOMENDACIONES..............................................53

Recomendaciones.................................................................................. 53
Conclusiones.......................................................................................... 53
VIII.

BIBLIOGRAFA................................................................................. 54

I.

INTRODUCCIN

El presente informe muestra los resultados de una investigacin a la base de datos realizada en
la Ferretera Nacional, dicho anlisis se efectu como un proyecto educativo en la clase de
Diseo y Administracin de Base de Datos de la Maestra en Gestin Informtica, el cual tiene
como objetivo evaluar la confiabilidad e integridad de los datos, mediante aplicaciones de
herramientas de auditoria de base de datos.
Los resultados de la investigacin son basados en el enfoque de mejores prcticas de un DBA
los cuales forman parte del contenido de la clase y como estas estrategias llevan a una
organizacin a tener su informacin ordenada, estable y segura.

II.

RESUMEN EJECUTIVO

El proyecto consiste en la evaluacin del sistema de base de datos que utiliza Ferretera
Nacional en su sistema de informacin para sus procesos de ventas, inventarios,
cotizaciones y finanzas.
Ferretera Nacional est compuesta por un equipo profesional multidisciplinario
constituido por vendedores y personal administrativo dedicados a la distribucin de
equipo y materiales de construccin a travs de su base de datos.
Con el fin de cumplir con el requisito final de la clase de Diseo y administracin de la
base de datos en aplicar los conceptos de la clase para traer mejoras en la base de datos
de una organizacin, se seleccion Ferretera Nacional para analizar e identificar
oportunidades y riesgos. El objetivo del presente documento es proponer los cambios
necesarios en la base de datos de la organizacin enfocado en las mejores prcticas de
gestin de bases de datos alrededor de seguridad y desempeo.
Contamos con la total colaboracin de Ferretera Nacional y sus lderes para el anlisis
exitoso de su base de datos.

III. DESCRIPCIN GENERAL DE LA EMPRESA


Historia
El fundador, D. Luis Garca San Miguel, con altas dotes emprendedoras inicia su
actividad empresarial con una ferretera de barrio, en el este de la ciudad de San Pedro
Sula en el ao 1979 en un edificio modesto y dedicado exclusivamente al negocio de
ventas de ferretera. Local que todava hoy existe en funcionamiento. Y que sera el
germen de lo que hoy es Ferretera Nacional.
Cabe destacar que Ferreteras Nacional es una empresa comprometida con los clientes.
En general, la empresa se caracteriza por buscar el desarrollo de la regin y por ello
explora constantemente con la incorporacin de nuevos productos y/o nuevos negocios.
Dentro de su esquema de funcionamiento, es una empresa familiar con ms de 30 aos
de historia en la cual ya trabajan activamente tres generaciones de la familia.

Misin
Somos una empresa orientada a ofrecer la mejor calidad y variedad en productos,
servicios de venta y distribucin de material que satisfagan a nuestros clientes,
brindndoles las mejores opciones de compra, con su personal calificado y dedicado al
mejoramiento continuo, fomentando una relacin exitosa junto a nuestros proveedores y
clientes, con el mejor ambiente, para su confianza y lealtad.

Visin
Ser una empresa lder en la venta de material de ferretera, orientado a satisfacer las
necesidades y expectativas de nuestro mercado con eficiencia y eficacia, brindando

calidad en nuestros servicios con responsabilidad y compromiso de ofrecerle la mejor


asistencia a nivel nacional.

Valores

Excelencia: Creemos que el vivir y realizar nuestras labores diarias con

eficiencia, mejora continua y trabajo en equipo es la clave de nuestra excelencia.


Integridad: Creemos que trabajar con tica, honradez y respeto a nosotros
mismos, clientes, proveedores y accionistas son la base de nuestro xito guiados

por una moral que garantiza nuestro sello distintivo.


Compromiso: Creemos en nuestra capacidad para cumplir con nuestros deberes
y responsabilidades, estando comprometidos con la organizacin, nuestros
clientes y proveedores formando as parte del valioso recurso humano de nuestra

organizacin.
Calidad y Servicio: Creemos en la calidad y servicio como la esencia de la
organizacin brindndoles a nuestros clientes una atencin personalizada
satisfaciendo sus necesidades con productos de calidad con precios competitivos

y la mejor variedad de productos.


Equidad: Creemos en nuestro valor individual y en ser tratados con igualdad y

justicia siendo indiferente nuestro gnero, raza, religin o escolaridad.


Pasin y actitud: Creemos que nuestro talento personal nos motiva a mantener
una actitud optimista llevndonos con determinacin a cumplir nuestros
objetivos y metas.

IV. DEFINICIN DEL TEMA


Nuestro equipo se centr en investigar cinco puntos torales para el buen funcionamiento
y buenas prcticas de bases de datos, estos puntos son los siguientes:
1.
2.
3.
4.

La administracin de usuarios
ndices
Optimizacin de consultas
Respaldos y restauracin de la base de datos
5. Monitoreo de procesos de base de datos
Con este estudio se pretende brindar a la Ferrera Nacional recomendaciones para
mejorar el manejo de la informacin.

V.

JUSTIFICACIN

El almacenamiento de datos es de suma importancia para toda empresa ya que


constituye uno de los soportes principales para ella. De ah surge la necesidad que la
informacin se resguarde de forma ordenada ya que hoy en da todas las empresas
resguardan su informacin de diferentes formas y algunas utilizan mtodos actualizados
como son bases de datos que les permite mantener la informacin de forma segura y
confiable.
En esta investigacin se tom como objeto de estudio la Ferretera Nacional, ubicada en
la ciudad de San Pedro Sula, con el objetivo de evaluar la administracin de su base de
datos, los perfiles de usuarios,

VI. PUNTOS SELECCIONADOS


1. Administracin de usuarios
La administracin de usuarios es el proceso de controlar que usuarios estn permitidos
comunicacin con la base de datos y que privilegios tienen en la misma. Esta gestin de
privilegios es fundamental en la seguridad y el desempeo que tendr la base de datos.
Toda organizacin debe mantener una poltica de seguridad de cada base de datos
orientada a proteger la informacin de que sea destruida de forma maliciosa o que se
pueda daar la infraestructura de la base de datos. Cada base de datos debe tener un
administrador(DBA) el cual en muchos casos es asociado como un administrador de
seguridad. El administrador es responsable de implementar y administrar las polticas de
seguridad de la base de datos a travs de la administracin de usuarios. En base a la
magnitud de una base de datos y la cantidad de bases de datos en una organizacin, se
puede considerar estas responsabilidades a un grupo en vez de un individuo.

Recomendaciones y observaciones

En el caso de la base de datos de nuestro proyecto, no existe una administracin de


usuarios adecuada. La base de datos no cuenta con perfiles y usuarios definidos a nivel
de base de datos. Las aplicaciones desarrolladas se conectan a travs de un usuario con
el mximo nivel de privilegios (sysdba). Los accesos a nivel de registros (datos) en la
base de datos son determinados por una tabla del esquema:

La base de datos debe administrar la seguridad de todas las aplicaciones en vez de


depender de una tabla que forma parte de la base de datos. Una tabla interna que sea
responsable de las credenciales de usuarios y aplicaciones es una vulnerabilidad seria.
Esta tabla no tiene ni siquiera el campo de la clave encriptado.

Perfiles de Usuarios

Uno de los cambios que se tiene que gestionar en la base de datos es la creacin de los
siguientes perfiles:
1.
2.
3.
4.
5.

Cajeros
Vendedores
DespachoBodega
Administrador
Contador

Al crear estos perfiles, el DBA solo asignara los privilegios necesarios. Luego los
usuarios creados sern asignados a los perfiles de acuerdo a las necesidades de
informacin que tienen y en base a los alcances definidos por la organizacin.
Inevitablemente las aplicaciones desarrolladas se tendrn que actualizar en trminos del
usuario que utilizan para las transacciones retirando por completo el uso del usuario
sysdba a nivel de aplicaciones.

Los accesos por perfil a nivel de tablas sern los siguientes:


Perfil
Cajero

Tabla
Clientes

Acceso
Escritura

Compra

Escritura

Compra_C

Escritura

Compra_Cot

Escritura

Cotizacion

Escritura

Credito

Lectura

Deposito

Escritura

Detalle_C

Escritura

Detalle_COM

Escritura

Detalle_Coti

Escritura

Detalle_DC

Escritura

Vendedores

Detalle_DP

Escritura

Detalle_V

Escritura

Devolucion_C

Escritura

Devolucion_P

Escritura

Factura_C

Escritura

Factura_V

Escritura

Orden

Escritura

Orden_Detalle

Escritura

Recibo

Escritura

Tipo_Cliente
Bodega

Lectura
Lectura

Cheques

Lectura

Cierre

Lectura

Clientes

Escritura

Compra

Escritura

Compra_C

Escritura

Compra_Cot

Escritura

Cotizacion

Escritura

Credito

Lectura

Defectuoso

Lectura

Deposito

Lectura

Detalle_C

Escritura

Detalle_Com

Escritura

Detalle_Coti

Escritura

Detalle_DC

Escritura

Detalle_DP

Escritura

Detalle_V

Escritura

Devolucion_C

Escritura

Devolucion_P

Escritura

Empleado

Lectura

Estante

Lectura

Factura_C

Escritura

Factura_V

Escritura

Gasto_V

Lectura

Grupo

Lectura

Inventario

Lectura

Nivel

Lectura

Orden

Escritura

DespachoBodega

Administrador

Orden_Detalle

Escritura

Producto

Lectura

Prod_R_Prov

Lectura

Proveedor

Lectura

Recibo

Lectura

Retiro

Lectura

Retiros

Lectura

Sub_Grupo

Lectura

Tipo_Cliente
Bodegas

Lectura
Escritura

Cierre

Lectura

Compra

Lectura

Compra_C

Lectura

Compra_Cot

Lectura

Congelar

Lectura

Cotizacion

Lectura

Defectuoso

Escritura

Devolucion_C

Escritura

Devolucion_P

Escritura

Estante

Escritura

Factura_C

Lectura

Factura_V

Lectura

Inventario

Escritura

Nivel

Lectura

Orden

Lectura

Orden_Detalle

Lectura

Producto

Escritura

Prod_R_Prov

Escritura

Proveedor

Escritura

Provee_Conta

Escritura

Recibo

Escritura

Retiro

Escritura

Retiros

Escritura

Sub_Grupo
Bancos

Escritura
Escritura

Bodega

Escritura

Cheques

Escritura

Cierre

Escritura

Clientes

Escritura

Compra

Escritura

Compra_C

Escritura

Compra_Cot

Escritura

Congelar

Escritura

Cotizacion

Escritura

Credito

Escritura

Cuenta

Escritura

Defectuoso

Escritura

Departamento

Escritura

Deposito

Escritura

Detalle_C

Escritura

Detalle_Com

Escritura

Detalle_Coti

Escritura

Detalle_DC

Escritura

Detalle_DP

Escritura

Detalle_V

Escritura

Devolucion_C

Escritura

Devolucion_P

Escritura

Empleado

Escritura

Estante

Escritura

Factura_C

Escritura

Factura_V

Escritura

Gasto_V

Escritura

Grupo

Escritura

Inventario

Escritura

Nivel

Escritura

Orden

Escritura

Orden_Detalle

Escritura

Prestamo

Escritura

Producto

Escritura

Prod_R_Prov

Escritura

Proveedor

Escritura

Provee_Conta

Escritura

Recibo

Escritura

Retiro

Escritura

Retiros

Escritura

Sub_Grupo

Escritura

Contador

Tipo_Cliente

Escritura

Vinetas_Conf

Escritura

Bancos

Escritura

Bodega

Escritura

Cheques

Escritura

Cierre

Escritura

Clientes

Lectura

Compra

Escritura

Compra_C

Escritura

Compra_Cot

Escritura

Congelar

Escritura

Cotizacion

Escritura

Credito

Escritura

Cuenta

Escritura

Departamento

Lectura

Deposito

Escritura

Detalle_C

Escritura

Detalle_Com

Escritura

Detalle_Coti

Escritura

Detalle_DC

Escritura

Detalle_DP

Escritura

Detalle_V

Escritura

Devolucion_C

Escritura

Devolucion_P

Escritura

Empleado

Lectura

Factura_C

Escritura

Factura_V

Escritura

Gasto_V

Escritura

Grupo

Escritura

Inventario

Escritura

Nivel

Escritura

Orden

Escritura

Orden_Detalle

Escritura

Prestamo

Escritura

Producto

Escritura

Prod_R_Prov

Escritura

Proveedor

Escritura

Provee_Conta

Escritura

Recibo

Escritura

Retiro

Escritura

Retiros

Escritura

Sub_Grupo

Escritura

Tipo_Cliente

Escritura

Vinetas_Conf

Escritura

Polticas de Seguridad de Perfiles


1) El DBA ser la nica persona autorizada para la creacin, edicin, debilitacin y
eliminacin de perfiles.
2) El DBA ser la nica persona autorizada a crear, editar, deshabilitar y eliminar
usuarios.
3) Todo usuario creado debe formar parte de por lo menos un perfil.
4) La clave inicial de cada usuario es definida por el DBA pero el usuario lo tendr
que actualizar el da que reciba sus credenciales.
5) Ningn usuario est permitido en divulgar sus credenciales.
6) La contrasea de todo usuario expira cada 30 das. Todo usuario podr actualizar
su clave antes de los 30 das si se requiere.
7) La clave de todo usuario debe tener una longitud mnima de 8 caracteres
consistiendo de por lo menos una letra mayscula, un nmero y un smbolo. No
se permitirn claves parecidas a claves usadas en el pasado por el mismo
usuario.
8) Toda gestin asociada con la crear, editar, deshabilitar y eliminar perfiles o
usuarios debe quedar documentada con los siguientes datos:
a. Quin solicita la gestin?
b. Fecha de solicitud
c. Usuario o Perfil
d. Tipo de gestin (crear, editar, deshabilitar, eliminar)
e. Duracin de accin (temporal o permanente)
f. Firma de Jefe de rea
g. Firma de DBA
h. Firma de Jefe de RRHH
i. Motivo detrs de la gestin
9) Toda transaccin realizada por cada usuario quedara registrada en los logs de la
base de datos.
10) El DBA recibir un correo despus de que un usuario realice tres intentos
fallidos en validar sus credenciales.
11) Se realizar una auditoria de los accesos de cada perfil y los usuarios que forman
parte de los perfiles cada seis meses para asegurar que los accesos definidos en
el perfil NO son una violacin a los datos confidenciales que deben acceder y
para validar que los usuarios que forman parte de cada perfil son las personas

que realmente deben estar en dichos grupos. Los hallazgos de la auditoria sern
comunicados a la gerencia general y a la gerencia de recursos humanos.
12) Cada perfil tendr un horario definido de acceso a la base de datos y un tiempo
de sesin establecido el cual al vencerse exige que se vuelvan a ingresar las
credenciales del usuario de la sesin.

2. Diagrama Entidad-Relacin
Los datos se estructuran en una o varias tablas donde relacionan uno o varios conjuntos
de datos. Las tablas se pueden modificar fcilmente siguiendo un diseo preestablecido
por los programadores buscando la mejor manera posible de obtener una integridad total
de la informacin.
Las bases de datos con relaciones establecidas entre tablas son ms rpidas y la facilidad
con la que permite transformar el modelo de datos es rpido, la sencillez de la propia
estructura fsica de este tipo de bases de datos y la posibilidad de adaptacin a una serie
de entornos de datos ms amplia.
La base datos de Ferretera Nacional no tiene casi ninguna relacin entre sus tablas,
salvo la relacin que existen entre la tabla Factura_C y la tabla Producto. Por lo que las
consultas a las tablas son lentas. Adems, el usuario, podra eliminar registros sin tener
ningn tipo de restriccin.

3. ndices
Un ndice como bien se sabe, es una estructura de disco asociada con una tabla o una
vista que acelera la recuperacin de filas de la tabla o de la vista. Un ndice contiene
claves generadas a partir de una o varias columnas de la tabla o la vista. Dichas claves
estn almacenadas en una estructura (rbol b) que permite que SQL Server busque de
forma rpida y eficiente la fila o filas asociadas a los valores de cada clave.
Los ndices mal diseados y la falta de ndices constituyen las principales fuentes de
atascos en aplicaciones de base de datos. El diseo eficaz de los ndices tiene gran
importancia para conseguir un buen rendimiento de una base de datos y una aplicacin.
La seleccin de los ndices apropiados para una base de datos y su carga de trabajo es
una compleja operacin que busca el equilibrio entre la velocidad de la consulta y el
costo de actualizacin. Los ndices estrechos, o con pocas columnas en la clave de
ndice, necesitan menos espacio en el disco y son menos susceptibles de provocar
sobrecargas debido a su mantenimiento. Por otra parte, la ventaja de los ndices anchos
es que cubren ms consultas. Puede que tenga que experimentar con distintos diseos
antes de encontrar el ndice ms eficaz. Es posible agregar, modificar y quitar ndices
sin que esto afecte al esquema de la base de datos o al diseo de la aplicacin. Por lo
tanto, no debe dudar en experimentar con ndices diferentes.
A continuacin, se muestra todas las llaves primarias que posee la base de datos, como
se puede observar en la figura, en la cual se ve claramente que solo existen dos ndices,
los cuales corresponden a la tabla FACTURA_C (factura de caja), estos ndices
corresponden a los campos COD_EMPLEADO Y COD_CLIENTE.

Por otra parte, la figura muestra la tabla FACTURA_C, tiene 16 campos, donde se pude
observar claramente que la clase primaria es el campo factura_v. As mismo, se observa
que esta tabla contiene dos campos ndices por medio de los cuales se puede acceder a
la tabla empleado y cliente.
En esta tabla se almacena informacin sobre la factura final, es por ello que existe un
ndice cod_empleado ya que cada factura emitida por un empleado le genera comisin
al empleado. Por otro lado, el cod_cliente se utiliza para verificar compras del cliente.

Partiendo de lo anterior, se procede a crear ndices en tablas que generan el mayor


nmero de transacciones, y por ende el mayor nmero de informacin. Estas tablas son
las siguientes:

DETALLE_C
FACTURA_V
CLIENTE
PRODUCTO

TABLA: DETALLE_C

En esta tabla se procede a crear dos ndices por un lado el cod_facrura y por otro el
cod_producto), con el fin de optimizar las consultas en estas dos tablas. A continuacin,
la figura muestra el script para la creacin de estos ndices.

TABLA FACTURA_V
La figura muestra la estructura de la tabla FACTURA_V, la cual muestra los campos de
la misma, as mismo, se observa que no tiene ningn campo ndice. Por lo que se
procede a crearlos.

A continuacin, la figura muestra el script para la creacin de estos ndices.


TABLA CLIENTES

La figura, muestra la estructura de la tabla CLIENTES la cual muestra los campos de la


misma, as mismo, se observa que no tiene ningn campo ndice. Por lo que se procede
a crearlos.

A continuacin, la figura muestra el script para la creacin de estos ndices.

TABLA PRODCUTOS

La figura, muestra la estructura de la tabla PRODCUTOS la cual muestra los campos de


la misma, as mismo, se observa que no tiene ningn campo ndice. Por lo que se
procede a crearlos

A continuacin, la figura muestra el script para la creacin de estos ndices.

4.
4.
4.
Optimizacin de Consultas
Los ndices bien diseados pueden reducir las operaciones de E/S de disco y consumen
menos recursos del sistema, con lo que mejoran el rendimiento de la consulta. Los
ndices pueden ser tiles para diversas consultas que contienen instrucciones SELECT,
UPDATE, DELETE o MERGE. Cuando se ejecuta la consulta, el optimizador de

consultas evala cada mtodo disponible para recuperar datos y selecciona el mtodo
ms eficiente. El mtodo puede ser un recorrido de la tabla o puede ser recorrer uno o
ms ndices si existen.
A continuacin, se explica el antes y despus de algunos de los procedimientos ms
importantes

Procedure Cliente_Venta
ANTES
FOR SELECT CLIENTES.cod_cliente,factura_c.nombre,
DETALLE_C.cod_produc,DETALLE_C.descripcion,detalle_c.cantidad,
DETALLE_C.precio,DETALLE_C.descuento,DETALLE_C.impuesto,
DETALLE_C.total,detalle_c.precio_compra,factura_C.cod_factv,
factura_c.total,detalle_c.cantidad*detalle_c.precio_compra as toti,
factura_c.fecha
FROM factura_c, clientes,detalle_c
where

factura_c.cod_cliente=clientes.cod_cliente

factura_c.cod_factv=detalle_c.cod_factc

and

factura_c.fecha>=:fecha1

factura_c.fecha<=:fecha2 and factura_c.nullo<>1


INTO :codigo,:nombre,:cod_producto,:descripcion,:cantidad,
:precio,:descuento,:impuesto,:total,:pre,:numero,:total_f,:total_c2,:fecha do
begin
select sum(factura_c.descuento),sum(factura_C.impuesto),sum(factura_C.total)
from factura_c
where factura_c.cod_cliente=:codigo
into :gran_des,:gran_imp,:gran_total;
/* Procedure body */
SUSPEND;

and
and

END

DESPUES
SELECT CLIENTES.cod_cliente,factura_c.nombre,
DETALLE_C.cod_produc,DETALLE_C.descripcion,detalle_c.cantidad,
DETALLE_C.precio,DETALLE_C.descuento,DETALLE_C.impuesto,
DETALLE_C.total,detalle_c.precio_compra,factura_C.cod_factv,
factura_c.total,detalle_c.cantidad*detalle_c.precio_compra as toti,
factura_c.fecha,sum(factura_c.descuento),sum(factura_C.impuesto),sum(factura_
C.total)

FROM
factura_c inner join DETALLE_C on factura_c.cod_factv=detalle_c.cod_factc
inner join clientes on factura_c.cod_cliente=clientes.cod_cliente
group by
CLIENTES.cod_cliente,factura_c.nombre,
DETALLE_C.cod_produc,DETALLE_C.descripcion,detalle_c.cantidad,
DETALLE_C.precio,DETALLE_C.descuento,DETALLE_C.impuesto,
DETALLE_C.total,detalle_c.precio_compra,factura_C.cod_factv,
factura_c.total,detalle_c.cantidad,detalle_c.precio_compra,

factura_c.fecha

El Procedimiento de Clientes Ventas es una de los mas utilizado ya que muestra las
ventas agrupadas por clientes, actualmente se tarda Aprox

0.037s , la instruccin sql

relaciona las tablas por un producto cruz y despus por medio del where relaciona la
informacin.
La sugerencia es aplicar Inner Join y Group by, con estas mejoras el procedimiento
almacenado tiene un tiempo de ejecucin aprox 0.026s reduciendo el tiempo en un 42%

Procedure EMP_Venta
ANTES
BEGIN
FOR

SELECT

EMPLEADO.cod_empleado,EMPLEADO.nombre,EMPLEADO.apellido,
DETALLE_C.cod_produc,DETALLE_C.descripcion,detalle_c.cantidad,
DETALLE_C.precio,DETALLE_C.descuento,DETALLE_C.impuesto,
DETALLE_C.total,detalle_c.precio_compra,factura_C.cod_factv,
factura_c.total,detalle_c.cantidad*detalle_c.precio_compra as toti,
factura_c.fecha

FROM factura_c, EMPLEADO,detalle_c


where factura_c.cod_empleado=empleado.cod_empleado
and empleado.activo=1
and factura_c.cod_factv=detalle_c.cod_factc
and factura_c.fecha>=:fecha1
and factura_c.fecha<=:fecha2
and factura_c.nullo<>1
order by empleado.cod_empleado
INTO :codigo,:NOM,:APELL,:cod_producto,:descripcion,:cantidad,
:precio,:descuento,:impuesto,:total,:pre,:numero,:total_f,:total_c2,:fecha do
begin
NOMBRE=:NOM||' '||APELL;
select sum(factura_c.descuento),sum(factura_C.impuesto),sum(factura_C.total)
from factura_c
where factura_c.cod_empleado=:codigo
and factura_c.fecha>=:fecha1
and factura_c.fecha<=:fecha2
and factura_c.nullo<>1
into :gran_des,:gran_imp,:gran_total;

/* Procedure body */
SUSPEND;
END
END^

DESPUES
SELECT EMPLEADO.cod_empleado,EMPLEADO.nombre,EMPLEADO.apellido,
DETALLE_C.cod_produc,DETALLE_C.descripcion,detalle_c.cantidad,
DETALLE_C.precio,DETALLE_C.descuento,DETALLE_C.impuesto,
DETALLE_C.total,detalle_c.precio_compra,factura_C.cod_factv,
factura_c.total,detalle_c.cantidad*detalle_c.precio_compra as toti,
factura_c.fecha,sum(factura_c.descuento),sum(factura_C.impuesto),sum(factura_
C.total)
FROM
factura_c inner join DETALLE_C on factura_c.cod_factv=detalle_c.cod_factc
inner join EMPLEADO on factura_c.cod_empleado=EMPLEADO.cod_empleado
GROUP BY
EMPLEADO.cod_empleado,EMPLEADO.nombre,EMPLEADO.apellido,
DETALLE_C.cod_produc,DETALLE_C.descripcion,detalle_c.cantidad,
DETALLE_C.precio,DETALLE_C.descuento,DETALLE_C.impuesto,
DETALLE_C.total,detalle_c.precio_compra,factura_C.cod_factv,
factura_c.total,detalle_c.cantidad,detalle_c.precio_compra,
factura_c.fecha

order by empleado.cod_empleado

El Procedimiento de Empleados Ventas es una de los ms utilizado ya que muestra las


ventas agrupadas por Empleados, es necesario para el pago de comisiones, actualmente
se tarda Aprox

0.107s , la instruccin sql relaciona las tablas por un producto cruz y

despus por medio del where relaciona la informacin.


La sugerencia es aplicar Inner Join y Group by, con estas mejoras el procedimiento
almacenado tiene un tiempo de ejecucin aprox 0.028s reduciendo el tiempo en un 73%

Procedure PROV_PROD

ANTES
select proveedor.cod_proveedor,proveedor.nombre_proveedor
,producto.cod_producto,producto.descripcion_larga
,inventario.p_mayorista ,inventario.p_clave
,INVENTARIO.p_venta,INVENTARIO.cantidad

from proveedor,prod_r_prov,producto,inventario
where proveedor.cod_proveedor=prod_r_prov.cod_proveedor

and prod_r_prov.cod_producto=producto.cod_producto
and producto.cod_producto=inventario.cod_producto
order by proveedor.cod_proveedor,producto.cod_producto

DESPUES
select proveedor.cod_proveedor,proveedor.nombre_proveedor
,producto.cod_producto,producto.descripcion_larga
,inventario.p_mayorista ,inventario.p_clave
,INVENTARIO.p_venta,INVENTARIO.cantidad

from

proveedor

INNER

join

prod_r_prov

ON

proveedor.cod_proveedor=prod_r_prov.cod_proveedor
INNER JOIN producto ON prod_r_prov.cod_producto=producto.cod_producto
INNER JOIN

inventario

ON producto.cod_producto=inventario.cod_producto
order by proveedor.cod_proveedor,producto.cod_producto

El Procedimiento de Proveedor Producto es utilizado al momento de seleccionar los


proveedores de los productos, actualmente se tarda Aprox

0.310s, la instruccin sql

relaciona las tablas por un producto cruz y despus por medio del where relacionar la
informacin.
La sugerencia es aplicar Inner Join y Group by, con estas mejoras el procedimiento
almacenado tiene un tiempo de ejecucin aprox 0.088s, reduc

5. Monitoreo de procesos de base de datos


Las preocupaciones sobre la seguridad de bases de datos, los requerimientos de
regulacin y las capacidades ampliadas de los proveedores estn llevando al
surgimiento de una clase de tecnologas que Gartner identifica ahora como herramientas
de auditora y proteccin de bases de datos. Las herramientas de monitoreo de actividad
en bases de datos se estn transformando en suites de auditora y proteccin de bases de
datos. (Wheatman, 2002).
Como lo expresa Wheatman las herramientas de monitoreo permite mantener en
optimas condiciones las bases de datos de las empresas, actualmente la ferreteria
Nacional, no cuenta con ningun metodo de monitoreo para su base de datos, esto
presenta un problema al momento de identificar problemas que se estan dando en el
sistema.

El gestor de datos actual de ferreteria Nacional es Firebird, gestor que actualmente


cuenta con muy pocas ofertas para las empresas de desarrollo de software para su
monitoreo.
Acontinuacion se presenta un ofertante de herramientas para este gestor y posible
proveedor para la ferreteria para obtener un sistema de monitoreo.
IBSurgen

IBSurgeon fue fundada en 2002 con la idea de proporcionar a los


desarrolladores y administradores de InterBase y Firebird con servicios y herramientas
enfocadas a la seguridad de las bases de datos , el rendimiento y la disponibilidad nicas
. En Rusia IBSurgeon es conocido sobre todo como iBase.ru , famoso por su InterBase
ruso y el portal de Firebird
HQbird
HQbird es una distribucin avanzada de firebird para las empresas , con la siguiente
lista de caractersticas :

alta disponibilidad y replicacin,


configuraciones optimizadas ,
automatizacin de copias de seguridad ,
vigilancia de la salud de base de datos ,
las transacciones y consultas de control

( TraceAPI , MON $ y FBScanner ) ,


Anlisis de la estructura de base de
datos
conjunto

de

herramientas

de

recuperacin y desarrollo de interfaz


grfica de usuario de base de datos .
Tambin HQbird incluye una auto - prueba de rendimiento para medir el rendimiento en
el Firebird especfica configuracin de hardware y sistema operativo .
HQBird contiene 2 partes : del lado del servidor y administracin. La parte del lado del
servidor dispone de versiones para Windows y Linux , y la parte de las obras de
administracin en slo Windows .
Hay 3 ediciones de HQbird : Standard, Professional y Enterprise .
Entre las herramientas que nos facilita HQbird encontramos a MonLogger.

HQbird MonLogger es una herramienta para analizar tablas de


salida de monitorizacin en Firebird y encontrar problemas con
consultas SQL lentos , transacciones diseadas errneamente
( operaciones , transacciones con nivel de aislamiento incorrecto, etc larga ejecucin ) e
identificar las aplicaciones problemticas .
MonLogger se puede conectar a la base de datos Firebird con problemas de rendimiento
e identificar cul es la razn de la lentitud .
Aggregated performance statistics for users attachments
En la primera pantalla podemos ver las estadsticas agregadas para las conexiones de
base de datos , e identificar las conexiones con los mayores problemas :

Sequential reads / Indexed reads


Esta pantalla nos muestra la relacin total entre secuencial ( no indexada ) lee y lecturas
indexadas en su aplicacin. Por lo general, el nmero de no indexada lee debe ser baja ,
tan grande por ciento de las lecturas secuenciales es firmar que muchas consultas SQL
tienen planes de ejecucin NATURAL , y que podra ser una razn del tiempo de
respuesta lento .

Attachments
La tercera pestaa es attachments . Puede abrir esta ficha directamente a saltar a ese
punto haciendo clic en uno de los registros en Aggregated performance statistics .

Transactions
Pestaa Transactions muestra las transacciones activas en el momento en que se
tom la instantnea .

Statements
La pestaa Statements se presentan los mensajes activos en el momento de la
instantnea: si tiene que coger todas las declaraciones o FBPerfMon, FBScanner deben
utilizarse (todas estas herramientas forman parte del paquete de optimizacin de
IBSurgeon ) .

6. Respaldos y restauracin de la base de datos


Una computadora, al igual que cualquier otro dispositivo elctrico o mecnico, est
sujeta a fallos. stos se producen por diferentes motivos como: fallos de disco, cortes de
corriente, errores en el software, un incendio en la habitacin de la computadora o
incluso sabotaje. En cada uno de estos casos puede perderse informacin.

Por tanto, el sistema de bases de datos debe realizar con anticipacin acciones que
garanticen que las propiedades de atomicidad y durabilidad de las transacciones, se
preservan a pesar de tales fallos. Una parte integral de un sistema de bases de datos es
un esquema de recuperacin, el cual es responsable de la restauracin de la base de
datos al estado consistente previo al fallo. El esquema de recuperacin tambin debe
proporcionar alta disponibilidad; esto es, debe minimizar el tiempo durante el que la
base de datos no se puede usar despus de un fallo.
Los sistemas de recuperacin de informacin tienen mucho en comn con los sistemas
de bases de datos, en especial, el almacenamiento y la recuperacin de los datos del
almacenamiento secundario.
El campo de la recuperacin de informacin se ha desarrollado en paralelo con el
campo de las bases de datos. En el modelo tradicional usado en el campo de la
recuperacin de informacin, sta se organiza en documentos, dando por supuesto que
existe un gran nmero de documentos. Los datos contenidos en los documentos no estn
estructurados, no tienen ningn esquema asociado. El proceso de recuperacin de
informacin consiste en localizar los documentos importantes, de acuerdo con los datos
suministrados por el usuario, como las palabras clave o los documentos de ejemplo.
En un sistema pueden producirse varios tipos de fallos, cada uno de los cuales requiere
un tratamiento diferente. El tipo de fallo ms fcil de tratar es el que no conduce a una
prdida de informacin en el sistema. Los fallos ms difciles de tratar son aquellos que
provocan una prdida de informacin.

Tipos de fallos:

Fallo en la transaccin.
Hay dos tipos de errores que pueden hacer que una transaccin falle:
Error lgico. La transaccin no puede continuar con su ejecucin normal a
causa de alguna condicin interna, como una entrada incorrecta, datos no
encontrados, desbordamiento o exceso del lmite de recursos.
Error del sistema. El sistema se encuentra en un estado no deseado (por
ejemplo, de interbloqueo) como consecuencia del cual una transaccin no puede
continuar con su ejecucin normal. La transaccin, sin embargo, se puede volver
a ejecutar ms tarde.

Cada del sistema. Un mal funcionamiento del hardware o un error en el


software de la base de datos o del sistema operativo causa la prdida del
contenido de la memoria voltil y aborta el procesamiento de una transaccin. El
contenido de la memoria no voltil permanece intacto y no se corrompe.
La suposicin de que los errores de hardware o software fuercen una parada del
sistema, pero no corrompan el contenido de la memoria no voltil, se conoce
como supuesto de fallo-parada.
Los sistemas bien diseados tienen numerosas comprobaciones internas, al nivel
de hardware y de software, que abortan el sistema cuando existe un error. De
aqu que el supuesto de fallo parada sea razonable.

Fallo de disco. Un bloque del disco pierde su contenido como resultado de una
colisin de la cabeza lectora, o de un fallo durante una operacin de
transferencia de datos. Las copias de los datos que se encuentran en otros discos
o en archivos de seguridad en medios de almacenamiento secundarios, como
cintas, se utilizan para recuperarse del fallo.

Copia de seguridad completa, incremental o diferencial: cmo elegir el tipo


adecuado
Hacer copias de seguridad de los datos slo es una parte de un plan de proteccin contra
los desastres, y si el proceso no se disea y somete a prueba concienzudamente, es
posible que no proporcione el nivel de capacidades de recuperacin de desastres y de
proteccin de datos deseado.
Los tipos de backup ms corrientes son

el backup completo,
el backup incremental
y el backup diferencial.

Existen otros tipos de backup, como el backup completo sinttico, la copia en


espejo, el backup incremental inverso y la proteccin de datos continua (CDP).
Backups completos

El tipo de operacin de backup ms bsico y completo es el backup completo. Como su


propio nombre indica, este tipo de backup copia la totalidad de los datos en otro
juego de soportes, que puede consistir en cintas, discos, o en un DVD o CD. La
ventaja principal de la realizacin de un backup completo en cada operacin es que se
dispone de la totalidad de los datos en un nico juego de soportes. Esto permite
restaurar los datos en un tiempo mnimo, lo cual se mide en trminos de objetivo de
tiempo de recuperacin (RTO). No obstante, el inconveniente es que lleva ms tiempo
realizar un backup completo que de otros tipos (a veces se multiplica por un factor 10 o
ms), y requiere ms espacio de almacenamiento.
Por lo tanto, slo se suelen realizar backups completos peridicamente. Los centros de
datos que manejan un volumen de datos (o de aplicaciones crticas) reducido pueden
optar por realizar un backup completo cada da, o ms a menudo an en ciertos casos.
Lo normal es que en las operaciones de backup se combine el backup completo con
backups incrementales o diferenciales.

Backups incrementales

Una operacin de backup incremental slo copia los datos que han variado desde la
ltima operacin de backup de cualquier tipo. Se suele utilizar la hora y fecha de
modificacin estampada en los archivos, comparndola con la hora y fecha del ltimo
backup. Las aplicaciones de backup identifican y registran la fecha y hora de realizacin
de las operaciones de backup para identificar los archivos modificados desde esas
operaciones.
Como un backup incremental slo copia los datos a partir del ltimo backup de
cualquier tipo, se puede ejecutar tantas veces como se desee, pues slo guarda los
cambios ms recientes. La ventaja de un backup incremental es que copia una menor
cantidad de datos que un backup completo. Por ello, esas operaciones se realizan ms
deprisa y exigen menos espacio para almacenar el backup.
Backups diferenciales
Una operacin de backup diferencial es similar a un backup incremental la primera vez
que se lleva a cabo, pues copiar todos los datos que hayan cambiado desde el backup
anterior. Sin embargo, cada vez que se vuelva a ejecutar, seguir copiando todos los

datos que hayan cambiado desde el anterior completo. Por lo tanto, en las operaciones
subsiguientes almacenar ms datos que un backup incremental, aunque normalmente
muchos menos que un backup completo. Adems, la ejecucin de los backups
diferenciales requiere ms espacio y tiempo que la de los backups incrementales, pero
menos que la de los backup completos.
Cada tipo de backup funciona de forma diferente. Hay que realizar un backup completo
al menos una vez. Despus, se puede realizar otro backup completo, incremental o
diferencial. El primer backup parcial realizado, ya sea diferencial o incremental,
guardar los mismos datos. En la tercera operacin de backup, los datos copiados con
un backup incremental se limitan a los cambios desde el ltimo incremental. En cambio,
el tercer backup con backup diferencial copia todos los cambios desde el primer backup
completo, que es el backup 1.

Completo diario
Completo semanal + Diferencial diario
Completo semanal + Incremental diario

En la eleccin de la estrategia de backup ptima hay que sopesar numerosas


consideraciones. Normalmente, cada alternativa y opcin estratgica tiene sus ventajas e
inconvenientes en trminos de rendimiento, niveles de proteccin de los datos, cantidad
total de datos conservados, y costo.

A continuacin se indican las necesidades tpicas de capacidad y soportes de


recuperacin de las tres estrategias de backup.
Esos clculos se basan en un volumen total de datos de 20 TB, con una variacin diaria
del 5% de los datos, y sin incremento del almacenamiento total durante el periodo
considerado. Los clculos se basan en un supuesto de 22 das hbiles al mes y de un
periodo de conservacin de los datos de un mes.
Impacto de las estrategias de backup en las necesidades de espacio

Guiones de backup corrientes

Espacio de soporte necesario para un mes (20 TB @ tasa de variacin diaria del 5%)
Soportes necesarios para la recuperacin
Completo diario (das laborables)
Espacio para 22 backups diarios completos (22 * 20 TB) = 440.00 TB
Backup ms reciente solamente
Completo (semanal) + Diferencial (das laborables)
Completos, ms el diferencial ms reciente desde el ltimo completo
(5 * 20 TB) + (22 * 5%* 20 TB) = 124.23 TB
Completo ms reciente + diferencial ms reciente
Completo (semanal) + Incremental (das laborables)
Completos, ms todos los incrementales desde el ltimo completo semanal
(5 * 20 TB) + (22 * 5% * 20 TB) = 122.00 TB
Completo ms reciente + todos los incrementales desde el ltimo completo
Como se puede observar en la tabla, lo que ms cantidad de espacio y ms tiempo
requiere es realizar un backup completo diario. Sin embargo, se dispone de ms copias
totales de los datos, y para realizar una operacin de restauracin hay que recurrir a
menos soportes.
Alternativamente, la realizacin de un backup completo semanal combinado con la
ejecucin de backups incrementales diarios ofrece la mayor rapidez de realizacin de
los backups en das laborables y utiliza la menor cantidad de espacio de
almacenamiento. Sin embargo, se dispone de menos copias de los datos y la
restauracin lleva ms tiempo, pues es posible que haya que utilizar hasta seis juegos de
soportes para recuperar la informacin necesaria. Si se necesitan datos de la copia de
seguridad de un mircoles, hay que recurrir a los juegos de soportes que contienen el
backup completo del domingo, ms los juegos de soportes que contienen los backups
incrementales del lunes, el martes y el mircoles. Esto puede prolongar
espectacularmente los tiempos de recuperacin, y exige que cada juego de soportes
funcione correctamente; un fallo en un juego de backup puede comprometer toda la
restauracin.

La ejecucin de un backup completo semanal ms backups diferenciales diarios ofrece


resultados intermedios entre las otras alternativas. Concretamente, para restaurar los
datos hacen falta ms juegos de soportes de backup que con una poltica de backup
diario completo, pero menos que con una poltica de backup diario incremental.
Adems, el tiempo de restauracin es menor que cuando se utilizan backups diarios
incrementales, y mayor que con backups diarios completos. Para restaurar los datos de
un da concreto, hay que recurrir a un mximo de dos juegos de soportes, lo cual reduce
el tiempo necesario para la recuperacin y los problemas potenciales planteados por un
juego de backup ilegible.
Firebird

Firebird es un sistema de administracin de base de datos relacional (o RDBMS)


(Lenguaje consultas: SQL) de cdigo abierto, basado en la versin 6 de Interbase, cuyo
cdigo fue liberado por Borland en 2000. Su cdigo fue reescrito de C a C++.
Firebird sigue siendo un proyecto de cdigo abierto bajo una licencia similar a la MPL
(Mozilla Public License).
La distribucin de Firebird contiene una utilidad para respaldar y recuperar sus bases de
datos. Su nombre es gbak y se puede hallar en el subdirectorio bin de su instalacin de
Firebird. Las bases de datos de Firebird se pueden respaldar mientras hay usuarios
conectados al sistema haciendo su trabajo normal. El respaldo ser tomado de una
instantnea del estado de la base de datos al momento de comienzo del mismo.
Hacer respaldos regularmente y ocasionales restauraciones usando gbak deberan ser
tareas programadas de su actividad de administracin de bases de datos.
GBAK - Firebird Backup y Restauracin

GBAK es una herramienta de Firebird en lnea de comandos para copia de seguridad y


restauracin de una base de datos completa.

GBAK es capaz de realizar una copia de seguridad mientras la base de datos se est
ejecutando. No hay necesidad de cerrar la base de datos durante una copia de seguridad
GBAK. GBAK crear una instantnea coherente de la base de datos en el momento en
que comienza a funcionar.
Sin embargo puede haber una caida de la performance durante la copia de seguridad,
por lo que es una buena idea hacer copias de seguridad por la noche.GBAK visita todas
las pginas de la base de datos, por lo que tambin llevar a cabo una recoleccin de
basura en la base de datos.
GBAK no solamente hace un backup, tambin mejora el rendimiento de la Base de
Datos restaurada. O sea que al ejecutar GBAK:
Realizas el backup
Al restaurar tu backup, tambin usando para ello el programa GBAK obtienes:
Una Base de Datos sin basura
Unos ndices perfectos
Un menor tamao de la Base de Datos
Mayor velocidad
Sintaxis general
gbak -user -password
PARA BAKUPS:

gbak -user -password Base_Datos Fichero_Backup

Base_Datos: Nombre de la base de datos sobre la que desea una copia de seguridad
Fichero_Backup: Nombre del archivo de copia de seguridad.
La extensin normal del archivo de copia de seguridad. FBK de Firebird y Gbk para
InterBase.

Slo SYSDBA o el propietario de la base puede realizar una copia de seguridad. Para

bases de datos de varios archivos, slo se especifica el nombre del primer archivo que
tiene el mismo nombre de base de datos.
PARA RESTAURAR:
gbak -user -password Fichero_Backup Base_Datos

Fichero_Backup: Nombre del archivo de copia de seguridad.


Base_Datos: Nombre de la base de datos sobre la que desea una copia de seguridad.
Para restauraciones, es el archivo de copia de seguridad y es el nombre de la base de
datos que se va a construir desde el archivo de copia de seguridad. Usted tendr que
especificar la opcin -C para la restauracin.

Existen diferentes opciones de Backup

-b[ackup_database]

Copias de seguridad. La opcion es opcional.

-co[nvert]

Convierte tablas externas a las tablas internas

-e[xpand]

Crea una copia de seguridad sin comprimir

-fa[ctor] n

Factor de bloqueo de dispositivo de cinta

-g[arbage collect]

No realiza la recoleccin de basura durante copia de


seguridad, por lo que la copia de seguridad ser ms rpida.
Puedes hacer un plan para restaurar o un barrido de todas
formas despus de la copia de seguridad.

-ig[nore]

Pasa por alto los errores de control, mientras se realiza la


copia de seguridad

-l[imbo]

Ignora las transacciones en el limbo mientras ser realiza la


copia de seguridad

-m[etadata]

Slo realiza una copia de seguridad / restaurar de los

metadatos (esquema).
-nt

Las tablas no se restauraran.


Formato no transportable (Esta opcion se usa para cuando se
sabe que la copia se va a restaurar en la misma plataforma y
la versin base de datos)

-t[ransportable]

Crea una copia de seguridad transportable (Transportable


entre plataformas y versiones de servidor).
Este es el valor predeterminado.

Restore Options

-bu[ffers]

Establecer el tamao del cach de base de datos


restaurada

-c[reate_database]

Restaurar a una nueva base de datos (la base de datos

-fix_fss_d[ata]

archivo de destino NO DEBE existir)


Reparacin de datos incorrectos durante la restauracin

-fix_fss_m[etadata]

UNICODE_FSS [Firebird 2.5]


Reparacin de datos incorrectos UNICODE_FSS durante la

-i[nactive]
-k[ill]
-m[etadata]

restauracin [Firebird 2.5]


Pone todos los ndices en INACTIVO
No crea sadows definidas en la copia de seguridad
Slo devuelve los metadatos (esquema). No devuelve los

-mo[de] read_write

datos de las tablas.


Restaura la base de datos para lectura/escritura. (Este es el
valor predeterminado)

-mo[de] read_only
-n[o_validity]

Restaura una base de datos en modo slo lectura


No restaura las restricciones (validity constraints). As que
usted puede restaurar los datos que no cumpla con estas

-o[ne_at_a_time]

restricciones y que de lo contrario no se podan restaurar.


Por lo general, la restauracin se realiza en una sola
transaccin para la base de datos completa. Este comando
pone una confirmacin despus de cada tabla.As que usted
puede usar esto para restaurar parcialmente las bases de

-p[age_size]

datos de de tablas corruptas.


Establecer el tamao del cach de base de datos restaurada
Ajusta el tamao de pgina de la nueva base de datos.puede
ser uno de 1024, 2048, 4096, 8192. El valor predeterminado

-r[eplace_database]

es 1024.
Restaura a travs de una base de datos existente. Esto slo
puede ser realizado por SYSDBA o el propietario de la base
de datos que se sobrescribe. NO restaurar sobre una base de

-rep[lace_database]

datos que este en uso! [Firebird 1.0, 1.5]


Nueva abreviatura de la antigua -replace_database [Firebird

-r[ecreate_database]

2.0]
[Firebird 2.0] Restaura sobre una base de datos

o[verwrite]

existente. Esto slo puede ser realizada por SYSDBA o el


propietario de la base de datos que se sobrescribe.NO
restaurar sobre una base de datos que est en uso!
-r es equivalente a -c. La opocion "sobreescribir" restaurar

-use_[all_space]

a travs de una base de datos existente.


Normalmente, durante la restauracin, pginas de base de
datos ser aproximadamente igual al 80%. Con la opcin
use_all_space, las pginas de la base de datos se llenan al
100%. (tiles para bases de datos de slo lectura que se
prevea ninguna modificacin ms.)

Ejemplos

Un Backup comun

gbak -v -t -user SYSDBA -password "masterkey" dbserver:/db/warehouse.fdb


c:\backups\warehouse.fbk

Un Restore comn

gbak -c -v

-user

SYSDBA

dbserver:/db/warehouse2.fdb

-password

masterkey

c:\backups\warehouse.fbk

Restaurar un base de datos ya existente (Firebird 1.0, 1.5)

gbak -c

-r -v

-user

SYSDBA -password

masterkey

c:\backups\warehouse.fbk

dbserver:/db/warehouse.fdb

Crear un base de datos de solo lectura

gbak -c -v -mode read_only -use_all_space -user SYSDBA -password masterkey


c:\backups\warehouse.fbk c:\files\warehousedb.fdb

Backups en Multiples-ficheros
Restauracin de una base de datos de varios archivos

gbak -c [options] ...


NOTA: no especifique un tamao para el archivo de base de datos anterior. Siempre
puede

crecer

sin

lmite

tomar

el

resto.

El tamao puede ser dado en bytes (8192), kilobytes (1024k), megabytes (5m), o
gigabytes

(2

g)

Restauracin a partir de una copia de seguridad de varios archivos a una base de datos
de varios archivos
gbak -c [options] ... ...
Para recuperar una base de datos corrupta se debe hacer esto
1.- gfix -user SYSDBA -password masterkey nombre_base_datos.gdb -mend full -ignore
Esto hace a la base de datos apta para sacar un respaldo con gbak , esto es
para tener una copia de seguridad de la base de datos
2.- gfix -user SYSDBA -password masterkey nombre_base_datos.gdb -v -f

Esto verifica y repara full la base de datos

EJEMPLO
Opcin 1. Copiarla totalmente. Con todos sus metadatos y todos sus datos

Captura 1. Si haces clic en la imagen la vers ms grande


Para realizar un backup debemos elegir la opcin Services y luego la opcin Backup
Database

Captura 2. Si haces clic en la imagen la vers ms grande

Captura 3. Si haces clic en la imagen la vers ms grande

Captura 4. Si haces clic en la imagen la vers ms grande


Cuando el proceso finalice tendrs tu backup, en la carpeta y con el nombre que le
indicaste en la Captura 2.
Opcin 2. Copiar solamente los metadatos. Es decir, su estructura
Para conseguir esto, en la Captura 3. marcamos la entrada: Backup metadata only

Opcin 3. Copiar todos los metadatos y el contenido de algunas tablas


Para este caso lo mejor es crear un archivo de script con el contenido completo de la
Base de Datos y luego eliminar lo que no nos interesa, modificar lo que queremos
cambiar, y dejar como est a lo dems.

Captura 5. Si haces clic en la imagen la vers ms grande


Aqu, primero hacemos clic con el botn derecho sobre nuestra Base de Datos, luego
elegimos la opcin Tasks y luego la opcin Extract Database

Captura 6. Si haces clic en la imagen la vers ms grande

Captura 7. Si haces clic en la imagen la vers ms grande

Captura 8. Si haces clic en la imagen la vers ms grande


La Captura 8. solamente la veremos si en la Captura 6. no habamos marcado la
opcin Extract all metadata and data of de database. Si marcamos esa opcin
despus de la Captura 7. pasaremos directamente a la Captura 9.

Captura 9. Si haces clic en la imagen la vers ms grande

Captura 10. Si haces clic en la imagen la vers ms grande


En la Captura 10. puedes elegir cuales objetos te interesa extraer. Puedes extraerlos a
todos o solamente a algunos de ellos.

Captura 11. Si haces clic en la imagen la vers ms grande


En la Captura 11. Tienes la posibilidad de extraer los datos de solamente algunas tablas
(como es el caso de este ejemplo), extraer los datos de todas las tablas, o extraer los
datos de las tablas seleccionadas en la Captura 10.

Captura 12. Si haces clic en la imagen la vers ms grande

Captura 12. Si haces clic en la imagen la vers ms grande


Y finalmente, para que empiece el proceso de generar el archivo de script hacemos clic
sobre el botn Run
Ese archivo generado es un archivo de texto, puedes realizar cualquier cambio que
quieras en l.

VII. CONCLUSIONES Y RECOMENDACIONES


Recomendaciones
1. Instruir al Gerente de Tecnologa de la Informacin para que realice una revisin
completa de la base de datos que mantiene Ferretera Nacional con la finalidad
de aplicar los controles correspondientes para asegurar la integridad,
confiabilidad y exactitud de la informacin procesada y almacenada en la base
de datos y as contar con registros confiables en futuras revisiones por el ente
fiscalizador del Estado.

Conclusiones
2. Revisar las Base de Datos para darle un mantenimiento a los registros que tienen
ms de 5 aos, trasladarlos a una Base Histrica, de esta manera la base de datos
actual tendra un mejor rendimiento.
3. Creacin de Llaves forneas junto con los ndices antes mencionados
4. Redisear los procedimientos almacenando, reemplazando los productos cruz
por inner join, (se demostr que mejoran los tiempos hasta un 70%).

VIII. BIBLIOGRAFA

SILBERSCHATZ, A., HENRY F., K., & S., S. (2006). Fundamentos de Base de Datos.
Madrid: McGraw-Hill.
Wheatman, J. (2002). El monitoreo de la actividad en bases de., (pg. 8).

You might also like