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

简介: 2014-03-09 Created By BaoXinjian 一、摘要 利用DEFGEN工具可以为源端和目标端表生成数据定义文件,当源库和目标库类型不一致时,或源端的表和目标端的表结构不一致时,数据定义文件时必须要有的 生成数据定义文件的步骤 Step1.

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

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
相关文章
|
Oracle 关系型数据库
Oracle新建数据表的两种方法
Oracle新建数据表的两种方法
|
SQL Oracle 关系型数据库
Oracle 数据库中 ,EXTRACT() 函数的作用?
Oracle 数据库中 ,EXTRACT() 函数的作用
274 0
|
SQL Oracle 关系型数据库
oracle学习91-Oracle导出导入表(.sql、.dmp文件)两种方法
oracle学习91-Oracle导出导入表(.sql、.dmp文件)两种方法
650 0
|
SQL Oracle 关系型数据库
如何快速批量导入非Oracle DB格式的数据--sqlloader
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法
345 0
如何快速批量导入非Oracle DB格式的数据--sqlloader
|
SQL Oracle 关系型数据库
实战篇:LogMiner 分析数据泵导入参数 TABLE_EXISTS_ACTION 的秘密
前几天,技术交流群里看到大家讨论 Oracle 数据泵导入时使用 table_exists_action 参数,存在一些疑惑。于是,我打算通过 LogMiner 来分析一下在线重做日志,看看到底是怎么玩的。
实战篇:LogMiner 分析数据泵导入参数 TABLE_EXISTS_ACTION 的秘密
|
Oracle 关系型数据库
Oracle新建表时,复制另一张旧表的结构和数据
1、创建一张和已经存在的表一样结构的表,同时复制数据 create table newTableName as select * from oldTableName; //--newTabl...
1235 0