加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 站长百科 > 正文

ogg异构oracle-mysql

发布时间:2020-12-24 06:20:39 所属栏目:站长百科 来源:网络整理
导读:副标题#e# /* 参数文件里,TABLE参数中有cols和COLSEXCEPT 项 前者用来选择要capture的字段,后者指定要排除的字段 但是官方文档上有一句 Do not exclude key columns,and do not use COLSEXCEPT to exclude columns that contain unsupported data types.

--跟踪文件配置关键字长度<=2
--添加多线程
edit params ext4
extract ext4
dynamicresolution
userid ggs,password ggs
exttrail /home/oracle/app/oracle/ogg/dirdat/xs4
table hr.ah4;
table hr.ah5;

add extract ext4,begin now
add exttrail /home/oracle/app/oracle/ogg/dirdat/x4,extract ext4

edit params ext5
extract ext5
dynamicresolution
userid ggs,password ggs
exttrail /home/oracle/app/oracle/ogg/dirdat/xs4
table hr.ah4;
table hr.ah5;

add extract ext5,begin now
add exttrail /home/oracle/app/oracle/ogg/dirdat/x5,extract ext5

PS:
ext的模板可以是:
EXTRACT extmb
setenv (NLS_LANG = "AMERICAN_AMERICA.UTF8")
SETENV (ORACLE_HOME = "/u01/oracle/product/11.2.0/db_1")
SETENV (ORACLE_SID = "orcl")
USERID ggs,PASSWORD ggs
--GETTRUNCATES
REPORTCOUNT EVERY 1 MINUTES,RATE
DISCARDFILE ./dirrpt/extmb.dsc,APPEND,MEGABYTES 1024
--THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS 60000
DBOPTIONS ALLOWUNUSEDCOLUMN
WARNLONGTRANS 2h,CHECKINTERVAL 3m
EXTTRAIL ./dirdat/mb
--TRANLOGOPTIONS EXCLUDEUSER USERNAME
FETCHOPTIONS NOUSESNAPSHOT
TRANLOGOPTIONS CONVERTUCS2CLOBS
TABLE hr.emp;
SETENV:配置系统环境变量
USERID/ PASSWORD: 指定OGG连接数据库的用户名和密码,这里使用3.4部分中创建的数据库用户OGG;
COMMENT:注释行,也可以用--来代替;
TABLE:定义需复制的表,后面需以;结尾
TABLEEXCLUDE:定义需要排除的表,如果在TABLE参数中使用了通配符,可以使用该参数指定排除掉得表。
GETUPDATEAFTERS|IGNOREUPDATEAFTERS:
是否在队列中写入后影像,缺省复制
GETUPDATEBEFORES| IGNOREUPDATEBEFORES:
是否在队列中写入前影像,缺省不复制
GETUPDATES|IGNOREUPDATES:
是否复制UPDATE操作,缺省复制
GETDELETES|IGNOREDELETES:
是否复制DELETE操作,缺省复制
GETINSERTS|IGNOREINSERTS:
是否复制INSERT操作,缺省复制
GETTRUNCATES|IGNORETRUNDATES:
是否复制TRUNCATE操作,缺省不复制;

6.配置投递进程

edit params push3

extract push3
passthru
dynamicresolution
userid ggs,password ggs
rmthost 192.168.92.61,mgrport 7809
rmttrail /usr/local/dirdat/xs
table hr.ah4;
table hr.ah5;

GGSCI (ora11g) 18> add extract push3,exttrailsource /home/oracle/app/oracle/ogg/dirdat/xs
GGSCI (ora11g) 19> add rmttrail /usr/local/dirdat/xs,extract push3

--配置多线程
edit params push4

extract push4
passthru
dynamicresolution
userid ggs,mgrport 7809
rmttrail /usr/local/dirdat/xs4
table hr.ah4;
table hr.ah5;

add extract push4,exttrailsource /home/oracle/app/oracle/ogg/dirdat/x4
add rmttrail /usr/local/dirdat/x4,extract push4

GGSCI (orcl) 17> add rmttrail /usr/local/dirdat/x4,extract push4
PS:
push的模板:
EXTRACT pushmb
SETENV (NLS_LANG = "AMERICAN_AMERICA.UTF8")
USERID ggs,PASSWORD ggs
PASSTHRU
RMTHOST 192.168.0.165,MGRPORT 7809,compress
RMTTRAIL /home/oracle/app/oracle/ogg/dirdat/xs
TABLE hr.ah4;

