本文主要讲述ogg 12.3 经过CDC抽取mssqlserver 2016 enterprise的过程,以sqlserver为目标端投递配置相对简单,因此在此不在赘述。sql
针对之前的mssqlserver,是直接解析日志的模式,因此配置略有不一样。数据库
1. 解压ogg 12.3 for sqlserver软件,执行create subdirs,编辑mgr并启动。ide
2. 数据库安装配置,并打补丁sqlserver
3. create schema ogg测试
4. 建立测试表spa
5. 建立globals文件命令行
6. 建立同步用户3d
7. 确保sqlagent能正常启动日志
8. 在源端DB上启用CDCorm
9. 建立ODBC
10. add trandata
11. 建立清理历史变动数据的job
12. 创建抽取进程
13. 测试
OGG软件及sqlserver 2016安装步骤在此省略。
安装完成sqlserver 2016 ent版本以后,还须要打补丁:
https://support.microsoft.com/en-us/help/3166120/fix-could-not-find-stored-procedure-sys-sp-cdc-parse-captured-column-l
用于存放配置表,其中cdc schema由启用CDC步骤的存储过程建立。
语法:
USE [sourcedb]
GO
CREATE SCHEMA [ogg] AUTHORIZATION [dbo]
GO
use sourcedb;
create table dbo.test1 (id int primary key, name varchar(50));
create table dbo.test2( id int, name varchar(50), age int);
use targetdb;
create table dbo.test1 (id int primary key, name varchar(50));
create table dbo.test2( id int, name varchar(50), age int);
在OGG目录下,新建globals文件,内容以下
ggschema ogg
建立访问DB的用户并赋权srcogg, tgtogg
目标端用户
agent用于启动CDC对应的job, 因此必需要启动agent才能正常同步。
use sourcedb
EXECUTE sys.sp_cdc_enable_db
若是须要远程捕获sqlserver,则只要配置经过odbc能远程访问DB便可实现。
GGSCI>dblogin sourcedb srcdb, userid srcogg, password srcogg
GGSCI>add trandata dbo.test1
GGSCI>add trandata dbo.test2
执行完成以后,能够看到多了一张配置表
ogg.OracleGGTranTables由OGG 第一次add trandata自动建立。
须要先删除DB自带的clean job
EXECUTE sys.sp_cdc_drop_job 'cleanup'
而后在OGG安装目录下,进入命令行,执行以下语句,其中(local)是默认的sqlserver实例
ogg_cdc_cleanup_setup.bat createjob srcogg srcogg sourcedb (local) ogg
其中: srcogg为用户名及密码,source为源DB的名称,(local)为sqlserver实例, ogg为对应的schema。
此时,会再增长两张配置表:
and add a new job
GGSCI (DESKTOP-V8IQDQP) 6> view param exsrc
extract exsrc
sourcedb srcdb, userid srcogg, password srcogg
exttrail ./dirdat/aa
table dbo.*;
add extract exsrc, tranlog, begin now
add exttrail ./dirdat/aa, extract exsrc
insert into dbo.test1 values(1, 'bc是中kos');
能够看到正常捕获数据。