参考博文:https://www.jianshu.com/p/53882229b70e
1)根据不同的数据库客户端安装不同的ogg,
2)运行./ggsci,进入ogg管理控制台,创建其需要的目录 create subdirs
1)登陆到oracle创建复制用的用户,并授权。
SQL> create user erpdb identified by erpdb default tablespace erpdb
GRANT create table to erpdb;
SQL> GRANT CONNECT TO erpdb;
SQL> GRANT ALTER ANY TABLE TO erpdb;
SQL> GRANT ALTER SESSION TO erpdb;
SQL> GRANT CREATE SESSION TO erpdb;
SQL> GRANT FLASHBACK ANY TABLE TO erpdb;
SQL> GRANT SELECT ANY DICTIONARY TO erpdb;
SQL> GRANT SELECT ANY TABLE TO erpdb;
SQL> GRANT RESOURCE TO erpdb;
SQL> GRANT DELETE ANY TABLE TO erpdb;
SQL> GRANT INSERT ANY TABLE TO erpdb;
SQL> GRANT UPDATE ANY TABLE TO erpdb;
SQL> GRANT RESTRICTED SESSION TO erpdb;
GRANT All PRIVILEGES to erpdb
2)初始化global参数
输入ggschema erpdb
3)登陆ogg控制台,添加需要同步的oracle表
GGSCI (local) 1> dblogin userid erpdb
password:***
GGSCI (local) 1> add trandata erpdb.*
4)配置mgr
PORT 7809
DYNAMICPORTLIST 7840-7850
--AUTOSTART ER *
ACCESSRULE, PROG *, IPADDR 10.124.*.*, ALLOW
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
5)启动mgr,并查看状态
在ogg控制台输入
start mgr
在ogg控制台输入 info all 查看状态
6)配置抽取进程
在ogg 控制台输入 edit param ext1
输入:
EXTRACT ext1
setenv (NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV (ORACLE_HOME = "/oracle/product/11.2.0/db_1")
SETENV (ORACLE_SID = "erpdb")
USERID erpdb, PASSWORD ***
--GETTRUNCATES
REPORTCOUNT EVERY 1 MINUTES, RATE
DISCARDFILE ./dirrpt/extss.dsc,APPEND,MEGABYTES 1024
--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000
DBOPTIONS ALLOWUNUSEDCOLUMN
WARNLONGTRANS 2h,CHECKINTERVAL 5m
EXTTRAIL /ogg/dirdat/xs
--TRANLOGOPTIONS EXCLUDEUSER USERNAME
FETCHOPTIONS NOUSESNAPSHOT
TABLE erpdb.*;
增加一个抽取进程ext1,ext1名字可以根据需要修改,在ogg控制台输入
add extract ext1,tranlog,begin now
将ext1抽取的源数据变更数据写到该文件夹,在ogg控制台输入
add exttrail /ogg/dirdat/xs,extract ext1
7)配置投递进程
在ogg控制台输入 edit param push1
输入:
extract push1
userid erpdb,password ***
SETENV (NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK")
SETENV (ORACLE_HOME = "/oracle/product/11.2.0/db_1")
setenv (ORACLE_SID=erpdb)
passthru
rmthost 10.124.131.43,mgrport 7839,compress
rmttrail /ogg/dirdat/xs
table erpdb.*;
添加push1,在ogg控制台输入
add extract push1,exttrailsource /ogg/dirdat/xs
将push1投递的数据写入文件,在控制台输入
add rmttrail /ogg/dirdat/xs,extract push1
8)启动抽取进程和投递进程
ogg控制台输入
start ext1
start push1
注:启动之后用 info all 查看状态,如果启动 ABENDED,可在ogg控制台输入view report ext1(进程名)查看启动报告,寻找错误
9)去相应的目录下生产define文件
在 /ogg/dirprm目录下编辑 table.prm文件
输入
Defsfile ./dirdef/table.def,purge
userid erpdb ,password ***
Table erpdb.*;
在ogg的安装目录/ogg 下输入
./defgen paramfile dirprm/table.prm
将生成的table.def文件传到对应的mysql目录下
1)运行./ggsci,进入ogg管理控制台
2)创建数据库和表(与oracle需要同步的数据库表结构相对应)
3)配置mgr
edit params mgr
PORT 7839
DYNAMICPORTLIST 7840-7850
--AUTOSTART ER *
ACCESSRULE, PROG *, IPADDR 10.124.*.*, ALLOW
AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
启动mgr :start mgr
4)配置checkpoint table
edit params ./GLOBALS
输入:CHECKPOINTTABLE erpdb.checkpoint
5)登陆
dblogin SOURCEDB erpdb,userid sa
add checkpointtable erpdb.checkpointtab
info checkpointtable erpdb.checkpointtab
6)配置rep进程
edit params REP_ERP
add replicat rep_erp,exttrail /ogg/dirdat/ss,checkpointtable erpdb.checkpointtab
7)启动rep进程
start replicat rep-erp
ogg常用命令
1、 启动manager:start manager
2、 启动extract:start extract extn
3、 启动replicat:start replicat repn
4、 停止manager:stop manager
5、 停止 extract:stop extract extn
6、 停止replicat:stop replicat repn
7、 删除extract:delete extract extn
8、 删除replicat:delete extract repn
9、 查看ogg状态:info all
10、 修改manager参数:edit params mgr
11、 修改extract参数:edit params extn
12、 修改replicat参数:edit params repn
13、 修改全局参数:edit params ./GLOBAL
参考连接https://www.jianshu.com/p/53882229b70e