logminer java_使用OracleLogminer同步Demo1Demo介绍-博客园.PDF

使用OracleLogminer同步Demo1Demo介绍-博客园

使用Oracle Logminer 同步Demo

1 Demo 介绍

1.1 Demo 设想

前面介绍了Oracle LogMiner 配置使用以及使用LogMiner 进行解析日志文件性能,在这

篇文章中将利用 LogMiner 进行数据同步,实现从源目标数据库到目标数据库之间的数据同步。

由于LogMiner 支持的版本是8.1 及以上,所以进行数据同步的Oracle 数据库版本也必须是8.1

及以上。

当然在本文中介绍的是LogMiner进行数据同步例子,也可以利用LogMiner进行数据审计、

数据操作追踪等功能,由于这些从操作原理来说是一致,在本文不做讨论。

1.2 框架图

第 1 页 共 9 页 出自石山园主,博客地址:/shishanyuan

1.3 流程图

 配置阶段

1、控制端:指定源端、目标端数据库信息、LOGMINER 同步时间等配置信息;

 获取源端同步数据

2、控制台:通过定时轮询的方式检测是否到达数据同步时间,如果是则进行数据同步,否

则继续进行轮询;

3、源数据库 :定时加载数据库归档日志文件到动态表v$logmnr_contents 中;

4、源数据库:根据条件读取指定sql 语句;

 目标端数据入库

5、源数据库:执行sql 语句。

2 代码分析

2.1 目录及环境配置

在该 Demo 项目中需要引入Oracle JDBC 驱动包,具体项目分为四个类 :

第 2 页 共 9 页 出自石山园主,博客地址:/shishanyuan

1. Start.java :程序入口方法;

2. SyncTask.java :数据同步Demo 核心,生成字典文件和读取日志文件、目标数据库执

行SQL 语句等;

3. DataBase.java :数据库操作基础类;

4. Constants.java :源数据库、目标数据库配置、字典文件和归档文件路径。

2.2 代码分析

2.2.1 Constants.java

在该类中设置了数据同步开始SCN 号、源数据库配置、目标数据库配置以及字典文件/ 日志

文件路径。需要注意的是在源数据库配置中有两个用户:一个是调用 LogMiner 用户,该用户

需要拥有dbms_logmnr、dbms_logmnr_d 两个过程权限,在该Demo 中该用为为sync ;另

外一个为 LogMiner 读取该用户操作SQL 语句,在该Demo 中该用为为LOGMINER。

package com.constants;

/**

* [Constants]|描述:Logminer配置参数

* @作者: ***

* @日期: 2013-1-15 下午01:53:57

* @修改历史:

*/

public class Constants {

/** 上次数据同步最后SCN号 */

public static String LAST_SCN = "0";

第 3 页 共 9 页 出自石山园主,博客地址:/shishanyuan

/** 源数据库配置 */

public static String DATABASE_DRIVER="oracle.jdbc.driver.OracleDriver";

public static String

SOURCE_DATABASE_URL="jdbc:oracle:thin:@:1521:practice";

public static String SOURCE_DATABASE_USERNAME="sync";

public static String SOURCE_DATABASE_PASSWORD="sync";

public static String SOURCE_CLIENT_USERNAME = "LOGMINER";

/** 目标数据库配置 */

public static String SOURCE_TARGET_URL="jdbc:oracle:thin:@:1521:target";

public static String SOURCE_TARGET_USERNAME="target";

public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值