本文主要讲述ogg 12.3 经过CDC抽取sqlserver 2016 enterprise的过程,投递配置相对简单,因此不在此阐述。sql
1. 解压ogg 12.3 for sqlserver软件,执行create subdirs,编辑mgr并启动。数据库
2. 数据库安装配置,并打补丁sqlserver
3. create schema ogg测试
4. 建立测试表命令行
5. 建立globals文件3d
6. 建立同步用户server
7. 确保sqlagent能正常启动blog
8. 在源端DB上启用CDC进程
9. add trandataip
10. 建立清理历史变动数据的job
11. 建立ODBC
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 [source]
GO
CREATE SCHEMA [ogg] AUTHORIZATION [dbo]
GO
use source; create table dbo.test1 (id int primary key, name varchar(50)); create table dbo.test2( id int, name varchar(50), age int); use target; 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
并赋权
目标端用户
agent用于启动CDC对应的job, 因此必需要启动agent才能正常同步。
use source
EXECUTE sys.sp_cdc_enable_db
GGSCI>dblogin sourcedb srcdb, userid srcogg, password srcogg
GGSCI>add trandata dbo.test1
GGSCI>add trandata dbo.test2
执行完成以后,能够看到多了一张配置表
ogg.OracleGGTranTables will be added automatically.
若是数据表没有add trandata,则不能捕获其变动数据。
须要先删除DB自带的clean job
EXECUTE sys.sp_cdc_drop_job 'cleanup'
而后在OGG安装目录下,进入命令行,执行以下语句,其中(local)是默认的sqlserver实例
ogg_cdc_cleanup_setup.bat createjob srcogg srcogg source (local) ogg |
add two tables:
and add a new job
若是须要远程捕获sqlserver,则只要配置经过odbc远程访问DB便可实现。
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');
查看OGG的抽取进程状态
有捕获到数据。