martes, 7 de mayo de 2013

espejeo


1.- DEFINICIÓN DE LA ACTIVIDAD           (10PTS) 
En esta actividad se verá realizado el espejeo en una base de datos utilizando mysql y viendo lo importante que es y su utilidad en este ámbito. 
Se ira paso a paso en este tutorial del espejeo para ver cómo se realizó desde el inicio con pantallazos de si realización. 
 2. Investigación y/o documentación necesaria para realizar larpráctica           ( 30 pts) 
Mirror (Espejo): Este método permite hacer una réplica exacta de una base de datos de un servidor a otro. La gran ventaja de este método es que permite el failover automático sin intervención humana (siempre que se instale un tercer servidor witness). De hecho, en la cadena de conexión de las aplicaciones de .NET, podemos especificar cuándo conectamos con la aplicación el servidor de SQL al que nos conectamos y un failover partnerósea un servidor mirror para que en caso de failover, la aplicación pueda reconectar automáticamente al otro servidor. La desventaja del mirror, respecto el log shipping y la replicación, es que sólo podemos tener una máquina secundaria o mirror y que esta no es accesible y no podemos tenerla en modo lectura. 
Data base Mirroring es una de las características de alta disponibilidad disponibles con SQL Server 2005 en adelante. Aunque, SQL Server 2005 RTM no es compatible con la función Data base Mirroring nativa, se puede iniciar la función de creación de reflejo de base de datos en RTM ejecutando el siguiente comando: 1:DBCC TRACEON (1400); 2: GO Esta es la primera parte de la serie de dos partes sobre la configuración de la base de datos de reflejo. Las conversaciones de la primera parte acerca de cómo configurar la replicación de bases de datos en un entorno de dominio basado y la segunda parte hablaremos de cómo configurar la replicación de bases de datos en una máquina independiente en un entorno de grupo de trabajo. Las metas post más adelante para la gente desea configurar la replicación de bases de datos para fines de aprendizaje y formación. Desde la creación de reflejo de base de datos es una solución de alta disponibilidad, configurar la creación de reflejo de base de datos en una máquina independiente no sirve al propósito. Sin embargo, su ideal para el aprendizaje y la formación fin.  Para una información detallada acerca de Data base Mirroring, por favor, eche un vistazo a este excelente documento técnico en el sitio web de TechNet. En este post, vamos a configurar la replicación de bases de datos en un entorno de Directorio Activo. Una búsqueda rápida en algunos de los términos reflejo de base:  Punto final TCP: Una sesión de creación de reflejo de base de datos requiere un punto final TCP con carga útil 
 3. secuencia de pasos para realizarla    (15 pts) 
ImagenComo crear un Mirror (espejo) SQL Server 2005  Nuestra situación son dos sedes unidas mediante VPN, con dos servidores Windows 2003, ambos tienen SQL 2005, y forman parte del mismo dominio. Lo primero es llevar a cabo un cambio de la forma en la que se gestiona la BD de simple a FULL. Para ello abrimos nuestro SQL Management Studio --> Sobre nuestra BD botón derecho propiedades --> Opciones elegimos modelo de recuperación Completo. Siguiente paso hacemos un backup de la BD de en forma FULL que enviamos a nuestro Server 2, una vez allí y en el SQL Management Studio, procedemos a restaurar, sobre el servidor elegimos restaurar BD le ponemos el mismo nombre que tiene la BD en el Server1, y el las opciones elegimos Restore Wirh Norecovery. Después de unos segundos la BD se nos queda en estado restoring, esperando a que elserver1 comience el envió de datos. Ahora sobre el server2 y la bd elegida le damos botón derecho --> tareas --> espejo (mirror) y veremos algo como lo siguiente. Aquí le damos al botón de configure security que nos guiara en una serie de pasos para configurar la seguridad de nuestro mirror. La primera pantalla nos pregunta si vamos a trabajar con un witness en nuestro caso es que no, así que lo marcamos y le damos a siguiente. Ahora la siguiente pantalla es la del servidor principal que aparece configurada por defecto. Seguidamente tenemos que configura nuestro servidor mirror. Cuando le debemos a connect, no será necesario cambiar ningúnparámetro. Aunque en este punto se nos produjo los siguientes errores Link error 233 y error 1418 Ya finalizamos y le damos a start mirroring, y la base de datos del server1 cambiar a estado restaurando. 

desactivamos el antivirus:


tambien desactivamos el firewall de windows ya que si los tenemos activados no habra conexión:


editamos e archivo my.ini y agregamos las dos lineas marcadas en azul:


reiniciamos los procesos de apache y mysql para que se guarden los cambios:





