0
点赞
收藏
分享

微信扫一扫

OGG 同步表2---ogg已搭建,只同步表

--2023/12/09

--源端 sb02mes  目标端:centradb

待同步表

table CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY;

table CAMSTAR_PRD01.AHMODELINGSETTING;


1.登录,并查看是否添加表级附加日志

cd $OGG_HOME
ggsci

GGSCI (szpmsb02cimrac-db05) 1> dblogin userid ogg@sb02mes,password ogg

GGSCI (szpmsb02cimrac-db05 as ogg@sb02mes3) 9> info trandata CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY

GGSCI (szpmsb02cimrac-db05 as ogg@sb02mes3) 9> info trandata CAMSTAR_PRD01.AHMODELINGSETTING


2.登录后如果没有表级附加日志,即需要添加

GGSCI (szpmsb02cimrac-db05 as ogg@sb02mes3) 9>add trandata CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY

GGSCI (szpmsb02cimrac-db05 as ogg@sb02mes3) 9>add trandata CAMSTAR_PRD01.AHMODELINGSETTING


3.(无需登录也可)查看抽取,推送进程里面是否有这两张表,注意查看是否有多个推送路径,根据需求添加

EXTRACT     RUNNING     EXTMES      00:00:00      00:00:09      

EXTRACT     RUNNING     PUSHDW2     00:00:00      00:00:04  

抽取进程

GGSCI (szpmsb02cimrac-db05) 1>view param EXTMES

GGSCI (szpmsb02cimrac-db05) 1>edit param EXTMES

set number  (set nu)

--添加内容

table CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY;

table CAMSTAR_PRD01.AHMODELINGSETTING;

推送进程

GGSCI (szpmsb02cimrac-db05) 1>view param PUSHDW2

GGSCI (szpmsb02cimrac-db05) 1>edit param PUSHDW2

set number(set nu)

--添加内容

table CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY;

table CAMSTAR_PRD01.AHMODELINGSETTING;


---目标端 centradb

4.找一个合适的进程

如果已有应用进程里面表不多,不大,可以使用已有进程,不然添加一个新应用进程(在后面第11项)


5.使用已有进程

GGSCI (szpmsb02cimrac-db05) 1>view param REPLDW1N

GGSCI (szpmsb02cimrac-db05) 1>stop REPLDW1N


--编辑,把新表加入到现有进程,添加如下内容,其中scn号为后面导出时的scn号

GGSCI (szpmsb02cimrac-db05) 1>edit param REPLDW1N

map CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY,target CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY,FILTER(@GETENV('TRANSACTION','CSN')>18111522377227);

map CAMSTAR_PRD01.AHMODELINGSETTING,target CAMSTAR_PRD01.AHMODELINGSETTING,FILTER(@GETENV('TRANSACTION','CSN')>18111522377227);

表导出的时间需要在停止复制进程之后,并且新加的两个表要加上(@GETENV('TRANSACTION','CSN')>18111522377227),声明新添加的表在导出时间点之后才需要应用,否则会有重复数据


6.源端查找scn,准备导出

这个scn的时间必须是目标端停止复制进程之后,这样复制进程启动后在某一刻才能接上,而不是复制进程倒回去对接表

select to_timestamp(' 20231209 10:16:00.000000000', 'syyyy-mm-dd hh24:mi:ss.ff') from dual;

select timestamp_to_scn('09-12月-23 10.16.00.000000000 上午') from dual;

--18111522377227

7.导出

expdp \'/ as sysdba\' directory=DUMP_MODDW dumpfile=OGG_camstar_prd01_20231209_%U.dmp logfile=OGG_camstar_prd01_20231209_exp.log cluster=n compression=data_only exclude=statistics parallel=4 flashback_scn=18111522377227 tables=CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY,CAMSTAR_PRD01.AHMODELINGSETTING
scp -p /u10/dump/OGG_camstar_prd01_20231209_* 10.182.190.159:/data/dump/OGG_camstar_prd01_20231209_*

