viernes, 8 de marzo de 2013

Actividad #15 & #16

PARTICIONES
Cuando hablamos de particiones estamos hablando de dividir un disco duro en varias partes, cada una de las cuales se comportará como si fuera un disco duro independiente de los demás. L os sistemas operativos no trabajan con unidades físicas directamente, sino con unidades lógicas que reciben el nombre de particiones. Por regla general al instalar un nuevo sistema operativo una sola partición ocupará toda la superficie del disco. Sin embargo, es muy interesante tener más de una partición para, por ejemplo, hacer una copia de seguridad de nuestros datos. Para ello, el sistema operativo simula un segundo disco aunque físicamente solo dispongamos de uno.

Las particiones pueden ser de dos tipos:
1.     Partición primaria. Es la partición desde la que puede arrancar el sistema operativo. Para que esto sea posible, esta partición debe estar marcada como partición activa.

2.     Partición extendida. Es la p artición que no puede contener los archivos necesarios para arrancar el sistema y que puede ser subdividida en unidades lógicas. Este tipo de particiones sirven para guardar ficheros. En esta partición extendida se crean las unidades lógicas.

SISTEMA DE ARCHIVOS Un sistema de archivos es una estructura que permite tanto el almacenamiento, organización jerárquica, manipulación, navegación, acceso y consulta de datos de en una partición, como su modificación y recuperación.
Para que una partición pueda ser utilizada, es necesario asignarle previamente un sistema de archivos. Esta operación se denomina dar formato a una partición .
Normalmente, cada sistema de archivos ha sido diseñado para obtener el mejor rendimiento de un sistema operativo concreto, pero sin embargo, es muy normal que un sistema operativo reconozca varios tipos de sistemas de archivos.

Los sistemas de archivos más comunes:
FAT (File Allocation Table, tabla de asignación de archivos)
Este sistema de archivos se basa en un índice en el que se hace referencia a los datos que hay en un disco duro, y a la situación de los mismos.

Este sistema es compatible con la mayoría de sistemas operativos, pero también posee una serie de limitaciones como por ejemplo que el tamaño máximo de la partición es de 2 GB, que solo admite nombres de archivos cortos, una elevada fragmentación de los archivos debido a un tamaño del cluster demasiado grande, etc. Es el sistema de archivos típico de DOS.
VFAT (Virtual FAT)
Este sistema de archivos es una mejora del anterior con el que se logra ampliar el límite de los nombres de archivos y directorios de 8 a 255 caracteres entre el nombre y la extensión.

FAT32 (FAT de 32 bits)
Nos permite trabajar con particiones mayores de 2 GB. Además, el tamaño del cluster es mucho menor, con lo que la fragmentación de los archivos disminuye, el sistema no se ralentiza tanto y no se desperdicia tanto espacio como ocurría en las particiones FAT.

Este sistema de archivos lo podemos encontrar en Windows95 (no en sus primeras versiones) pero sobre todo a partir de Windows 98, por lo que hay que tener en cuenta que versiones anteriores de Windows y MS-DOS no pueden acceder a los datos almacenados en una partición FAT32.
NTFS (New Technology File System, sistema de archivos de nueva tecnología)
Este es el sistema de archivos nativo de Windows NT, que además de ser muy eficiente y robusto, permite controlar el acceso a archivos o directorios utilizando todas las características de seguridad y protección de archivos de Windows NT. NTFS es recomendable para particiones grandes, ya que las estructuras del sistema consumen gran cantidad de espacio. Además, podemos definir el tamaño del cluster a partir de 512 bytes (tamaño de un sector) de forma independiente al tamaño de la partición. De esta manera se evita la fragmentación y hay un menor desaprovechamiento del disco, lo que hace de este sistema de archivos el sistema ideal para las particiones de gran tamaño requeridas en ordenadores de gran capacidad y servidores.

Es el sistema de archivos empleado en Windows NT, Windows 2000, Windows XP y Windows 2003.
HPFS (High Performance File System, sistema de archivos de alto rendimiento)
Es el sistema de archivos propio de OS/2. Utiliza una estructura muy eficiente para organizar los datos en las particiones, ya que no utiliza clusters, sino que directamente los organiza en sectores del disco (que equivalen a un cluster de 512 bytes).

