Oracle OGG 单表重新初始化同步的两种思路

简介: OGG 单表重新初始化同步的两种思路

Oracle OGG 单表重新初始化同步的两种思路

                                                 by ACDdante

一、应用需求
由于多种原因导致OGG源端和目标端两端数据不一致,且总体数据量差异较大,如果整个schema重新进行初始化,工作量过于巨大,且业务要求也不允许。在这种情况下,可考虑对数据出现不一致的单张表或者多张表进行初始化。

二、基本思路
001、使用replicat进程完成单表重新初始化

①在目标端将出现数据不一致的表从replicat进程中排除
②基于源端SCN对单张表或者多张表单独建立replicat进程进行初始化
③等到新的replicat进行无延迟时停掉目标端对应的datapump进程
④停止并删除新建的replicat进程,在原replicat进程中添加这些差异    表,指定SCN启动rep进程,完成数据同步

002、使用expdp/impdp数据导入导出完成单表重新初始化

①在目标端将出现数据不一致的表从replicat进程中排除,并重启rep进程
②在源端,基于最新SCN将该表单独导出expdp,并拷贝至目标端
③在目标端,删除该差异表,drop table  schema.tablexxx;使用impdp重新导入该表数据。
④目标端,replicat进程将该表配置同步,指定SCN重新启动replicat进程,观察数据同步状态       

!==============================================!
1、在目标端上,将MS_XXX 单表排除
edit param reptxyy
MAPEXCLUDE HIS.MS_XXX
重启REPXXXX应用进程

2、在 源端上查询最新的SCN

col current_scn for 999999999
select current_scn from v$database;
scn
16563972104

3、导数据到目标端:
源端导出MS_XXX表数据
expdp system/password directory=IMPDP dumpfile=xxxxhis20180122.dmp logfile=xxxxhis20180122.log tables=HIS.MS_XXX flashback_scn=16564108704
scp XXXXhis20180122.dmp 目标端IP:/u01/app/expdp

4、目标端导入数据
impdp system/password directory=expdp dumpfile=xxxxhis20180122.dmp logfile=xxxxhis20180122.log PARALLEL=4 tables=HIS.MS_XXX REMAP_SCHEMA=HIS:XXXX_HIS REMAP_TABLESPACE=HIS:XXXX_HIS transform=OID:N ignore=y

5、目标端指定SCN启动replicat
edit param repxxxx
删除排除MS_XXX表配置
通过指定SCN启动REPXXXX进程
start replicat REPXXXX, aftercsn 16563972104

6、查看数据同步状态
或者在目标端replicat进程中配置单表同步SCN起始位:
map HIS.MS_XXX, target XXXX_HIS.MS_XXX, filter(@GETENV("transaction","csn") >16563972104);
!===============================================!

目录
相关文章
|
8月前
|
存储 Oracle 关系型数据库
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
在YMP校验过程中,从yashandb同步至Oracle的数据出现timestamp(0)字段不一致问题。原因是yashandb的timestamp(x)存储为固定6位小数,而Oracle的timestamp(0)无小数位,同步时会截断yashandb的6位小数,导致数据差异。受影响版本:yashandb 23.2.7.101、YMP 23.3.1.3、YDS联调版本。此问题会导致YMP校验数据内容不一致。
|
8月前
|
存储 Oracle 关系型数据库
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
【YashanDB 知识库】YMP 校验从 yashandb 同步到 oracle 的数据时,字段 timestamp(0) 出现不一致
|
8月前
|
存储 Oracle 关系型数据库
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
【YashanDB知识库】YMP校验从yashandb同步到oracle的数据时,字段timestamp(0)出现不一致
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之oracle无主键的表支持同步吗如何实现
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Oracle 关系型数据库 数据处理
实时计算 Flink版产品使用问题之如何进行Oracle到HBase的同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之在进行Oracle数据库的全量同步时,只同步了一条数据而源表实际上包含多条数据,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之同步oracle表时,数据量约800万,检查点异常,该如何排查
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
298 93
|
27天前
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
133 0
|
4月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。

推荐镜像

更多