8.导入

impdp \'/ as sysdba\' directory=DUMP dumpfile=OGG_camstar_prd01_20231209_%U.dmp logfile=OGG_camstar_prd01_20231209_exp.log  parallel=4 tables=CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY,CAMSTAR_PRD01.AHMODELINGSETTING

9.启动复制进程

GGSCI (szpmsb02cimrac-db05) 1>start REPLDW1N

10.查看复制进程是否正常同步

GGSCI (szpmsb02cimrac-db05) 1>info all

GGSCI (szpmsb02cimrac-db05) 1>info REPLDW1N

GGSCI (szpmsb02cimrac-db05) 1>info REPLDW1N detail

11.添加配置replicat进程

日志存放路径和checkpoint table 查找,找一同来源库的复制进程查看一下

GGSCI (szpmsb02cimrac-db05) 1>info REPLDW1L detail

添加新复制进程

# ggsci
GGSCI (szpmleadingtest) 2> dblogin userid ogg@centradb,password ogg

GGSCI (szpmleadingtest) 3> add checkpointtable ogg.rmtcentra_ckpt  <<<<如果使用旧的checkpoint table ,就无需再add ,直接下一步

GGSCI (szpmleadingtest) 4> add replicat REPLDW1N,exttrail /u09/ogg_home/dirdat/sli02/rr,checkpointtable ogg.rmtcentra_ckpt

GGSCI (szpmleadingtest) 5> edit  param  REPLDW1N

REPLDW1N里面的内容:<<<<同步ddl

replicat REPLDW1N

setenv (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")

setenv (ORACLE_HOME  = "/u01/app/oracle/product/19.3.0/db_1")

userid ogg@centradb,password ogg

assumetargetdefs

ALLOWNOOPUPDATES

APPLYNOOPUPDATES

DDL INCLUDE MAPPED

DDLOPTIONS REPORT
--常见情况入下,同用户,同表空间

map CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY,target CAMSTAR_PRD01.AHNEWPNLSECONDBAKINGHISTORY;

map CAMSTAR_PRD01.AHMODELINGSETTING,target CAMSTAR_PRD01.AHMODELINGSETTING;


--特殊情况
map camstar_dev10.A_WIPEQUIPMENT,target report_sl01_prd.STAGE_A_WIPEQUIPMENT; <<<<源端和目标端用户不一致

map camstar_dev10.MFGORDER,target report_sl01_prd.STAGE_MFGORDER;


DDLSUBST 'TBS_CAMSTAR_DEV10' WITH 'TBS_REPORT_SL01_PRD' INCLUDE ALL <<<<<表空间转换

DDLSUBST 'NDX_CAMSTAR_DEV10' WITH 'NDX_REPORT_SL01_PRD' INCLUDE ALL <<<<<表空间转换


由于是新复制进程,所以无需设置



12.启动复制进程

直接启动复制进程,会默认找1号日志文件,那个文件可能是早期传过来的,很可能不见了,直接启动就会报错,找不到文件

1.如果所有的日志文件都在,,可以直接启动,那么会从1号日志文件开始找起,一直找到刚刚我们导出表的时刻,所以就算日志文件齐全,也建议用下面第二种方式启动,节省时间

GGSCI (szpmleadingtest) 2>start REPLDW1N aftercsn 18111522377227

2.如果早期日志文件不在,或者想跳过前面日志文件的读取,可以从导出表的前一小段时间的756日志文件开始,以节省读取文件的时间

GGSCI (szpmleadingtest) 2>alter REPLICAT REPLDW1N ,extseqno 756 extrba 0

GGSCI (szpmleadingtest) 2>start REPLDW1N aftercsn 18111522377227

13.查看复制进程是否正常同步

GGSCI (szpmsb02cimrac-db05) 1>info all

GGSCI (szpmsb02cimrac-db05) 1>info REPLDW1N

GGSCI (szpmsb02cimrac-db05) 1>info REPLDW1N detail

举报

相关推荐

0 条评论