abrimos el cmd e iniciamos sesion en mysql:


creamos usuario para el esclavo bloqueamos las tablas y buscamos el archivo maestro:


creamos el archivo del respaldo el cual es el que se va a mandar al otro equipo que va ser el esclavo:


despues se tiene que configurar el equio esclavo:

aun terminando.......
integrantes del equipo:
 Jonathan muñoz
angelica ortiz

martes, 30 de abril de 2013

replicacion



Replicación de bases de datos:

Es el proceso de copiar y mantener objetos de las base de datos, como por ejemplo relaciones, en múltiples bases de datos que forman un sistema de bases de datos distribuido.

Beneficios de la replicación:


  • Disponibilidad
  • Fiabilidad
  • Rendimiento
  • Reducción de la carga
  • Procesamiento desconectado
  • Soporta muchos usuarios
  • Soporta aplicaciones avanzadas
  • Disponibilidad.-El modo en que la replicación incrementa la disponibilidad de los datos para los usuarios y aplicaciones.
  • Fiabilidad.- Al haber múltiples copias de los datos disponibles en el sistema, se dispone de un mecanismo excelente de recuperación cuando existan fallos en nodos.
  • Rendimiento.- Se mejora para las transacciones de consulta cuando se introduce la replicación en un sistema que estuviera aquejado de sobrecarga de recursos centralizados.
  • Reducción de la carga.- Modo en q se utiliza la replicación para distribuir datos en ubicaciones remotas.
  • Procesamiento Desconectado.- Modo en que la replicación puede implementarse mediante mecanismo instantáneas.
  • Soporta muchos usuarios.- Se puede crear múltiples instantáneas personalizadas que satisfagan los requisitos de cada usuario o grupo de usuarios del sistema.
  • Soporta Aplicaciones Avanzadas.- Para OLPT(Online transaction Processing), OLAP(Online Analitical Processing).
Pasos para poner en marcha la replicación:

A continuación vamos a exponer los pasos a realizar la replicación de una base de datos bd_autentia en un único servidor esclavo. Si quisieramos configurar más esclavos, los pasos a realizar serían los mismos sobre cada uno de los esclavos.
Creamos de un usuario MySQL en el servidor maestro con privilegios de replicación

El servidor esclavo se autenticará frente al servidor maestro como un usuario normal.

Para crear el usuario debemos ejecutar desde la consola de comandos de mysql las siguientes sentencias SQL:

CREATE USER '<replication_user>'@'<slave_address>' IDENTIFIED BY '<replication_user_password>' GRANT REPLICATION SLAVE ON *.* TO '<replication_user>'@'<slave_address>'


Con la sentencia anterior el usuario sólo tendría permiso de acceso desde la máquina <slave_address>, en caso de no requerir esta medida de seguridad puedes sustituir el comodin % por el parámetro <slave_address>.
Configuración del servidor maestro

Deberemos agregar las siguientes lineas al final del archivo de configuración del servidor MySQL, por defecto:<MySQL_HOME>/my.ini

# Identificador único del servidor MySQL dentro de todos los servidores implicados en la replicación. server-id=1 # Al especificar el parámetro log-bin estamos activando el log binario. # No especificamos un valor para el parámetro de configuración (por defecto será <nombre_maquina>-bin). log-bin= # El log binario sólo tendrá las actualizaciones realizadas sobre la base de datos "bd_autentia" # Si además quisieramos replicar otras bases de datos, duplicariamos este parámetro para cada base de datos. binlog-do-db=bd_autentia

Configuración del servidor esclavo

Deberemos agregar las siguientes lineas al final del archivo de configuración del servidor MySQL, por defecto:<MySQL_HOME>/my.ini

# Identificador único del servidor MySQL dentro de todos los servidores implicados en la replicación. server-id=2 # Nombre del archivo binario que almacena las instrucciones pendientes de ejecutar, por defecto: <host_name>-relay-bin.index relay-log= # Nombre o dirección IP del maestro. master-host=<master_address> # El esclavo se conecta a través de un usuario al maestro. Identificador del usuario master-user=<replication_user> # El esclavo se conecta a través de un usuario al maestro. Contraseña del usuario master-password=<replication_user_password> # Número de segundos que esperará el esclavo para reintentar conectarse al maestro en caso de una perdida de conexión. master-connect-retry=50 # Número de reintentos de reconexión master-retry-count=5000

Realizamos una copia de seguridad de la base de datos del maestro sobre el servidor el esclavo