EXT2 (second extended filesystem o "segundo sistema de archivos extendido")
Es un sistema de archivos mucho más avanzado que el FAT de windows. Este sistema de archivos tiene soporte de corrección y detección de errores, compresión de archivos, menor fragmentación de los archivos y una velocidad de acceso a los datos muy superiores, aunque para ello tiene que utilizar más memoria.
El ext2 tiene una unidad similar al cluster, llamada bloque, y que es, por lo general de 1K, independiente del tamaño de la partición y con un tamaño que puede ser modificado por el usuario, lo cual asegura un aprovechamiento eficaz del espacio libre con archivos pequeños.

Ext3 ( third extended filesystem o "tercer sistema de archivos extendido") Es una versión mejorada de ext2 en la que se incorpora un registro por diario (en inglés journaling), que se utiliza para mantener la consistencia en el sistema.

EXT3 posee una serie de mejoras con respecto a EXT2 como por ejemplo:

·         Permite migrar del sistema de archivos EXT2 sin necesidad de reformatear el disco.

·         Puede ser montado y usado como un sistema de archivos EXT2.

·         Proporciona una integridad superior de los datos si se produce un cierre incorrecto del sistema.

·         El registro por diario permite optimizar el movimiento de los cabezales de los discos duros aumentando la velocidad de escritura/lectura de los datos.


BITACORA
QUE ES UNA BITÁCORA:
Herramienta que permite registrar, analizar, detectar y notificar eventos que sucedan en cualquier sistema de información utilizado en las organizaciones. La estructura más ampliamente usada para grabar las modificaciones de la base de datos.
Una bitácora permite guardar las transacciones realizadas sobre una base de datos en específico, de tal manera que estas transacciones puedan ser auditadas y analizadas posteriormente.
Pueden obtenerse datos específicos de la transacción como son la Operación que se realizo, el Usuario de BD y Windows, Fecha, Maquina y Programa.
BENEFICIOS
·         No se requiere hacer cambios en los sistemas de producción para la implementación de la bitácora.
·         A través de la parametrización se generan las pantallas de consulta y reportes sin necesidad de programar.
·         Acceso a la bitácora a través de una aplicación WEB.
·         Control de Acceso a la información de la bitácora a través de Roles.
·         Se puede implementar en los sistemas de información que utilicen las principales bases de datos del mercado:
·         ORACLE, SQL SERVER,
·         INFORMIX, SYBASE.
·         Permite hacer el seguimiento de todos los cambios que ha tenido un registro.
·         Registra información acerca de eventos relacionados con el sistema que la genara.
·         Reduce riesgos operacionales por cambios no autorizados.
·         Se envían alertas cuando se realizan cambios a la configuración del sistema, permitiendo corregir a tiempo malas configuraciones.
·         Permite dar el seguimiento a cada una de las alertas generadas de acuerdo a los parámetros establecidos por el usuario.
La estructura más ampliamente usada para grabar las modificaciones de la base de datos es la Bitácora.
Cada registro de la bitácora escribe una única escritura de base de datos y tiene lo siguiente:
  1. Nombre de la transacción: Nombre de la transacción que realizó la operación de escritura.
  2. Nombre del dato: El nombre único del dato escrito.
  3. Valor antiguo: El valor del dato antes de la escritura.
  4. Valor nuevo: El valor que tendrá el dato después de  la escritura.
Existen otros registros de bitácora especiales para grabar sucesos importantes durante el proceso de transacción tales como :
< T1, inicio >
< T1, x, v1, v2 >
< T1, commit >
Es fundamental que siempre se cree un registro en la bitácora cuando se realice una escritura antes de que se modifique la base de datos.
También tenemos la posibilidad de deshacer una modificación que ya se ha escrito en la base de datos, esto se realizará usando el campo del valor antiguo de los registros de la bitácora.
Los registros de la bitácora deben residir en memoria estable como resultado el volumen de datos en la bitácora puede ser exageradamente grande.
Una bitácora puede registrar mucha información acerca de eventos relacionados con el sistema que la genera los cuales pueden ser:
  • Fecha y hora.
  • Host origen.
  • Usuario.
  • Actividad realizada.
La importancia de las bitácoras es la de recuperar información ante incidentes de seguridad, detección de comportamiento inusual, información para resolver problemas, evidencia legal, es de gran ayuda en las tareas de cómputo forense.
TIPOS DE BITACORA
}  El sistema guarda diferentes tipos de registros en la bitácora,  dependiendo del evento ocurrido en la BD.
}  Por ejemplo:
}  Un “registro de actualización” describe una escritura única en la BD y tiene los campos:
      ID_Transacción.
      ID_elemento_datos.
      Valor anterior.
      Valor nuevo.
}  Otros registros indican eventos especiales como: inicio de transacción, éxito o fracaso de la misma. Una posible vista de la bitácora puede ser:

