本章节包含以下内容:
5.1. 解析本库WAL日志¶
解析本库WAL日志无需添加日志和数据字典
5.1.1. 创建扩展¶
-- 创建扩展
create extension walminer;
5.1.2. 执行普通解析¶
-- 执行解析 select walminer_all();
5.1.3. 时间范围解析¶
-- 时间范围解析 select walminer_by_time('2021-09-08 11:27:00', '2021-09-08 11:37:00');
5.1.4. LSN范围解析¶
-- LSN范围解析 select walminer_by_lsn('0/010000A0', '0/016E6578');
5.1.5. 单表解析¶
-- 单表解析 -- 开始时间/LSN 结束时间/LSN 是否精准解析 表OID select walminer_by_time('2021-09-08 11:27:00', '2021-09-08 11:37:00', 'false', 16452); select walminer_by_lsn('0/010000A0', '0/016E6578', 'false', 16452);
单表解析时,必须指定是否为精准解析。
5.1.6. 查看分析结果¶
-- 查看分析结果 select * from walminer_contents;
5.1.7. 结束分析¶
-- 结束分析 select walminer_stop();
5.2. 解析其他数据库的WAL日志¶
解析其他库的日志暂不支持解析自定义数据类型,如果其他库的WAL日志中存在自定义数据类型,而本库没有对应的数据类型则会解析失败。
5.2.1. 从其他数据库导出数据字典¶
-- 导出数据字典 select walminer_build_dictionary('/home/kingbase/dict');
导出的数据字典名称为:dict
5.2.2. 导入其他数据库的数据字典¶
-- 导入数据字典 select walminer_load_dictionary('/home/kingbase/dict/dict');
5.2.3. 添加日志文件¶
-- 添加日志文件 select walminer_wal_add('/home/kingbase/sys_wal/000000010000000000000001');
5.2.4. 日志解析¶
-- 普通解析 select walminer_all(); -- 时间范围解析 select walminer_by_time('2021-09-08 11:27:00', '2021-09-08 11:37:00'); -- LSN范围解析 select walminer_by_lsn('0/010000A0', '0/016E6578'); -- 单表解析 select walminer_by_time('2021-09-08 11:27:00', '2021-09-08 11:37:00', 'false', 16452); select walminer_by_lsn('0/010000A0', '0/016E6578', 'false', 16452);
5.2.5. 查看分析结果¶
-- 查看分析结果 select * from walminer_contents;
5.2.6. 结束分析¶
结束分析会删除分析过程中生成的中间文件、导入的数据字典、WAL日志文件以及分析结果
-- 结束分析 select walminer_stop();