随笔 - 571  文章 - 4  评论 - 253  阅读 - 72万

OGG_GoldenGate数据表定义方式DEFGEN(案例)

2014-03-09 Created By BaoXinjian

一、摘要


利用DEFGEN工具可以为源端和目标端表生成数据定义文件,当源库和目标库类型不一致时,或源端的表和目标端的表结构不一致时,数据定义文件时必须要有的

生成数据定义文件的步骤

Step1. 编辑defgen文件

Step2. 利用defgen工具生成defgen.prm文件

Step3. 将生成好的数据定义文件ftp二进制模式传输到容灾端对应的目录dirdef

 

二、使用DEFGEN生成数据表定义文件


Step1. 编辑defgen文件

GGSCI> edit param defgen
DEFSFILE dirdef/source.def, PURGE
SOURCEDB gavinprod@gavinprod.com, userid apps, password, apps
TABLE apps.TCUSTMER;
TABLE apps.TCUSTORD;

Step2. 利用defen工具生成defgen.prm文件

[gavinprod ~] > defgen paramfile dirprm/defgen.prm

Step3. 将生成好的二进制文件传输到目标端相应目录的dirdef

scp defgen.prm odellprod.com/opt/oracle/ggate/dirdef

 

三、配置源端进程 - init extract 和 data extract


Step1. initial data load

(1). 在源端添加initial extract

add EXTRACT EXTINIT, SOURCEISTABLE

(2). 确认结果

info EXTRACT *, TASK

(3). 修改init extract进程参数

[gavinprod~] > edit params EXTINIT
EXTRACT EXTINIT
SOURCEDB gavinprod@gavinprod.com, userid apps, password apps
RMHOST gavinprod.com, MGRPORT 7839
RMTTASk REPLICAT, GROUP REPINIT
TABLE apps.TCUSTMGR;
TABLE apps.TCUSTORD;

(4). 目标端添加initial replicat

add replicat REPINIT, SPECIALRUN

(5). 修改init replicat进程参数

[gavinprod~] > edit params REPINIT
REPLICAT REPINIT
USERID ggate, password ggate
discordfile ./dirrpt/REPINIT.dsc, PURGE
SOURCEDEFS ./dirdef/defgen.def
MAP apps.TCUSTMGR, TARGET scott.TCUSTMGR
MAP apps.TCUSTMGR, TARGET scott.TCUSTMGR

(6).  启动inital进程时,只需在源端启动init extract,在目标端会自动复制,无需手工再启init replicat

 

Step2. 抽取进程与投递进程的配置

(1). 配置抽取进程EXTDATA

复制代码
GGSCI > add extract EXTDATA, tranlog, begin now
GGSCI > add exttral /opt/oracle/ggate/dir/data/ga, extract EXTDATA, megabytes 25
GGSCI > edit param EXTDATA
extract EXTDATA
setenv (dsquery = "gavinprod")
sourdb gavinprod@gavinprod, userid apps, password apps
extrail /opt/oracle/ggate/dir/data/ga
DYNAMICRESOLUTION
discardfile ./dirrpt/extdata.dsc, purge
TABLE apps.TCUSTMER;
TABLE apps.TCUSTORD;
复制代码

(2). 配置投递进程DMPDATA

GGSCI > edit params DMPDATA
extract DMPDATA
passthru
rmthost odellprod.com mgrport 7809
rmttrail /opt/oracle/ggate/dirdata
discard file ./dirrpt/dmpdata.dsc, purge
table apps.*;

 

四、配置目标端进程


Step1. 在容灾端配置管理进程MGR

PORT 7809
DYNAMICPORTLIST 7840-7849
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*, usecheckpoints, minkeepdays 3
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45

Step2. 配置全局参数

GGSCI > edit params ./GLOBALS
CHECKPOINTTABLE GGATE.ggschkpt

Step3. 添加检查点

GGSCI > add checkpointtable

Step4. 编辑复制进程

GGSCI > edit param REPDATA
REPLICAT REPDATA
USERID ggate, PASSWORD ggate
SOURCEDEFS ./dirdef/defgen.def
discardfile ./dirrpt/eorep.des, PURGE
MAP apps.TCURTMER, TARGET scott.TCURTMER;
MAP apps.TCUSTORD, TARGET scott.TCUSTORD;

 

Thanks and Regards

posted on   东方瀚海  阅读(6794)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

点击右上角即可分享
微信分享提示