EJEMPLO EN MYSQL
Ejemplo de una bitácora desarrollada para la siguiente base de datos de MySQL, llamada proyecto, que tiene las tablas carrera, departamento y maestros.
CREATE DATABASE proyecto;
USE proyecto
CREATE TABLE IF NOT EXISTS `carrera` (`clave_carrera` int(11) NOT NULL, `nom_carrera` varchar(20) NOT NULL, `num_depto` int(11) NOT NULL, PRIMARY KEY (`clave_carrera`), KEY `num_depto` (`num_depto`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `departamento` ( `num_departamento` int(11) NOT NULL,`nombre_dept` varchar(20) NOT NULL, `jefe_num_tarjet` int(11) NOT NULL, PRIMARY KEY (`num_departamento`), KEY `jefe_num_tarjet` (`jefe_num_tarjet`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `maestros` (`num_tarjeta` int(11) NOT NULL DEFAULT ’0,`nombre` varchar(50) DEFAULT NULL, PRIMARY KEY (`num_tarjeta`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;
La estructura de la tabla bitácora sería la siguiente:
CREATE TABLE IF NOT EXISTS `bitacora` (`id` int(11) NOT NULL AUTO_INCREMENT, `operacion` varchar(10) DEFAULT NULL, `usuario` varchar(40) DEFAULT NULL, `host` varchar(30) NOT NULL, `modificado` datetime DEFAULT NULL, `tabla` varchar(40) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
La bitácora debe registrar todos los movimientos (insertar, eliminar y modificar) que se realicen en las tablas de la base de datos. Para lograr lo anterior es necesario crear un trigger para que se ejecute después de la operación de insertar, otro para después de eliminar y el último para después de modificar para cada una de las 3 tablas de la base de datos. Los nueve triggers necesarios para que funcione la bitácora son los siguientes:
DROP TRIGGER IF EXISTS `bit_carr_ins`;
DELIMITER //
CREATE TRIGGER `bitacora` AFTER INSERT ON `carrera`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “INSERTAR”, NOW(), “CARRERA”)
//
DROP TRIGGER IF EXISTS `bit_carr_upd`;
CREATE TRIGGER `bit_carr_upd` AFTER UPDATE ON `carrera`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “ACTUALIZAR”, NOW(), “CARRERA”)
//
DROP TRIGGER IF EXISTS `bit_carr_del`;
CREATE TRIGGER `bit_carr_del` AFTER DELETE ON `carrera`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “ELIMINAR”, NOW(), “CARRERA”)
//
DROP TRIGGER IF EXISTS `bit_depto_ins`;
CREATE TRIGGER `bit_depto_ins` AFTER INSERT ON `departamento`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “INSERTAR”, NOW(), “DEPARTAMENTO”)
//
DROP TRIGGER IF EXISTS `bit_depto_upd`;
CREATE TRIGGER `bit_depto_upd` AFTER UPDATE ON `departamento`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “ACTUALIZAR”, NOW(), “DEPARTAMENTO”)
//
DROP TRIGGER IF EXISTS `bit_depto_del`;
CREATE TRIGGER `bit_depto_del` AFTER DELETE ON `departamento`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “ELIMINAR”, NOW(), “DEPARTAMENTO”)
//
DROP TRIGGER IF EXISTS `bit_mae_ins`;
CREATE TRIGGER `bit_mae_ins` AFTER INSERT ON `maestros`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “INSERTAR”, NOW(), “MAESTROS”)
//
DROP TRIGGER IF EXISTS `bit_mae_upd`;
CREATE TRIGGER `bit_mae_upd` AFTER UPDATE ON `maestros`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “ACTUALIZAR”, NOW(), “MAESTROS”)
//
DROP TRIGGER IF EXISTS `bit_mae_del`;
CREATE TRIGGER `bit_mae_del` AFTER DELETE ON `maestros`
FOR EACH ROW INSERT INTO bitacora(host, usuario, operacion, modificado, tabla) VALUES (SUBSTRING(USER(), (INSTR(USER(),’@')+1)), SUBSTRING(USER(),1,(instr(user(),’@')-1)), “ELIMINAR”, NOW(), “MAESTROS”)
//
El resultado que se espera de la bitácora se muestra en la siguiente imagen.
REFERENCIAS
http://recursostic.educacion.es/observatorio/web/ca/equipamiento-tecnologico/hardware/362-eduardo-e-quiroga

jueves, 7 de marzo de 2013

Partición de disco, su importancia y como particionar un disco



