martes, 19 de noviembre de 2013

ACTIVIDAD #26



INTRODUCCIÓN

Para configurar una replicación por mezcla o combinación con SQL Server 2008, Windows Server 2008 64-bits y SQL Server CE 3.5, debemos tomar nota de algunas consideraciones especiales.
Este articulo es la primera parte, que trata de la configuración del SQL Server 2008. En la segunda parte, a ser publicada en los siguientes días, se dará el paso a paso para publicar la sincronización con IIS 7.0 de Windows Server 2008.

PRIMERA PARTE

A continuación, y paso a paso, configuraremos una replicación por combinación o mezcla (merge replication) con SQL Server 2008 y SQL Server CE 3.5 a bordo de un dispositivo.
Para ello lanzamos el SQL Server Management Studio. Supondremos que la base de datos que queremos publicar ya está diseñada e implementada, en nuestro caso la base de datos se llama devicesonline, y la tabla que deseamos publicar se llama training_input.

1. Iniciar el asistente. Hacemos clic con botón derecho sobre el nodo replicación (Replication), para abrir el menú contextual. Luego seleccionamos Nueva publicación:

image

2. Comienza el asistente de publicación:

image

3. Establecer el distribuidor. El primer paso del asistente es pedir la PC que funcione como distribuidor. Como opción por defecto se sugiere el equipo local, pero se da la posibilidad de seleccionar otro equipo que ya haya sido configurado como servidor distribuidor. Nosotros seleccionamos la opción por defecto, el equipo local:

image

4. Configurar el inicio del agente SQL Server. Este servicio es el encargado de administrar ciertos aspectos de funcionamiento complementario del gestor de base de datos. Entre otros, se encarga de tomar las instantáneas de replicación y automatizar las tareas relacionadas. En nuestro caso, deseamos que se configure el arranque automático del servicio Agente de SQL Server (recomendado):

image

5. Carpeta de instantáneas. Esta carpeta contendrá los archivos para sincronización en un formato compatible con el mecanismo de transmisión y recepción de las tablas por replicación. Por defecto, esta carpeta se llama Repldata (replication data), y se ubica de manera predeterminada en la carpeta del programa SQL Server, localizada dentro de \Archivos de Programa. En nuestro caso, está ubicada en \Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\ReplData.
 
image

Por ahora dejemos con la configuración por defecto.

6. Compartir la carpeta de instantáneas. Sin embargo, para que funcione correctamente con capacidad de suscripción iniciable desde el servidor o desde el móvil, es imprescindible:
  • definir dicha carpeta como compartida
  • dar permisos de lectura, escritura, modificación al usuario predeterminado de internet en el equipo, IUSR_nombre_de_equipo en IIS 6.x, e ISR solamente en IIS 7.x
En nuestro ejemplo, navegamos hasta la carpeta por defecto y luego hacemos clic en Uso compartido avanzado, para especificar los usuarios con acceso de lectura/escritura a dicha carpeta:
image

7. En la ventana de uso compartido avanzado hacemos clic en Permisos:

image

8. Luego agregamos al usuario IUSR (si es Windows Server 2008 / Vista) o bien IUSR_nombre_equipo (si es Windows Server 2003 /XP o anterior). Especificamos permisos de control total a dicho usuario porque deberá crear estructura de carpetas dentro de Repldata.

image




9. Luego de haberla compartido de esta forma, retornamos a la pantalla del asistente de SQL Server, y borramos la ubicación de la carpeta \Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\ReplData y escribimos la dirección UNC (universal naming convention) de la misma, en nuestro caso de la forma \\equipo\repldata. Se nos advertirá en el mensaje de abajo que el asistente no verificará los permisos porque en esta etapa del asistente no se conocen aún los nombres de las cuentas para ingresar a la misma:

image

10. Nombre de la base de datos a publicar. Seleccionamos la nuestra, devicesonline, y hacemos clic en Siguiente.

image


11. Tipo de replicación. Como hasta este momento el asistente no sabe que los suscriptores serán dispositivos móviles, ofrece las 4 posibles replicaciones. Seleccionamos Merge Replication, ya que SQL Server Compact Edition sólo puede subscribirse a replicaciones de combinación o mezcla. Luego hacemos clic en Siguiente..

image

12. Versiones de los suscriptores. Se debe marcar todas las versiones de los RDBMS que se suscribirán a esta publicación. En nuestro caso, sólo necesitamos sincronizar con dispositivos móviles, por lo que se marca solamente dicha opción y se hace clic en siguiente:

image

13. Objetos que se publicarán. A pesar de que el asistente permite seleccionar Tablas, Procedimientos almacenados y funciones definidas por el usuario, el cliente de suscripción SQL Server CE sólo permite sincronizar los objetos del tipo Tabla. Hacemos clic en el nodo tablas y seleccionamos las tablas que deseamos sincronizar con los móviles, en nuestro caso, training_input1, asegurándonos que no marcamos el resto:

image

14. Alerta por ROWGUID. Al hacer clic en Siguiente para pasar a la próxima pantalla, el asistente nos da un alerta, informándonos que alterará el esquema de la base de datos agregando columnas de identificadores únicos a las tablas. Se muestra un breve sumario en la pantalla del asistente, indicándonos que se producirían estos potenciales problemas por la adición de la nueva columna:
  • Las instrucciones INSERT-SQL que no tengan una lista de columnas explícitas van a fallar.
  • Se incrementará el tamaño de las tablas.
  • Se incrementará el tiempo requerido para generar la instantánea final.