Desde la consola ejecutamos los siguientes comandos:
  1. [maestro]: <MYSQL_HOME>/bin/mysql -u root --password=<contraseña> -e "FLUSH TABLES WITH READ LOCK"Para limpiar las caches y bloquear el acceso de cualquier aplicacion a la base de datos. 
  2. [maestro]: <MYSQL_HOME>/bin/mysqldump --u root --password=<contraseña> --opt bd_autentia > backup.sql Realizamos una copia completa de la base de datos en el archivo backup.sql. 
  3. [esclavo]: <MYSQL_HOME>/bin/mysql --user=root --password=<contraseña> bd_autentia < backup.sql   Para restaurar la copia de seguridad en el esclavo. 
  4. [esclavo]: <MYSQL_HOME>/bin/mysqladmin -u root --password=<contraseña> shutdown Detenemos el servidor esclavo 
  5. [maestro]: <MYSQL_HOME>/bin/mysqladmin -u root --password=<contraseña> shutdown Detenemos el servidor maestro (Se desbloquearán las tablas de las bases de datos previamente bloquadas) 
  6. [esclavo]: <MYSQL_HOME>/bin/mysqld-nt --defaults-file="<MYSQL_HOME>\my.ini" MySQL Iniciamos el servidor el cual tomará la nueva configuración. 
  7. [maestro]: <MYSQL_HOME>/bin/mysqld-nt --defaults-file="<MYSQL_HOME>\my.ini" MySQL Iniciamos el servidor el cual tomará la nueva configuración. 

lunes, 29 de abril de 2013

problemas de seguridad en bases de datos


Logs.
Para conseguir anular y recuperar transacciones, el método más extendido suele ser la utilización de un  fichero denominado diario (log) en el que se va guardando toda la información necesaria para deshacer o rehacer las transacciones.