¿Que es una particion de disco?
Es un espacio de uso que asignamos en un disco duro. En cada disco duro podremos hacer varias particiones, de tal modo que todas ellas son en cierto modo independientes entre sí y podemos trabajar de manera individual sobre cada una, es decir, los datos que introduzcamos en una de ellas no afectan al espacio de las otras, si borramos los datos de una las demás no sufren variaciones, etc.
A efectos de empleo en un ordenador con un solo disco duro, si desde windows abrimos Mi PC y solo vemos una letra de disco (generalmente C), podemos entender que “para nuestro uso”, ese disco solo cuenta con una partición, si contásemos por ejemplo con dos letras (C y D) tendríamos dos particiones en ese disco.
Las particiones son un detalle importante a tener en cuenta en nuestros ordenadores, pues nos van a permitir por ejemplo:
  • Tener instalado el sistema operativo, drivers, programas, etc., en la primera partición.
  • Guardar archivos personales, música, películas, fotografías, etc., en la segunda partición.
Además de permitirnos tener organizada nuestra información, si llegado el caso tenemos que formatear el equipo (borrar y volver a instalar todo), solo borraríamos C y No perderíamos lo que se encuentre en D, que en este caso sería la segunda partición.

IMPORTANCIA
Son dos los motivos fundamentales por los que se han de realizar particiones en un disco o bien disponer físicamente de al menos dos de ellos.

En primer lugar, permitirá mantener los datos personales en un lugar independiente a donde se encuentra el sistema operativo. En caso de que éste no pueda arrancar, será mucho más fácil acceder a ellos.

Por otro lado, el acceso a los datos es más rápido y las operaciones sobre los discos que efectúe el programa que se estén utilizando se realizarán de forma más eficaz.

Se pueden realizar las particiones durante la instalación del sistema operativo o bien con alguna herramienta de particionado como la que se incluye en Windows Vista dentro de Panel de control/Herramientas administrativas/Administración de equipos/Administración de discos.
  • Algunos sistemas de tienen tamaños máximos más pequeños que los que el tamaño que proporciona un disco, siendo necesaria una partición de tamaño pequeño, para que sea posible el adecuado funcionamiento de este antiguo sistema de archivos.
  • Se puede guardar una copia de seguridad de los datos del usuario en otra partición del mismo disco, para evitar la pérdida de información importante. Esto es similar a un RAID, excepto en que está en el mismo disco.
  • En algunos sistemas operativos aconsejan más de una partición para funcionar, como por ejemplo, la partición de intercambio (swap) en los sistemas operativos basados en Linux
  • A menudo, dos sistemas operativos no pueden coexistir en la misma partición, o usar diferentes formatos de disco “nativo”. La unidad se particiona para diferentes sistemas operativos.
  • Uno de los principales usos que se le suele dar a las particiones (principalmente a la extendida) es la de almacenar toda la información del usuario (entiéndase música, fotos, vídeos, documentos), para que al momento de reinstalar algún sistema operativo se formatee únicamente la unidad que lo contiene sin perder el resto de la información del usuario.
A lo largo de los años han aparecido numerosos sistemas de particionamiento, para casi todas las arquitecturas de ordenadores existentes. Muchos son relativamente transparentes y permiten la manipulación conveniente de las particiones de disco; algunos, sin embargo, son obsoletos.

COMO PARTICIONAR UN DISCO
Para comenzar insertamos en la unidad de CD el disco de instalación de Windows XP (que es el que vamos a usar para este manual) y arrancamos el Ordenador. Si la Bios esta bien configurada arrancará directamente desde el CD y nos aparece la siguiente ventana donde pulsaremos sobre Enter
Nos aparece el contrato de licencia y para Aceptar pulsamos sobre F8. A continuación el ordenador detectará nuestro disco duro y como vamos a crear una partición nueva pulsamos la letra C
En la siguiente ventana veremos por un lado la capacidad total en Megas de nuestro disco y en la línea inferior será donde escribiremos la cantidad de megas que queremos para la partición. Para no romperos demasiado la cabeza la partición la haremos de la mitad de la capacidad del disco. Si el disco es de 100 gigas asignamos a la partición 50

Una vez que hemos creado la partición nos aparece la siguiente ventana donde instalaremos el Sistema Operativo en la nueva partición , y pulsamos enter para instalar Windows donde hemos seleccionado.

A continuación formateamos la partición con el sistema de archivos que mas nos guste FAT o NTFS, yo acostumbro a hacerlo en NTFS, pero eso va en gustos.

Acabado el proceso de formateo de la partición que nos llevara unos cuantos minutos, dependiendo de la capacidad del disco duro comenzará la instalación de Windows.