SQL Server agrega una columna del tipo ROWGUIDCOL, con un índice único (es decir, se adiciona una clave candidata a las tablas que se publiquen). Leído esto, que no es más que informativo, hacemos clic en siguiente.
image

15. Filtrado de las filas de la tabla. En el caso que lo deseemos, hagamos clic en Agregar y seleccionemos Agregar Filtro
image

Donde podremos definir el filtrado de las publicaciones:

image

Una consideración importante es si deseamos particionar el filtrado para que cada fila del resultado vaya a todos los suscriptores (una sola partición), o bien vaya sólo a un subscriptor (múltiples particiones). En este ultimo caso de particiones múltiples, se debe utilizar un filtro parametrizado con una función como HOSTNAME o SUSER_NAME, por ejemplo
SELECT columna1,columna2.. FROM tablaPublicada WHERE columnaFiltro = HOSTNAME()
En un próximo artículo daremos más precisiones sobre el filtrado de partición múltiple. Por ahora, como no deseamos filtrar nada, todos los suscriptores recibirán el mismo conjunto de datos, hacemos clic en Siguiente.

16. Agente de Instantáneas. En esta pantalla se especifica cuando se deberá correr el Agente de Instantáneas para inicializar la publicación. Se marcan dos ajustes predeterminados: [ ] iniciar el agente de instantáneas inmediatamente luego de terminar el asistente, y [ ] Agendar el Agente de instantáneas para que corra automáticamente cada 14 dias, a las 5.00AM, comenzando el mismo día donde se está ejecutando el asistente (fecha actual). Dejamos estos ajustes sin tocar, y hacemos clic en siguiente:
image

17. Ajustes de seguridad del agente de instantáneas: En esta pantalla se debe especificar los ajustes de seguridad del Agente de Instantáneas, a saber: cuenta para correr ese servicio, y cuenta para conectar al Publicador. Hacemos clic en Ajustes de seguridad:
image

Luego especificamos las cuentas para controlar el proceso en la siguiente pantalla:

image
Para conectar al publicador especificamos alguna cuenta que ya esté creada como login de la instancia del SQL Server. Si no existe , podremos crearla a tal efecto, para especificarla debajo del apartado “Conectar al Publicador”.
Para pruebas. podemos ajustar la cuenta para correr el agente de instantáneas a la cuenta predeterminada, y para conectar la publicador podremos usar la del administrador de sistema, sa.
Una vez hecho esto, damos Aceptar (OK) y proseguimos con la próxima pantalla del asistente haciendo clic en Siguiente.
18. Acción final del asistente. En la ultima pantalla se nos pregunta si deseamos que el asistente cree la publicación, o bien genere un script-SQL que especifique los pasos para crear la publicación, o ambas cosas. Nosotros hemos marcado Crear la publicación, y no el Script, ya que deseamos crearlo inmediatamente.
image

19. Nombre de la publicación y sumario final: En la ultima pantalla del asistente, se completa el mismo especificando un nombre para la publicación. En este caso, damos a ésta el nombre TRAININGSETS: , luego revisamos el sumario con todas los ajustes que hemos hecho en los pasos anteriores. Si existe algún ajuste que deseamos modificar, debemos pulsar el botón Atrás (Back), regresar a la pantalla correspondiente , y efectuar las modificaciones deseadas, luego avanzar hasta el final nuevamente. Si estamos de acuerdo con los ajustes hecho, pulsamos finalizar.

image

20. Creación de la publicación y posibles problemas. En este paso ya se corre el procedimiento para crear la publicación:
image

Sin embargo, puede haber este problema, dependiendo del ajuste de seguridad si tenemos SQL Server 2008:

image

Si no experimentamos este problema, podemos dar por terminada la primera parte de la publicación
Sino, continuemos para solucionarlo:
20.1 Es posible que el distribuidor no se puede configurar correctamente porque para hacerlo se debe tener acceso al procedimiento almacenado llamado sp_set_sqlagent_properties del componente Agent XP. Esto sucede porque este componente está configurado para no formar parte de la configuración de seguridad de este servidor. El mensaje de advertencia (estrictamente hablando no es un error) es el siguiente:

image
20.2 Para evitar este problema, hay que reconfigurar el agente XP y el xp_cmdshell con el siguiente script:
sp_configure 'show advanced options',1
reconfigure with override
go
sp_configure 'xp_cmdshell',1
reconfigure with override
go
sp_configure 'Agent XPs',1
reconfigure with override
go

Esto lo debemos correr desde la base de datos master, en la ventana del SQL Server Management Studio:
image


20.3 Una vez hecho esto, iniciamos el servicio de Agente SQL Server. Este servicio corre con la cuenta nueva de Windows Server 2008, NT SERVICES/SQLSERVERAGENT., la cual debe tener permisos de lectura y escritura sobre la carpeta marcada para compartir.
Tenemos dos maneras de iniciar el servicio: (A) desde la línea de comandos, y (B) desde la interfaz administrativa
A. Iniciar el servicio desde la línea de comandos. Ejecutar el shell de comandos cmd.exe, y allí tipiar lo siguiente:
image

B. iniciarlo desde el mismo SQL Server Management Studio, que ya tenemos abierto:

image

