Colección de citas famosas - Colección de firmas - ¿Cómo sincronizar tablas de Oracle con el servidor SQL con regularidad?

¿Cómo sincronizar tablas de Oracle con el servidor SQL con regularidad?

1. Dos servidores diferentes;

2. Sincronización programada de Oracle10g (todos los días a las 2:00 am) con sqlserver2005

3. Por razones de seguridad, el servicio al cliente no proporciona sqlserver2005. Cuenta y contraseña, solo necesitamos proporcionar el conjunto de datos;

4. El lenguaje de programación de ambas partes es java;

Bajo estas premisas, propongo varias soluciones solo como referencia:

Respuesta: Si se puede acceder a Oracle en el servidor del cliente, Oracle proporcionará una interfaz para que la implemente el servidor del cliente, devolverá los datos de sincronización requeridos al servidor del cliente y almacenará los datos de operación del servidor del cliente en sqlserver2005. . Descripción del código de la interfaz: establezca una conexión jdbc con Oracle (cuenta temporal) de forma remota, consulte la vista proporcionada por Oracle, acceda al conjunto de datos requerido por el cliente, cree un paquete jar y el cliente llama al método de implementación de la interfaz para obtener los datos.

b: Si el servidor del cliente no puede acceder a Oracle, los datos que se sincronizarán se colocarán en XML, el servidor del cliente accederá a su XML (http o socket) y Oracle proporcionará un mecanismo de análisis. para devolver el conjunto de datos.

c: Las diferencias se logran mediante software de sincronización de bases de datos de código abierto (resultados de Google: metricds DS, opendbdiff (para sqlserver))

Las primeras tres soluciones pueden lograr la sincronización de Oracle a sqlserver2005, pero si la cantidad de datos es grande, puede causar pérdida de datos o velocidad de sincronización lenta, por lo que se formula el siguiente plan:

Establezca una tabla de sincronización y coloque los campos de la tabla de datos requeridos por el cliente en la tabla de sincronización, por ejemplo:

p>

Tabla de usuarios: wid, ID de usuario, contraseña

Tabla de sincronización de usuarios: wid, ID de usuario, contraseña, no, tipo de operación, fecha de operación.

Puedes ver que hay tres campos más en la tabla de sincronización: no, tipo de operación y fecha de operación.

No es el número de serie, generado por la secuencia de Oracle, tipo de operación es el tipo de proceso, agregar 0, modificar 1, eliminar 2, fecha de operación es la fecha del proceso, tomar el tiempo completo actual (año, mes, día). , minuto, segundo ).

Crear un disparador de tabla de usuarios. Si hay operaciones en la tabla de usuarios, coloque los campos de la tabla de usuarios requeridos por el cliente en la tabla de sincronización. Si se agrega, el valor del tipo de operación se inserta en 0, y así sucesivamente.

En el lado del servidor de servicio al cliente, Oracle proporciona una interfaz para consultar la tabla de sincronización para obtener el conjunto de resultados y analiza con el servicio al cliente cómo operar estos datos.

De esta forma se pueden modificar qué datos simultáneamente, reduciendo la presión sobre los dos servidores.