Normalmente se obliga a que los registros que se modifican se escriban antes en el fichero diario que en  la base de datos, para poder anular así, en caso de necesidad, las transacciones (“log write-ahead protocol"), y evitar problemas.

El fichero diario puede ser un fichero circular, o constar de dos partes; una en disco, que cuando se llena se pasa a cinta u otro almacenamiento.




Checkpoint.

Para evitar tener que recorrer todo el fichero diario, se introduce el punto de verificación o recuperación (checkpoint), que se ejecuta periódicamente y que implica:

pasar el contenido de las memorias de área intermedia al fichero diario escribir un registro de punto de recuperación en el fichero diario

pasar el contenido de las memorias de área intermedia de la base de datos a soporte secundario

escribir la dirección del registro de recuperación en un fichero de rearranque.

Nuevas técnicas:

Fichero diario efímero.

Técnica de páginas ocultas.

espejeo

Espejeo conocido en ingles como mirroring.
Es una configuración donde dos o tres servidores de dase de datos, ejecutándose en equipos independientes, cooperan para mantener copias de la base de datos y archivo de registro de transacciones
El uso de un espejo lógico consiste en operar una base de datos en una máquina y mantener en una segunda máquina una copia de esta base que se actualiza periódicamente. Ambas máquinas se comunican por la red con la máquina en funcionamiento transmitiendo regularmente a la máquina de espejo los cambios realizados en la base de datos a través del intermediario del archivo de historial.
Tanto el servidor primario como el servidor espejo mantienen una copia de la base de datos y el registro de transacciones, mientras que el tercer servidor, llamado el servidor árbitro, es usado cuando es necesario determinar cuál de los los otros dos servidores puede tomar la propiedad de la base de datos. El árbitro no mantiene una copia de la base de datos. La configuración de los tres servidores de base de datos (el primario, el espejo y el árbitro) es llamado Sistema Espejo (Mirroring System), y el servidor primarioy espejo juntos son llamados Servidores Operacionales (Operational Servers) o Compañeros (Partners).



 cuando hay un incidente que afecta a la base de datos operacional, la base de datos espejo se puede utilizar para conseguir rápidamente volver a trabajar sin pérdida de datos. Por otra parte, la base de datos operacionales nunca está "bloqueada" por las operaciones de backup.
 
 La gran ventaja de este método es que permite el failover automático sin intervención humana (siempre que se instale un tercer servidor witness). De hecho, en la cadena de conexión de las aplicaciones de .NET, podemos especificar cuando conectamos con la aplicación el servidor de sql al que nos conectamos y un failover partner, osea un servidor mirror para que en caso de failover, la aplicación pueda reconectar automáticamente al otro servidor. La desventaja del mirror, respecto el log shipping y la replicación, es que sólo podemos tener una máquina secundaria o mirror y que esta no es accesible y no podemos tenerla en modo lectura.
 
 
La creación de un sistema de backup por espejo lógico se basa en dos nuevos comandos: New Log File e INTEGRATE LOG FILE.
 
El siguiente escenario ilustra, desde el punto de vista de cada equipo 4D Server, la configuración de un sistema de backup con espejo:
PasoEquipo en operaciónEquipo espejo
1Arranque de la aplicación, back up del archivo de datos y activación (si es necesaria) del archivo de historial.
4D crea el archivo MyDatabase.journal. Para mayor seguridad, el archivo de historial se guarda en un disco duro separado.
Salimos de la aplicación.
Copia de todos los archivos de la base (archivo de historial incluido) en el equipo espejo.
2Reinicio de la aplicación e inicio de la operación (verificar que no haya un backup total programado).Inicio de la aplicación espejo. 4D Server solicita el archivo de historial actual: selección del archivo MyDatabase.journal que fue transferido de la base operacional. Desactivación del historial actual en la página Backup/Configuración de las Preferencias
3Decisión de actualizar el espejo (por ejemplo, después de un cierto periodo de operación).
Ejecución del método que contiene el comando New log file. El archivo guardado se llama MyDatabase[0001-0001].journal.
Envío por programación del archivo MyDatabase[0001-0001].journal al equipo espejo (utilizando 4DIC, Servicios web, etc.).
La base está en operación.
4Detección de un archivo que está esperando a ser integrado. Ejecución del método que contiene el comando INTEGRATE LOG FILE para integrar el archivo MyDatabase[0001-0001].journal.
5Incidente en el equipo; la base es inutilizable. Decisión de pasar al equipo espejo.
Copia del archivo de historial actual MyDatabase.journal al equipo espejo, vía la carpeta de recepción habitual.
6Análisis del incidente y reparación.Detección de un archivo que está esperando a ser integrado. Ejecución del método que contiene el comando INTEGRATE LOG FILE para integrar el archivo MyDatabase.journal.
Por seguridad, creación de un archivo de historial actual en la página Backup/Configuración de las Preferencias.
La base está en operación.
7La máquina se repara. Remplazo de los archivos de la base por los de la base espejo. Inicio de la aplicación. 4D Server solicita el archivo de historial: selección del archivo transferido desde el equipo espejo.Salimos de la base. Volver al paso 2.

 

martes, 16 de abril de 2013

actividad 22



indices:

  • es una estructura de datos que mejora la velocidad de las operaciones, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar drástica mente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hacen frecuentes búsquedas.
  • pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente.
  • son construidos sobre árboles B, B+, B* o sobre una mezcla de ellos, funciones de cálculo u otros métodos.
  • Algunas bases de datos amplían la potencia del indexado al permitir que los índices sean creados de funciones o expresiones. Por ejemplo, un índice puede ser creado sobre la funciónupper(apellido), que almacenaría en el índice solamente las versiones mayúsculas del campo apellido. Otra opción a veces soportada, es el uso de índices "filtrados", donde las entradas del índice son creadas solamente para los registros que satisfagan una cierta expresión condicional.


CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type]

ON tbl_name (index_col_name,...)

index_col_name:

col_name [(length)] [ASC | DESC]



create [bitmap | unique] index nombre_indice on nombre_tabla (nombre_columna [, nombre_columna2] ...) [reverse];




jueves, 11 de abril de 2013

Modos de operación de un sgbd


La sentencia ROLLBACK te permite deshacer todas las modificaciones que se han realizado a la Base de Datos pero que no han sido escritas en el Disco Duro por la sentencia COMMIT, es decir, elimina de la memoria todos los cambios realizados en la Base de Datos hasta el ultimo COMMIT que fue realizado.
La sentencia ROLLBACK generalmente se usa cuando ocurren errores en los procesos para dejar los datos consistentes como estaban al principio del proceso.

Por defecto, MySQL se ejecuta con el modo autocommit activado. Esto significa que en cuanto ejecute un comando que actualice (modifique) una tabla, MySQL almacena la actualización en disco.

Si usa tablas transaccionales (como InnoDB o BDB), puede desactivar el modo autocommit con el siguiente comando:
SET AUTOCOMMIT=0;
Tras des habilitar el modo autocommit poniendo la variable AUTOCOMMIT a cero, debe usar COMMIT para almacenar los cambios en disco o ROLLBACK si quiere ignorar los cambios hechos desde el comienzo de la transacción.
Los procesos de restauración (restore o recovery) de los que todo SGBD dispone pueden reconstruir la BD y darle el estado consistente y correcto anterior al incidente. Esto se acostumbra a hacer gracias a la obtención de copias periódicas de los datos (se denominan copias de seguridad o fhick-up) y mediante el mantenimiento continuo de un diario (log) donde el SGBP va anotando todas las escrituras que se hacen en la BD.