Se nos presentará un cuadro de diálogo pidiendo confirmación de iniciar el servicio SQLSERVERAGENT en el equipo, hagamos clic en aceptar y el servicio ya estará corriendo, lo podemos confirmar viendo el nodo correspondiente, con el icono de “play” en verde:

image

20.4 Windows Vista y Server 2008 utilizan un nuevo mecanismo de elevación de privilegios. Las cuentas administrativas nunca corren con los máximos privilegios sino que, sólo cuando es necesario, elevan temporalmente sus permisos al nivel que le corresponde a dicha cuenta. Como la carpeta de instantáneas por defecto, definida en el paso 5 de este tutorial, se encuentra dentro de la carpeta \Archivos de Programa, es posible que existan problemas para su acceso. Por lo tanto, creemos una que se denomine igual (no es necesario que se llame repldata, lo hacemos aquí por motivos didácticos) en el directorio raíz del equipo, por ejemplo C:\repldata. Luego procedamos a dar acceso de control total a la cuenta del agente SQL Server, NT SERVICES/SQLSERVERAGENT.

image image

20.5 Con el agente SQL ya en ejecución y la carpeta definida fuera de \Archivos de Programa, volvemos al SQL Server Management Studio, localizamos nuestra publicación recién creada, buscamos en el árbol de objetos la replicación, y vamos a la ficha Propiedades de nuestra publicación:

image

Luego seleccionamos la ficha de Instantáneas (Snapshot) y marcamos [x] Colocar los archivos en la siguiente carpeta, y desmarcamos la opcion [ ] Colocar los archivos en la carpeta por defecto. Luego aceptamos haciendo clic en OK.

image

20.6 A continuación lanzamos el visor de estado del agente de instantánea, quien es el que hace el trabajo de armar la instantánea en la carpeta repldata:

image

El visor de estado del Agente de Instantáneas se inicia, comenzando el proceso de armar el contenido de la carpeta repldata donde se alojan las instantáneas.
Al comenzar deberemos algo de esto:

image
Y al finalizar tendremos:

image
Cerramos dicha ventana.

20.7 Para ver que la instantánea está correctamente inicializada, volvemos al árbol de objetos del SQL Server Management Studio, sobre el nombre de la publicación, hacemos clic con botón derecho nuevamente, y seleccionamos “Iniciar monitor de replicación” (debemos asegurarnos que el Agente de SQL Server está corriendo, según lo especificado en el punto 20.3).

image

Y debemos ver esta pantalla,

image


Replicacion con oracle database


Oracle Streams Propaga y administra datos, transacciones y eventos en una fuente de datos ya sea dentro de una base de datos, o de una base de datos a otra.

Bien a continuacion les dejo un paso a paso un tanto "extenso" para montar el Oracle Streams:

Requisitos:
Oracle version 10.2.0.1 en ambos casos
Windows XP / Windows 2003

Nombres del SID y TNS name:
DB1, db1 (Origen)
DB2, db2 (Destino)

Debemos configurar ambos parametros en cada base de datos (db1, db2):

1. Habilitamos el modo ARCHIVELOG en ambas bases de datos:

DB Origen: DB1
SQL> conn sys/sys as sysdba
Connected.
SQL> shutdown immediate
SQL> startup mount;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE ARCHIVE LOG START

2. Creamos un usuario administrador para el Stream

DB Origen: DB1
SQL> conn sys/sys as sysdba
Connected.
SQL> create user strmadmin identified by strmadmin;

User created.

SQL> grant connect, resource, dba to strmadmin;

Grant succeeded.

SQL> begin dbms_streams_auth.grant_admin_privilege
2 (grantee => 'strmadmin',
3 grant_privileges => true);
4 end;
5 /

PL/SQL procedure successfully completed.

SQL> grant select_catalog_role, select any dictionary to strmadmin;

Grant succeeded.

2.1 Ahora realizamos las mismas operaciones en la base de datos destino: DB2

SQL> conn sys/sys as sysdba
Connected.
SQL> create user strmadmin identified by strmadmin;

User created.

SQL> grant connect, resource, dba to strmadmin;

Grant succeeded.

SQL> begin dbms_streams_auth.grant_admin_privilege
2 (grantee => 'strmadmin',
3 grant_privileges => true);
4 end;
5 /

PL/SQL procedure successfully completed.

SQL> grant select_catalog_role, select any dictionary to strmadmin;

Grant succeeded.

3. Ahora deberemos configurar el fichero INIT.ORA con los siguientes parametros:

DB Origen: DB1
SQL> conn sys/sys as sysdba
Connected.
SQL> alter system set global_names=true;

System altered.

SQL> alter system set streams_pool_size = 100 m;

System altered.

DB destino: DB2
SQL> conn sys/sys as sysdba
Connected.
SQL> alter system set global_names=true;

System altered.

SQL> alter system set streams_pool_size = 100 m;

System altered.

4. Ahora crearemos el enlace en cada base de datos apuntando a la otra:

DB Origen: DB1
SQL> conn strmadmin/strmadmin@db1
Connected.
SQL> create database link db2
2 connect to strmadmin
3 identified by strmadmin
4 using 'DB2';

Database link created.

DB Destino: DB2
SQL> conn strmadmin/strmadmin@db2
Connected.
SQL> create database link db1
2 connect to strmadmin
3 identified by strmadmin
4 using 'DB1';

Database link created.

5. Configuramos el origen y el destino de las consultas:

DB origen: DB1
SQL> conn strmadmin/strmadmin@db1
Connected.
SQL> EXEC DBMS_STREAMS_ADM.SET_UP_QUEUE();

PL/SQL procedure successfully completed.

DB Destino: DB2
SQL> conn strmadmin/strmadmin@db2
Connected.
SQL> EXEC DBMS_STREAMS_ADM.SET_UP_QUEUE();

PL/SQL procedure successfully completed.

6. Configuramos el esquema para los streams:

Esquema: SCOTT
Table: pibe

NOTA: El esquema scott viene bloqueado en las versiones 10g asi que deberemos desbloquearlos:

DB Origen: DB1
SQL> conn sys/sys as sysdba
Connected.
SQL> alter user scott account unlock identified by tiger;

User altered.

SQL> conn scott/tiger@db1
Connected.
SQL> create table pibe ( no number primary key,name varchar2(20),ddate date);

Table created.

DB Destino: DB2
SQL> conn sys/sys as sysdba
Connected.
SQL> alter user scott account unlock identified by tiger;

User altered.

SQL> conn scott/tiger@db2
Connected.
SQL> create table pibe ( no number primary key,name varchar2(20),ddate date);

Table created.

7. Creamos un acceso suplementario en la base de datos origen:

DB Origen: DB1
SQL> conn scott/tiger@db1
Connected.
SQL> alter table pibe
2 add supplemental log data (primary key,unique) columns;

Table altered.

8. Configuramos el proceso de captura en la base de datos origen:

DB Origen: DB1
SQL> conn strmadmin/strmadmin@db1
Connected.
SQL> begin dbms_streams_adm.add_table_rules
2 ( table_name => 'scott.pibe',
3 streams_type => 'capture',
4 streams_name => 'capture_stream',
5 queue_name=> 'strmadmin.streams_queue',
6 include_dml => true,
7 include_ddl => true,
8 inclusion_rule => true);
9 end;
10 /

PL/SQL procedure successfully completed.

9. Configuramos el proceso de propagacion:

DB Origen: DB1
SQL> conn strmadmin/strmadmin@db1
Connected.
SQL> begin dbms_streams_adm.add_table_propagation_rules
2 ( table_name => 'scott.pibe',
3 streams_name => 'DB1_TO_DB2',
4 source_queue_name => 'strmadmin.streams_queue',
5 destination_queue_name => 'strmadmin.streams_queue@DB2',
6 include_dml => true,
7 include_ddl => true,
8 source_database => 'DB1',
9 inclusion_rule => true);
10 end;
11 /

PL/SQL procedure successfully completed.

10. Configuramos el SCN:

DB Origen: DB1
SQL> CONN STRMADMIN/STRMADMIN@DB1
Connected.
SQL> declare
2 source_scn number;
3 begin
4 source_scn := dbms_flashback.get_system_change_number();
5 dbms_apply_adm.set_table_instantiation_scn@DB2
6 ( source_object_name => 'scott.pibe',
7 source_database_name => 'DB1',
8 instantiation_scn => source_scn);
9 end;
10 /

PL/SQL procedure successfully completed.

11. Configuramos el proceso de aplicacion en la base de datos destino:

DB Destino: DB2
SQL> conn strmadmin/strmadmin@db2
Connected.
SQL> begin dbms_streams_adm.add_table_rules
2 ( table_name => 'scott.pibe',
3 streams_type => 'apply',
4 streams_name => 'apply_stream',
5 queue_name => 'strmadmin.streams_queue',
6 include_dml => true,
7 include_ddl => true,
8 source_database => 'DB1',
9 inclusion_rule => true);
10 end;
11 /

PL/SQL procedure successfully completed.

12. Iniciamos la captura y el proceso de aplicacion de datos:

DB Origen: DB1
SQL> conn strmadmin/strmadmin@db1
Connected.
SQL> begin dbms_capture_adm.start_capture
2 ( capture_name => 'capture_stream');
3 end;
4 /

PL/SQL procedure successfully completed.

Db Destino: DB2
SQL> conn strmadmin/strmadmin@db2
Connected.
SQL> begin dbms_apply_adm.set_parameter
2 ( apply_name => 'apply_stream',
3 parameter => 'disable_on_error',
4 value => 'n');
5 end;
6 /

PL/SQL procedure successfully completed.

SQL> begin
2 dbms_apply_adm.start_apply
3 ( apply_name => 'apply_stream');
4 end;
5 /

PL/SQL procedure successfully completed.

NOTA: El entorno de replicacion ya esta listo!, lo que debemos hacer a continuacion es probarlo...

SQL> conn scott/tiger@db1
Connected.
SQL> --DDL operation
SQL> alter table pibe add (flag char(1));

Table altered.

SQL> --DML operation
SQL> begin
2 insert into pibe values (1,'first_entry',sysdate,1);
3 commit;
4 end;
5 /

PL/SQL procedure successfully completed.

SQL> conn scott/tiger@db2
Connected.
SQL> --TEST DDL operation
SQL> desc pibe
Name Null? Type
----------------------------------------- -------- ----------------------------

NO NOT NULL NUMBER
NAME VARCHAR2(20)
DDATE DATE
FLAG CHAR(1)

SQL> --TEST DML operation
SQL> select * from pibe;

NO NAME DDATE F
---------- -------------------- --------- -
1 first_entry 28-AGO-10 1

Como pueden ver, hemos actualizado la tabla en la DB1 y el stream se ha replicado a la DB2.




