Skip to content

POLL_MODIFY_DATA

接口/方法功能

变更记载日志以二进制形式存在,需要通过POLL_MODIFY_DATA特定的接口来特别解析处理,POLL_MODIFY_DATA可满足多种消费BINLOG日志的消费模式,最终会以明文的形式将BINLOG中的内容展现出来;需要注意的是POLL_MODIFY_DATA接口仅可以在具有GATHER属性的节点上执行(单机自带GATHER属性),在任何非GATHER节点之外的其它节点上发起的执行请求均会被无条件中断。关于POLL_MODIFY_DATA接口更详细的解释请参阅《变更记载模块设计》。

接口/方法声明

  PROCEDURE POLL_MODIFY_DATA(SUBSCRIBER_NAME VARCHAR,PARTI_NO INTEGER,FILTER VARCHAR,POLL_LEN BIGINT,KEEP_POS BOOLEAN,FNO INTEGER DEFAULT -1,FPOS BIGINT DEFAULT 0);

参数说明

参数名称参数类型参数解释默认值
SUBSCRIBER_NAMEVARCHAR新建的订阅者名称
PARTI_NOINTEGER分区号
FILTERVARCHAR过滤条件
POLL_LENBIGINT本次查询需要扫描的日志文件长度(字节)
KEEP_POSBOOLEAN是否移动当前分区的备份数据读取位置到本次读取结束位置
FNOINTEGER本次查询开始的文件号-1
FPOSBIGINT本次查询的开始文件内偏移量0

操作示例

-- 从0号分区0号日志的头部开始解析长度为10MB的内容,查找obj_id=1048577的所有DDL/DML操作。
exec DBMS_REPLICATION.POLL_MODIFY_DATA('test',0,'obj_id=1048577',10*1024*1024,true,0,0);