初步解决了事务的划分问题. 这得感谢biti_rainy的帮助, 从另一个角度来看, 如果我们的DBA可以一起研究, 估计速度要快得多.

    已经可以用XID这一条线来划分Redo SQL的事务关系了, 来看一下MyLOG的输出例子吧!

LOG> extract start 2 end 6
Start extract redo SQL ...
RBA=0x005e30.00000002.0010,  SCN=0x031f.05c00824,  XID=0x0012.049.000dc2bb,  UBA=0x62c263c4.498b.08
   INSERT INTO OBJ_1044190 (COL1,COL2,COL3,COL4,COL5) VALUES (?,?,?,?,?);

RBA=0x005e30.00000002.0188,  SCN=0x031f.05c00824,  XID=0x000e.018.000daa6f,  UBA=0x3b41c2dd.3bce.2d
   UPDATE OBJ_28267 SET COL84 = ?,COL95 = ?,COL96 = ? WHERE COL84 = ? AND COL95 = ? AND COL96 = ?;

RBA=0x005e30.00000004.0128,  SCN=0x031f.05c00824,  XID=0x0016.04d.0005a421,  UBA=0xb4000fe3.1a0a.0e
   UPDATE OBJ_28267 SET COL3 = ?,COL20 = ?,COL23 = ?,COL34 = ?,COL35 = ?,COL36 = ?,COL39 = ?,COL40 = ?,COL41 = ?,COL45 = ?,COL51 = ?,COL82 = ?,COL83 = ?,COL84 = ?,COL95 = ?,COL96 = ? WHERE COL3 = ? AND COL20 = ? AND COL23 = ? AND COL34 = ? AND COL35 = ? AND COL36 = ? AND COL39 = ? AND COL40 = ? AND COL41 = ? AND COL45 = ? AND COL51 = ? AND COL82 = ? AND COL83 = ? AND COL84 = ? AND COL95 = ? AND COL96 = ?;

RBA=0x005e30.00000006.0028,  XID=0x000e.018.000daa6f,  UBA=0x3b41c2dd.3bce.2d,  Commit Transaction

    上面只是第2个块到第6个块的Redo SQL, 看更多的请下载这个文件. 接下来初步估计有两个任务, 第一个是增加对Oracle 10g的日志文件的支持; 第二个是增加一个数据字典, 解出更直接的Redo SQL语句. 最后肯定留下一堆堆的Bug慢慢研究.

    好象对开发一个类SharePlex逻辑复制软件的信心越来越足了.