miércoles, 13 de noviembre de 2013

 ACTIVIDAD ESPEJEO

 

  • Configurar Mirroring en SQL Server


Database Mirroring aparece en la versión 2005 y es la evolución de Log Shipping. Tal como su nombre lo indica, sirve para tener una base de datos “espejada” en otro servidor. Puede trabajar de 3 Formas:
modos de funcionamiento | Fuente: guillesql.es
modos de funcionamiento | Fuente: guillesql.es
De foma más simple, la principal diferencia entre la configuración síncrona o asíncrona es:
  • De modo síncrono, el servidor principal espera a que las transacciones hagan commit en el servidor espejo para poder continuar.
  • De modo asíncrono, el servidor principal trabaja sin esperar al secundario.
Algunas diferencias entre LogShipping y Mirroring (Hay muchas más, pero aquí están las que más me llaman la atención):
  • Database Mirroring es capaz de configurar una conexión segura entre ambos puntos.
  • Database Mirroring provee la capacidad de hacer failover automático.
Log Shipping no hace ninguna de las dos anteriores.
Para configurar Database Mirroring se puede hacer a través del asistente o se puede hacer a través de instrucciones en t-sql. En este caso, utilizaremos el asistente para ahorrar tiempo.
Antes de partir la configuración nos debemos asegurar que la base de datos esté en modo de recuperación Full y debemos crear un respaldo de la base de datos del servidor primario y restaurarla con la opción WITH NORECOVERY en el servidor que será espejo.
Esta configuración requiere algunas configuraciones en el firewall de ambos equipos. En el servidor principal y en el espejo se debe abrir el puerto TCP 5022. Ahora, si se decide usar otro puerto, hay que estar seguro que el puerto está disponible y se puede abrir para las conexiones.
Una vez que se tiene la configuración previa lista, se hace el asistente que permitirá configurar el mirroring

Abrir asistente
Abrir asistente
En la ventana principal se debe iniciar el asistente
Ventana Principal
Ventana Principal
Se inicia el asistente
Inicio del asistente
Inicio del asistente
Se puede o no configurar un testigo. El testigo servirá para poder tener un failover automático. En este artículo no configuraré un testigo.
Configuracion del testigo
Configuracion del testigo
Configuración del equipo principal. Se puede cambiar el puerto (pero recuerden que ya habíamos abierto el puerto 5022). Además, se puede seleccionar si se quiere cifrar o no la conexión.
Configuracion del primario
Configuracion del primario
Para la configuración del secundario es necesario conectarse antes (recordar abrir el puerto 1422 en el secundario). La ventana de configuración es exactamente igual al primario.
Configuracion del Secundario
Configuracion del Secundario
El servicio debe estar configurado con una cuenta de dominio. Se debe indicar la cuenta del servicio del servidor primario y del espejo.
Cuentas de servicio
Cuentas de servicio
Para Finalizar:
Finalizar
Finalizar
Al momento de finalizar, se inicia el proceso de configuración del mirroring. Si aparece este mensaje, es porque está todo bien
Progreso de Configuracion
Progreso de Configuracion
Al terminar el asistente, aparecerá una ventana así en la cual nos preguntará si queremos iniciar Mirroring al tiro o no. En mi caso, no configuré el testigo, por lo que no activaré el mirroring para hacer una configuración antes de partir.
Iniciar mirroring
Iniciar mirroring
Antes de comenzar el mirroring, lo configuré como asíncrono y luego inicié el mirroring

Mirroring Funcionando

Mirroring Funcionando
 
 
 
  • VIDEO DE COMO REALIZAR UN ESPEJO
 
 
 

jueves, 7 de noviembre de 2013

QUE ES UNA 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
 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

EJEMPLO DE  REPLICACION

martes, 5 de noviembre de 2013

Espejeo (mirroring).

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 cuando conectamos con la aplicación el servidor de sql al que nos conectamos y un failover partner, o 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.
La creacián de un espejo reflejo de la base de datos de SQL Server permite mantener una copia, o reflejo, de una base de datos de SQL Server en un servidor en espera. El reflejo garantiza que en todo momento existen dos copias distintas de los datos, lo que proporciona una alta disponibilidad y una completa redundancia de datos.
El proveedor de datos de .NET para SQL Server ofrece compatibilidad implícita con la creación de reflejo de la base de datos; así el desarrollador no tiene que realizar ninguna acción ni escribir ningún código una vez que se ha configurado para una base de datos de SQL Server. Además, el objeto SqlConnection admite un modo de conexión explícita que permita proporcionar el nombre de un servidor asociado de conmutación por error en la propiedad ConnectionString.
La siguiente secuencia simplificada de eventos tiene lugar para un objeto SqlConnection que identifica una base de datos configurada para el reflejo:
  1. La aplicación cliente se conecta correctamente a la base de datos principal y el servidor devuelve el nombre del servidor asociado, el cual se almacena en caché en el cliente.
  2. Si el servidor que contiene la base de datos principal da error o se interrumpe la conectividad, se pierde el estado de la conexión y de la transacción. La aplicación cliente intenta restablecer la conexión a la base de datos principal pero no lo consigue.
  3. La aplicación cliente intenta entonces de forma transparente establecer una conexión a la base de datos de reflejo del servidor asociado. Si lo consigue, la conexión se redirecciona a la base de datos de reflejo, que se convierte entonces en la nueva base de datos principal.
Beneficios del espejeo de Datos en un DBMS.