Si todo ha salido bien ya tenemos instalado Windows XP en la partición que hemos creado, vamos a ver como queda esto y formatear el resto del disco. para ello nos vamos al icono de MI PC , situamos el puntero sobre MiPC y pulsamos el botón derecho del Mouse, nos aparecen varias opciones, una de ellas es Administrar, pinchamos sobre ella

En la pantalla que nos aparece dentro de Almacenamiento seleccionamos Administración de discos

En esta pantalla vemos que nuestro disco duro Disco 0 esta partido en dos, una partición donde tenemos instalado el sistema operativo y los programas y otro espacio sin particionar, así que vamos a darle formato al espacio sin particionar para poder usarlo como otro disco duro. Situamos el puntero del ratón sobre el espacio en negro o no asignado y pinchamos sobre el botón derecho de Mouse, en las opciones que nos aparecen pinchamos sobre Formatear .

Nos aparece el asistente para formatear le damos a siguiente y en la ventana que aparece a continuación seleccionamos sobre Partición Primaria y damos a Siguiente


Si no vamos a crear mas particiones pinchamos sobre siguiente y en la ventana inferior derecha colocamos la letra que tendra la nueva partición (D: E:)
 A continuación elegimos el sistema de archivos NTFS o bien FAT y le damos a siguiente y a Finalizar, el ordenador comenzará a formatear la particion que hemos seleccionado

 Cuando acabe el proceso de formateado veremos que ya tenemos un nuevo disco en nuestro ordenador
Donde podremos tener las copias de seguridad de nuestros programas y archivos, incluso instalar un segundo sistema operativo en ese disco.

REFERENCIAS




martes, 5 de marzo de 2013

Instancias de un SGBD



Instancia.
La instancia es la unión de los procesos y de las estructuras de memoria, los cuales se hallan en ejecución para el acceso de los usuarios a los datos a través de diferentes aplicaciones como por ejemplo administración, desarrollo y otras aplicaciones de usuario final. La instancia esta compuesta por:
Estructura de Memoria: se almacenan los ejecutables del software Oracle y todo el sistema necesario para el tratamiento del SGBD.
La filosofía de Oracle es la de albergar la máxima cantidad de información en memoria con el objeto de acelerar el tratamiento delos datos.

La estructura de Oracle en memoria se divide en:

·         SGA (System Global Área) Área global del sistema.
·         Caché de datos (Database Buffer Cache).
·         Caché de redo log (Redo Log Buffer Cache).
·         Área de memoria compartida (Shared Pool), compuesta por las áreas compartidas para sentencias SQL y de la caché de diccionario de datos (Dictionary Caché o Row Cache).
·         Información adicional sobre procesos, como bloqueos y colas de entrada/salida para determinadas configuraciones.
·         PGA (Program Global Area).
·         Áreas privadas para sentencias SQL.
·         Áreas de ordenación de sentencias.
·         Área para ejecutables de Oracle.

Archivos de configuración (INIT.ORA): archivos de configuración donde se establecen todos los parámetros para que Oracle trabaje de una u otra forma.
Procesos Background: serie de procesos encargados de mantener, manejar y controlar todo el SGBD.
Existen unos procesos estándar, que Oracle activa siempre que ejecuta una instancia, y otros que dependerán de las configuraciones establecidas en el fichero de inicialización (INIT.ORA).

Los procesos estándar que Oracle siempre activa son:
•DBWR ( Database Writer ): encargado de escribir en los archivos de la base de datos todos los buffers de datos que han sido modificados en memoria por operaciones Update, Delete, o Insert.
•LGWR (Log Writer): encargado de escribir en los archivos históricos de la base de datos (Redo Log Files) la información contenida en los redo log buffers.
•SMON (System MONitor): encargado de tratar las recuperaciones en caso de fallo cuando se arranca el gestor.
•PMON (Process MONitor): trata las recuperaciones en caso de fallo en algún proceso de usuario.

Tipos de instancias de un DBMS
Online Transaction Processing (OLTP): compra/venta, telemarketing
  • Segmentos cortos de rollback
  • Shared Pool muy largo
  • Redo log suficiente
  • Indices en discos separados
  • Segmentos temporales pequeños
Decision Support Systems (DSS): datawarehouse
  • Segmentos largos de rollback
  • Shared Pool relativamente corto
  • Redo log suficiente
  • Indices apropiados
  • Segmentos largos de temporal
  • Parallel Query en la medida de lo posible (si está disponible)

REFERENCIAS