ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OGG重新同步个别表

2021-09-18 19:34:03  阅读:373  来源: 互联网

标签:同步 UCCBIZ HW AGENT SIGN GGSCI SH 个别 OGG


1、说明

重新将系统A(源库)用户的数据将导入到系统B(目标库)的用户下

系统A:UCCBIZ.T_HW_AGENT_SIGN_RECORD、UCCBIZ.T_HW_AGENT_CONSULTED
系统B:UCCBIZ.T_HW_AGENT_SIGN_RECORD、UCCBIZ.T_HW_AGENT_CONSULTED

2、查看系统A的OGG状态

GGSCI (A) 4> info all

Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING
EXTRACT RUNNING E_SH 00:00:02 00:00:03
EXTRACT RUNNING P_SH 00:00:00 00:00:06

3、系统A抽取进程E_SH修改参数文件

3.1、停止进程进行参数文件修改

GGSCI (A)1> stop E_SH

3.2、编辑参数文件新增如下

GGSCI (A)2> edit param E_SH
--20210918 add
TABLE UCCBIZ.T_HW_AGENT_SIGN_RECORD;
如果当前配置存在TABLE UCCBIZ.*; 就不用增加了。

4、登录数据库goldengate用户,打开表级附加日志

这里因为之前添加过,所以先删除再添加

GGSCI (A) 3> dblogin useridalias shoggadmin_alias
GGSCI (A) 4> delete TRANDATA UCCBIZ.T_HW_AGENT_SIGN_RECORD
GGSCI (A) 5> ADD TRANDATA UCCBIZ.T_HW_AGENT_SIGN_RECORD
GGSCI (A) 6> delete TRANDATA UCCBIZ.T_HW_AGENT_CONSULTED
GGSCI (A) 7> ADD TRANDATA UCCBIZ.T_HW_AGENT_CONSULTED

5、启动抽取进程

GGSCI (A) 6> start E_SH

6、系统A投递进程P_SH修改参数文件

GGSCI (A) 7> stop P_SH
GGSCI (A) 8> edit param P_SH
--20210918 add
TABLE UCCBIZ.*;
注意这里不要 start P_SH

7、停止系统B复制进程R_SH

系统B:

GGSCI (B) 1> stop R_SH

8、系统A基于SCN号抽取数据

系统A:

预估数据大小
SQL> select sum(BYTES/1024/1024) MB from dba_segments where owner ='UCCBIZ' and SEGMENT_NAME='T_HW_AGENT_SIGN_RECORD';

MB
----------
472

SQL>

9、系统A中定义导出文件存放的目录

系统A:

mkdir /bak
chown oracle:oinstall /bak

SQL> create directory OGG_EXPDP as '/bak';

10、查询系统A数据库scn号

col current_scn for 9999999999999999
select current_scn from v$database;

CURRENT_SCN
-----------------
14670064687177

SQL>

 

11、通过数据泵导出系统A指定的表结构及数据

expdp \'/ as sysdba\' directory=OGG_EXPDP tables=UCCBIZ.T_HW_AGENT_SIGN_RECORD,UCCBIZ.T_HW_AGENT_CONSULTED dumpfile =TB0918.dmp logfile=TB0918.log flashback_scn=14670064687177 compression=all cluster=N

--flashback_scn 限定对应的scn号之前的数据
--参数介绍:compression=all 文件压缩
--cluster=N RAC环境导出需要该参数

12、在B库创建dmp存放目录

mkdir /bak
chown oracle:oinstall /bak
SQL> create directory OGG_EXPDP as '/bak';

13、scp将dmp文件从系统A传至系统B

系统A:
$scp TB0918.dmp oracle@系统B的IP:传至的目录

scp TB0918.dmp oracle@B:/bak

14、在系统B导入数据

impdp \'/ as sysdba\' directory=OGG_EXPDP dumpfile=TB0918.dmp logfile=TB0918.log table_exists_action=truncate transform=oid:n cluster=N
--参数介绍:
--table_exists_action=truncate 导入之前,如果表存在就truncate
--cluster=N RAC环境备份需要该参数

15、系统B复制进程R_SH参数文件修改

GGSCI (B) 2> edit param R_SH
--20210918 add
个性化表都放到map *之前,因为遇到重复定义会优先第一次遇到的规则
所以需要在MAP UCCBIZ.*, TARGET UCCBIZ.*;这一行之前增加:
--系统A基于SCN号导出,系统B基于CSN号开启应用
Version 11的OGG对应:
MAP UCCBIZ.T_HW_AGENT_SIGN_RECORD, TARGET UCCBIZ.T_HW_AGENT_SIGN_RECORD,FILTER(@GETENV("TRANSACTION","CSN")>14670064687177);
Version 12 的OGG对应:
MAP UCCBIZ.T_HW_AGENT_SIGN_RECORD, TARGET UCCBIZ.T_HW_AGENT_SIGN_RECORD,FILTER(@GETENV('TRANSACTION','CSN')>14670064687177);
区别:版本11的ogg需要使用双引号"TRANSACTION","CSN",如果使用的是版本12的ogg要使用单引号.

16、开启系统A的投递进程P_SH

GGSCI (A) 11> start P_SH

17、开启系统B的应用进程R_SH

GGSCI (B) 3> start R_SH

18、数据对比

下查看相关统计数据

系统A:
GGSCI (A) 11> stats P_SH,daily

系统B:

GGSCI (B) 4> stats R_SH,daily

19、验证数据

多查几次,看数据变化情况
select count(*) from UCCBIZ.T_HW_AGENT_SIGN_RECORD;
select count(*) from UCCBIZ.T_HW_AGENT_CONSULTED;

 

标签:同步,UCCBIZ,HW,AGENT,SIGN,GGSCI,SH,个别,OGG
来源: https://www.cnblogs.com/connected/p/15309954.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有