La creación de reflejo de la base de datos es una estrategia sencilla que ofrece las siguientes ventajas:
  • Incrementa la disponibilidad de una base de datos. Si se produce un desastre en el modo de alta seguridad con conmutación automática por error, la conmutación por error pone en línea rápidamente la copia en espera de la base de datos, sin pérdida de datos. En los demás modos operativos, el administrador de bases de datos tiene la alternativa del servicio forzado (con una posible pérdida de datos) para la copia en espera de la base de datos. Para obtener más información, vea Conmutación de roles, más adelante en este tema.
  • Aumenta la protección de los datos. La creación de reflejo de la base de datos proporciona una redundancia completa o casi completa de los datos, en función de si el modo de funcionamiento es el de alta seguridad o el de alto rendimiento. Para obtener más información, vea Modos de funcionamiento, más adelante en este tema. Un asociado de creación de reflejo de la base de datos que se ejecute en SQL Server 2008 Enterprise o en versiones posteriores intentará resolver automáticamente cierto tipo de errores que impiden la lectura de una página de datos. El socio que no puede leer una página, solicita una copia nueva al otro socio. Si la solicitud se realiza correctamente, la copia sustituirá a la página que no se puede leer, de forma que se resuelve el error en la mayoría de los casos. Para obtener más información, vea Reparación de página automática (grupos de disponibilidad/creación de reflejo de base de datos).
  • Mejora la disponibilidad de la base de datos de producción durante las actualizaciones. Para minimizar el tiempo de inactividad para una base de datos reflejada, puede actualizar secuencialmente las instancias de SQL Server que hospedan los asociados de creación de reflejo de la base de datos. Esto incurrirá en el tiempo de inactividad de solo una conmutación por error única. Esta forma de actualización se denomina actualización gradual. Para obtener más información, vea Instalar un Service Pack en un sistema con un tiempo de inactividad mínimo para bases de datos reflejadas.

Activación de espejeo en un DBMS

MySQL

Lo primero que debemos hacer es checar si ambos servidores se encuentran en red

Caso Windows

Caso Linux

Cambie el comando ipconfig por ifconfig

Software

Verifque que el MySQL instalado en el maestro y en el esclavo son iguales. En este casp MySQL Server 5.6

Configuración del Maestro

  1. Localizar el archivo My.ini -Windows- (My.cnf -Linux)
  2. Buscar y comentar las siguientes lineas si es que se encuentran:
    #skip-networking
    #bind-address = 127.0.0.1
  3. Agregar después de la línea [mysqld] lo siguiente:
    log-bin =mysql-bin.log
    binlog-do-db=dolar
    server-id=1
    Nota: El server-id en el servidor siempre será 1, y los esclavos serán 2, 3… n según sea el caso en binlog-do-db se pone el nombre de la base de datos que replicara después de signo =
  4. Desde el panel de control entramos en Herramientas administrativas, Servicios y reanudamos MySQL. Este paso se omite en Linux
  5. Ahora en el shell de mysql genere una cuenta para el esclavo con el privilegio REPLICATION SLAVE:
    GRANT REPLICATION SLAVE ON *.* TO 'esclavo1'@'%' IDENTIFIED BY 'bingo';
    FLUSH PRIVILEGES;
    Nota: esclavo1 es el usuario identificado por el passwword bingo.Los posteriores replicadores deberán ser esclavo2, ..., esclavo-n.
  6. Seleccione la base de datos a replicar y realice lo siguiente:
    USE dolar;
    FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;
    El resultado será algo similar a la figura
    La columna File muestra el nombre del log, mientras que Position muestra el desplazamiento. En este ejemplo, el valor del log binario es BARBANEGRA-bin.000004 y el desplazamiento es 1057. Guarde los valores. Los necesitará más tarde cuando inicialice el servidor. Estos representan las coordenadas de la replicación en que el esclavo debe comenzar a procesar nuevas actualizaciones del maestro.
  7. Salir de MySQL usando el comando exit o quit.
  8. Ahora desde la terminal o en el cmd haremos un Backup de la Base de Datos que se encuentra en el Maestro para tener el mismo esquema y datos en los esclavos:
    mysqldump -u root -p -dolar > dolar.sql
  9. Por últino desbloqueamos la base de datos
    mysql -u root -p
    UNLOCK TABLES;
    quit;

http://www.prograweb.com.mx/admonBD/0403EspejeoActivacion.html

lunes, 4 de noviembre de 2013

 PROBLEMAS DE SEGURIDAD

