本文主要講述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的抽取進程狀態
有捕獲到數據。