SQLSERVER环境
检查SQLSERVER版本,需要2008网上企业版
Osql -S {ip} -U xu-P xp
SELECT SERVERPROPERTY('productversion') as '产品版本'
, SERVERPROPERTY ('productlevel') as '产品级别'
, SERVERPROPERTY ('edition') as '版本'
, @@version
数据库日志模式:FULL模式
SELECT name, recovery_model_desc
FROM sys.databases
WHERE name in( 'model' ,'{database}');
关闭数据库 'trunc. log on chkpt'
use master
go
EXEC sp_dboption '{database}', 'trunc. log on chkpt', 'false'
go
创建登录
-- 创建ogg数据库与ogg用户
-- 创建数据库
create database ogg
go
use master
go
create login ogg
with password = ogg1234,
CHECK_POLICY=OFF,default_database=ogg;
go
exec sp_addsrvrolemember 'ogg','sysadmin';
go
-- 创建用户
use ogg
go
create user ogg
for login ogg
go
exec sp_addrolemember 'db_owner',ogg;
go
查看数据库或表是否启用cdc (不需要启动,配置完成自动启动)
SELECT name,is_cdc_enabled FROM sys.databases WHERE is_cdc_enabled = 1
SELECT name,is_tracked_by_cdc FROM Demo.sys.tables WHERE is_tracked_by_cdc = 1
GO
首次备份数据库(配置完成前不要截断日志)
BACKUP DATABASE [Demo] TO DISK= N'E:\MSSQL\Demo.bak' WITH CHECKSUM,COMPRESSION
创建ODBC连接
控制面板中的数据源管理
系统DSN名称,以DSN开头,以数字结尾,即“DSN+[0,1,…,9]…[0,1,…,9]”形式;
SQL Server 2005 ODBC/OLE DB驱动选择: SQL Native Client driver;
SQL Server 2008 ODBC/OLE DB驱动选择: SQL Server Native Client 10.0 driver;
image.png
OGG操作
注册windows服务
将 Manager 进程添加为 Windows 服务(名称默认为: GGSMGR)
此命令需要在cmd命令下执行:
E:
Cd E:\GCDSJ\ORACLE\OGG\191003_ggs_Windows_x64_MSSQL_64bit_CDC
install addservice
ps : 操作报错
image.png
报错问题解决
安装Microsoft.Net.Framework 4.6.1
安装Visual C++ 2015
继续报错
image.png
下载或者直接从其他系统拷贝缺失文件到C:\Windows\System32目录
创建ogg子目录
Ggsci
create subdirs
添加表级事务日志
通过dblogin登陆到数据库,添加表级事务日志 add trandata;
dblogin sourcedb dsn001 userid ogg password ogg1234
查看表名列表:
LIST TABLES dbo.*
查看表级事务状态:
Info trandata dbo.xxx
添加全局配置文件
edit param ./GLOBALS
GGSCHEMA dbo
添加表级事务:
ADD TRANDATA dbo.xxx
-- ogg 批量添加表级事务
SELECT 'add trandata dbo.'+NAME
FROM SYSOBJECTS WHERE TYPE='U' order by 1
查询出的结果放在ggsci命令行中执行
准备参数文件
管理进程配置文件
edit params mgr
port 7839
dynamicportlist 7840-7939
autorestart extract *,waitminutes 3,retries 8
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
源端表结构定义配置文件
edit params t001
defsfile ./dirdef/t001.def
sourcedb dsn001 userid ogg password ogg1234
table dbo.xxx;
抽取进程配置文件
edit params ext001
extract ext001
sourcedb dsn001,userid ogg password ogg1234
reportcount every 30 minutes,rate
TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
exttrail ./dirdat/t
DISCARDFILE ./dirrpt/ext001.dsc,APPEND,MEGABYTES 1024
DYNAMICRESOLUTION;
table dbo.xxx;
投递进程配置文件
edit params pmp001
extract pmp001
sourcedb dsn001,userid ogg password ogg1234
--passthru
rmthost xxx,mgrport 7839
numfiles 5000
dynamicresolution
rmttrail ./dirdat/t
table dbo.xxx;
生成源端表结构定义文件
defgen paramfile ./dirprm/t001.prm
拷贝到目标端dirdef,如果结构变化,要重新操作
如果表数量较多,建议拆分抽取及投递进程,表结构文件同步拆分多份
定义进程
抽取进程
从当前时间点开始抽取数据
add extract ext001, tranlog, begin now
add exttrail ./dirdat/t, extract ext001, megabytes 100
投递进程
add extract pmp001,exttrailsource ./dirdat/t
add rmttrail ./dirdat/a1, EXTRACT pmp001
启动进程
start mgr
start ext001
start pmp001 -- 投递进程在初始化后再启动