1.     La contraseña de una cuenta que utilizan uno o más agentes de replicación ha cambiado.
Cambie la contraseña de todos los agentes de replicación que utilicen dicha cuenta. Para obtener más información, vea Cómo ver y modificar la configuración de seguridad de la replicación (SQL Server Management Studio) y Cómo ver y modificar la configuración de seguridad de la publicación (programación de la replicación con Transact-SQL).
2.     La cuenta que utiliza un agente de replicación ya no es válida y debe cambiar.
Cambie la cuenta utilizando el cuadro de diálogo o el procedimiento almacenado adecuado. Para obtener más información, vea Cómo ver y modificar la configuración de seguridad de la replicación (SQL Server Management Studio) y Cómo ver y modificar la configuración de seguridad de la publicación (programación de la replicación con Transact-SQL).
3.     Un agente de replicación no tiene permisos suficientes para conectarse a un equipo de la topología o realizar operaciones en una base de datos.
Asegúrese de que el agente está utilizando un inicio de sesión válido y cuenta con suficientes permisos. Para obtener más información, vea Modelo de seguridad del Agente de replicación.
4.     El Agente de instantáneas no puede escribir en la carpeta de instantáneas; el Agente de distribución o el Agente de mezcla no pueden leer en la carpeta de instantáneas.
Asegúrese de que los agentes disponen de los permisos adecuados de directorios y de recursos compartidos. Para obtener más información, vea Proteger la carpeta de instantáneas.
5.     Una instantánea no se puede transferir mediante el protocolo de transferencia de archivos (FTP) debido a un problema de permisos o porque el Agente de distribución o el Agente de mezcla no pueden encontrar la carpeta FTP de la publicación.
Asegúrese de que el servidor FTP está configurado correctamente y que la ruta de acceso a la carpeta FTP se ha especificado correctamente. Para obtener más información, vea Cómo entregar una instantánea a través de FTP (SQL Server Management Studio) y Cómo entregar una instantánea a través de FTP (programación de la replicación con Transact-SQL).
6.     Tiene problemas de permisos al conectarse con un publicador de Oracle.
Es necesario realizar diversas comprobaciones, que incluyen comprobar que la cuenta que la replicación utiliza para conectar con el publicador de Oracle y la cuenta con la que Microsoft SQL Server se ejecuta en el distribuidor disponen de permisos suficientes. Para obtener más información, vea Solucionar problemas de los publicadores de Oracle.
7.     Se recibe el siguiente mensaje de error: Error de inicio de sesión del usuario 'distributor_admin'.
Asegúrese de que la cuenta distributor_admin tiene una contraseña segura válida. La replicación crea un servidor remoto, repl_distributor, que permite la comunicación entre el distribuidor y el publicador. El inicio de sesión distributor_admin se asocia con este servidor remoto y debe tener una contraseña válida. Para obtener más información, vea Proteger el distribuidor.
8.     Se recibe el siguiente mensaje de error: No se pudo copiar el archivo de script de usuario para el distribuidor.(%ls)
Asegúrese de que se ha especificado la ruta de acceso correcta a la carpeta de instantáneas. Si la suscripción se inicializa sin una instantánea, compruebe que la cuenta con la que se ejecuta el servicio SQL Server en el publicador dispone de permisos suficientes. Para obtener más información, vea MSSQL_ENG021331.
Autenticación: Se examinan las capacidades de logon único a la red, autenticación y seguridad. Además, se proporciona información sobre el interfaz Security Support Provider Interface (SSPI) para obtener servicios de seguridad integrados del sistema operativo. Kerberos es el protocolo por defecto en Windows 2000 para autenticación en red.
Sistema de Archivos Encriptado: El Sistema de Archivos Encriptado (Encrypted File System - EFS) proporciona la tecnología principal de encriptación de archivos para almacenar archivos del sistema de archivos NTFS de Windows NT encriptados en disco.
Seguridad IP: Windows IP Security, del Internet Engineering Task Force, proporciona a los administradores de redes un elemento estratégico de defensa para la protección de sus redes.
Servicios de seguridad en Windows 2000: se examinan los procedimientos relacionados con la gestión de cuentas, autenticación de red a nivel corporativo, así como el Editor de Políticas de Seguridad.
Tarjetas Inteligentes: se examinan los procesos de autenticación utilizando tarjetas inteligentes y los protocolos, servicios y especificaciones asociadas.
Tecnologías de Clave Pública: se revisa la infraestructura de clave pública incluida en los sistemas operativos de Microsoft y se proporciona información sobre criptografía.



Niño de 12 años, culpable de hackear para Anonymous

El articulo trata de como un niño de 12 años logra infiltrarse en las bases de datos de compañias importantes del mundo como la policia de Montrial  y el instituto de salud publica de chile.

los métodos o problemas que el utilizo mas frecuentemente fueron los siguientes: 

  1. inundó los servidores con peticiones de acceso para bloquearlos.
  2. se aprovechó de agujeros de seguridad para entrar en la base de datos.
  3. alteró la información para cambiar la página de inicio.
Las causas de estos problemas mas notables es la baja seguridad con la que estos sitios estan equipados, ya que ellos tiene que estar protegisdos para estos tipos de sucedos que se presentan y para ellos tiene que tener soluciones al instante 

PERFIL DEL ADMINISTRADOR DE BASE DE DATOS
 
Administrador de bases de datos Sybase
Request: IB034
Job Title: Administrador de bases de datos Sybase
Número de recursos requeridos: 2
Required Skills and Experience:
1: Job Description: Administración física de bases de datos Adaptative Server Enterprise Sybase 12.X y 15.X, administración de Replication Server Sybase, sistema operativo UNIX (de preferencia AIX) programación, metodologías de la metodología ITIL, administración Lógica de base de datos Adaptative Server Enterprise Sybase 12.X y 15.X.
Core Skills: Sybase 12.X y 15.X, UNIX, ITIL
2: Job Description: Administración física de bases de datos Adaptative Server Enterprise Sybase 12.X y 15.X, administración de Replication Server Sybase, sistema operativo UNIX (de preferencia AIX) programación, metodologías de la metodología ITIL, administración Lógica de base de datos Adaptative Server Enterprise Sybase 12.X y 15.X. IBM DB2 database software
Core Skills: Sybase 12.X y 15.X, UNIX, ITIL, IBM DB2 database software
Begin Date: lo más pronto posible
End Date: 6 meses a 1 año Con MUCHAS posibilidades reales de extensión de acuerdo a performance técnico, trabajo en equipo, compromiso profesional, compañerismo y fidelidad a SDI IT
Assignment Location: Distrito Federal