lunes, 8 de abril de 2013

Tipos de datos, representación y espacio que ocupan en bytes

¿Qué es un Bit?
Un bit es una señal electrónica que puede estar encendida (1) o apagada (0). Es la unidad más pequeña de información que utiliza un ordenador.

¿Qué es un Byte?
Un byte es la unidad fundamental de datos en los ordenadores personales, un byte son ocho bits contiguos. El byte es también la unidad de medida básica para memoria, almacenando el equivalente a un carácter.

Sistema numerico binario:
El sistema binario, en ciencias e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras.

tipos de archivos:

  • sonido: .mp3, .wma, .ogg, etc.
  • imagen: JPEG, PNG, etc.
  • video: .avi, .mpeg,etc.
  • Texto: txt, etc.

Tipos de datos y su almacenamiento:
Tipo de dato Sinónimos Tamaño Descripción
BINARY VARBINARY
BINARY VARYING
BIT VARYING
1 byte por carácter Se puede almacenar cualquier tipo de datos en un campo de este tipo. Los datos no se traducen (por ejemplo, a texto). La forma en que se introducen los datos en un campo binario indica cómo aparecerán al mostrarlos.
BIT BOOLEAN
LOGICAL
LOGICAL1
YESNO
1 byte Valores Sí y No, y campos que contienen solamente uno de dos valores.
TINYINT INTEGER1
BYTE
1 byte Un número entero entre 0 y 255.
COUNTER AUTOINCREMENT
Se utiliza para campos contadores cuyo valor se incrementa automáticamente al crear un nuevo registro.
MONEY CURRENCY 8 bytes Un número entero comprendido entre
– 922.337.203.685.477,5808 y 922.337.203.685.477,5807.
DATETIME DATE
TIME
8 bytes Una valor de fecha u hora entre los años 100 y 9999
UNIQUEIDENTIFIER GUID 128 bits Un número de identificación único utilizado con llamadas a procedimientos remotos.
DECIMAL NUMERIC
DEC
17 bytes Un tipo de datos numérico exacto con valores comprendidos entre 1028 - 1 y - 1028 - 1. Puede definir la precisión (1 - 28) y la escala (0 - precisión definida). La precisión y la escala predeterminadas son 18 y 0, respectivamente.
REAL SINGLE
FLOAT4
IEEESINGLE
4 bytes Un valor de coma flotante de precisión simple con un intervalo comprendido entre – 3,402823E38 y – 1,401298E-45 para valores negativos, y desde 1,401298E-45 a 3,402823E38 para valores positivos, y 0.
FLOAT DOUBLE
FLOAT8
IEEEDOUBLE
NUMBER
8 bytes Un valor de coma flotante de precisión doble con un intervalo comprendido entre – 1,79769313486232E308 y – 4,94065645841247E-324 para valores negativos, y desde 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos, y 0.
SMALLINT SHORT
INTEGER2
2 bytes Un entero corto entre – 32.768 y 32.767.
INTEGER LONG
INT
INTEGER4
4 bytes Un entero largo entre – 2.147.483.648 y 2.147.483.647.
IMAGE LONGBINARY
GENERAL
OLEOBJECT
Lo que se requiera Desde cero hasta un máximo de 2.14 gigabytes.
Se utiliza para objetos OLE.
TEXT LONGTEXT
LONGCHAR
MEMO
NOTE
NTEXT
2 bytes por carácter. (Consulte las notas). Desde cero hasta un máximo de 2.14 gigabytes.
CHAR TEXT(n)
ALPHANUMERIC
CHARACTER
STRING
VARCHAR
CHARACTER VARYING
NCHAR
NATIONAL CHARACTER
NATIONAL CHAR
NATIONAL CHARACTER VARYING
NATIONAL CHAR VARYING
2 bytes por carácter. (Consulte

Es un catálogo, un depósito de los elementos en un sistema. Como su nombre lo sugiere, estos elementos se centran en los datos y la forma en que están estructurados para satisfacer los requerimientos de los usuarios y las necesidades de la organización.
En un diccionario de datos se encuentran la lista de todos los elementos que forman parte del flujo de datos en todo el sistema. Los elementos más importantes son flujos de datos, almacenes de datos y procesos. el diccionario guarda los detalles y las descripciones de todos estos elementos.

CODIFICACION:
La codificación es el proceso por el cual el emisor transforma un mensaje en un código que solo él puede ver.
DECODOFICACION:
La decodificación es en el cual el receptor transforma el código utilizando por el emisor para interpretar los símbolos.