RMTHOST:指定目标系统及其Goldengate Manager进程的端口号,还用于定义是否使用压缩进行传输,本例中的compress为压缩传输;
RMTTRAIL:指定写入到目标断的哪个队列;
EXTTRAIL:指定写入到本地的哪个队列;
SQLEXEC:在extract进程运行时首先运行一个SQL语句;
PASSTHRU:禁止extract进程与数据库交互,适用于Data Pump传输进程;
REPORT:定义自动定时报告;
STATOPTIONS:定义每次使用stat时统计数字是否需要重置;
REPORTCOUNT:报告已经处理的记录条数统计数字;
TLTRACE:打开对于数据库日志的跟踪日志;
DISCARDFILE:定义discardfile文件位置,如果处理中油记录出错会写入到此文件中;
DBOPTIONS:指定对于某种特定数据库所需要的特殊参数;
TRANLOGOPTIONS:指定在解析数据库日志时所需要的特殊参数,例如:对于裸设备,可能需要加入以下参数 rawdeviceoggset 0
WARNLONGTRANS:指定对于超过一定时间的长交易可以在gsserr.log里面写入警告信息,本处配置为每隔3分钟检查一次场交易,对于超过2小时的进行警告;

7.配置define文件
因为是异构,所以define作为2个数据库之间表的关系映射,是必不可少的。
--删除defsfile参数文件
--rm -rf /home/oracle/app/oracle/ogg/dirdef/ah4.prm

GGSCI (ora11g) 21> edit params ah4

defsfile /home/oracle/app/oracle/ogg/dirdef/ah4.prm
userid ggs,password ggs
table hr.*;

去相应的目录下生产define文件:应先对每张表创建trandata,在生成异构的表定义映射
[[email?protected] 11.2]$ ./defgen paramfile dirprm/ah4.prm

***********************************************************************
Oracle GoldenGate Table Definition Generator for Oracle
Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258
Linux,Oracle 11g on Aug 23 2012 16:58:29

Copyright (C) 1995,Oracle and/or its affiliates. All rights reserved.


Starting at 2014-04-02 15:47:20
***********************************************************************

Operating System Version:
Linux
Version #1 SMP Fri Jan 27 17:17:51 EST 2012,Release 2.6.18-308.el5
Node: ora11g
Machine: x86_64
soft limit hard limit
Address Space Size : unlimited unlimited
Heap Size : unlimited unlimited
File Size : unlimited unlimited
CPU Time : unlimited unlimited

Process id: 31345

***********************************************************************
** Running with the following parameters **
***********************************************************************
defsfile /home/oracle/app/oracle/ogg/dirdef/ah4.prm
userid ggs,password ***
table hr.ah4;
Retrieving definition for HR.AH4


Definitions generated for 1 table in /home/oracle/app/oracle/ogg/dirdef/ah4.prm

--并将生成的/home/oracle/app/oracle/ogg/dirdef/ah4.prm 传到目的端的相应目录中去
scp /home/oracle/app/oracle/ogg/dirdef/* [email?protected]:/usr/local/dirdef

目的端配置大致分为如下三个步骤:配置mgr,配置checkpoint table,配置应用进程
在目的端先创建一张表,记得带主键:
mysql> create database hr;
mysql> use hr
mysql> create table ah4(id int,primary key(id));
mysql> show tables;

1.配置mgr
cd /usr/local
./ggsci
GGSCI (nosql2) 2> edit params mgr

PORT 7809
DYNAMICPORTLIST 7810-7909
--AUTOSTART ER *
AUTORESTART EXTRACT *,minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

GGSCI (nosql2) 3> start mgr
GGSCI (nosql2) 4> info all
2.配置checkpoint table
GGSCI (nosql2) 7> edit params ./GLOBALS

CHECKPOINTTABLE hr.checkpoint
添加:

--mysql登陆ogg 登陆报错解决:WARNING OGG-00769
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

dblogin sourcedb hr userid root,password mysql

GGSCI (nosql2) 8> add checkpointtable hr.checkpointtab
--删除检查点 然后输入 y 可以删除检查点 新增表的同步时不需要增加此步
--delete checkpointtable hr.checkpointtab
add checkpointtable hr.checkpointtab
info checkpointtable hr.checkpointtab

在相应的mysql数据库中,也可以看到相应的表被添加了:
mysql> show tables;

3.配置应用进程:
--若同步的表发生变化,则此进程需要重新配置,然后目标段表会重新初始化数据 对应的报错为:
2017-04-21 15:19:03 ERROR OGG-00446
2017-04-21 15:19:03 ERROR OGG-01668 PROCESS ABENDING.

--SOURCEDB 已改为TARGETDB 解决无主键表同步:APPLYNOOPUPDATES或ALLOWNOOPUPDATES 同步成功后此参数可以删除******
GGSCI (nosql2) 10> edit params rep3

replicat rep3
sourcedefs /usr/local/dirdef/ah4.prm
SOURCEDB hr,userid root,password mysql
reperror default,discard
discardfile /usr/local/dirrpt/rep4.dsc,append,megabytes 50
map hr.ah4,target hr.ah4;
map hr.ah5,target hr.ah5;

add replicat rep3,exttrail /usr/local/dirdat/xs,checkpointtable hr.checkpointtab

--增加多线程
add replicat rep4,checkpointtable hr.checkpointtab

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读