CONDICIONES DE CONTRATACIÓN.
El contrato será de Nomina por tiempo determinado o por proyecto (6 meses a 1 año) con altas posibilidades de extenderse de acuerdo a tu performance, y te comprometerás a cumplir con la duración del contrato o proyecto.
Ofrecemos prestaciones mínimas de ley. (15 Días de aguinaldo, 6 Días de vacaciones, 1.5 Días de prima vacacional, IMSS e INFONAVIT)
El pago es quincenal.
5 días antes de terminar el proyecto y en el remoto caso que no hubiera extensión del mismo se procede de la siguiente manera: 1.- Se te intentara asignar con el mismo cliente en otro proyecto si es que tiene requerimientos de consultores con tus skills. 2.- Se intentara asignarte con otro cliente en tu lugar de residencia, o en otro lado el país pagándote viáticos adicionales al rate. 3-SI HABLAS MIN 85% DE INGLES Y TIENES VISA AMERICANA, podemos intentar asignarte con otro cliente en USA con pago de viáticos adicionales al rate. 4.-En el remoto caso de que ninguna de estas opciones se cumpla, terminando el contrato ya sea inicial o ultimo, se procede a dejarte nuevamente libre de buscar trabajo en otro lado, es muy importante aclarar en éste punto que sólo se entregara finiquito al terminar el proyecto,
Fecha:24 de octubre de 2013
Localidad:Distrito Federal
Estado:D. Federal
Salario:negociable
Comienzo:lo mas pronto posible
Duración:minimo 6 meses
Tipo de trabajo:Tiempo Completo
Solicitudes:correo
Empresa:SDI IT Services Develop International SA
Contacto:Maria Antonieta Lopez Gasca
Teléfono:
Fax:
Correo-E:
 ------------------------------------------------------------------------------------------------------------------------
ADMINISTRADOR BASES DE DATOS ORACLE » Ciudad de México, Distrito Federal
Area
Administración de Base de Datos
Tipo de Puesto
Tiempo Completo
Vacantes
1
Sexo
Indistinto.
Salario
No especificado.
Fecha de Publicación
30/10/2013
Descripción

ADMINISTRADOR BASES DE DATOS ORACLE
REQUISITOS:
DBA - Administrador de Base de datos de ORACLE utilizando consola de unix y comandos SQL - Uso de RMAN - Conocimiento en UNIX - Ingles avanzado


OFRECEMOS

- Sueldo competitivo
- Prestaciones de ley y Superiores a las de la ley
 
-------------------------------------------------------------------------------------------------------------------------
 
Administrador de Base de Datos
Administrador de Base de Datos

Requisitos:

Ingeniería en sistemas, telecomunicaciones o carreras afines
Sexo indistinto

• Conocimientos en Diseño e implementación de bases de datos.
• Conocimientos en la Instalación, configuración y actualización de Microsoft SQL Server / MySQL y productos relacionados.
• Conocimientos en RDBMS
• Importación, exportación y depuración de bases de datos con SQL y MySQL
• ITIL
• Conocimientos en (Gestión del Problema / Manejo de Incidentes / Service Desk)
• Cubos Olap
• Linux-Unix
• Sharepoint
• Datawarehouse
Funciones:
• Proporcionar un alto nivel de apoyo técnico en materia de administración de bases de datos cliente-servidor.
• Definir y mantener la estructura de las bases de datos, así como definir las normas, políticas y procedimientos correspondientes.
• Supervisar el desempeño y realizar la afinación de las bases de datos.
• Definir y mantener estrategias de seguridad para bases de datos.
• Realizar las actividades ya establecidas del área de Análisis y Control estadístico, como son el análisis, diagnóstico, reportes y evaluaciones.
• Generar un reporte de las actividades de la Administración de Base de Datos
• Supervisar el óptimo funcionamiento de Base de Datos.
• Generación de consultas simples o complejas para explotación de información.
• Optimizar, validar y mejorar la seguridad en la Base de Datos
• Esquemas de replicación.

Ofrecemos:

Contratación directa con el cliente (contratación fija, no es proyecto)

Sueldo: $25,000 a $30,000 brutos (prestaciones de ley)

Horario: Lunes a Viernes de 8:30 a 6:30

Zona: San Rafael

Interesados enviar CV vía mail a la dirección que aparece en el contacto, favor de indicar en el asunto el nombre de la vacante de interés y pretensiones económicas (no será tomado en cuenta quien no proporcione esta información).
Fecha:4 de noviembre de 2013
Localidad:San Rafael
Estado:D. Federal
Salario:$25,000 a $30,000
Comienzo:Inmediato
Duración:Indefinida
Tipo de trabajo:Tiempo Completo
Solicitudes:Interesados enviar CV vía mail a la dirección que aparece en el contacto, favor de indicar en el asunto el nombre de la vacante de interés y pretensiones económicas (no será tomado en cuenta quien no proporcione esta información).
Empresa:Selecciona
Contacto:Karla Ruiz
Teléfono:
Fax:
Correo-E:.
 
 
 
 
---------------------------------------- 





------------------------------------------------------------------------------