`
aswang
  • 浏览: 847629 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle零碎笔记之数据同步

阅读更多
需求:实现Oracle数据库表记录变更后的准实时同步。
 
可选方案:
1、基于时间戳来检测变更
要求:
  a、需同步的表均需要添加时间戳字段,并在更改数据后,同步更新时间戳
  b、对于删除操作,需要额外处理。或通过触发器记录,或者不真实删除记录,仅仅设置删除标记。
  c、业务层编码实现同步
缺点:
  对系统增加了额外约束
  同步的实时性取决于轮训的时间间隔
 
2、基于触发器来记录变更
要求:
  a、对于所有同步的表,均需要编写触发器
  b、可基于dblink直接将变更应用到远程数据库
  c、或触发器将变更统一记录到一张表中,然后业务层编码实现同步
缺点:
  可维护性较差,性能较差
  有潜在问题:oracle官方说明,不保证触发器只触发一次
 
3、基于Oracle快照和物化视图实现同步
要求:
  a、对于需同步的表,需要建立快照表,触发器等
 
4、基于Oracle Database Change Notification实时获取变更
要求:
  a、需要确保应用与数据库的一直连接
缺点:
  在连接断开后,下次连接建立之前,数据库的变更会丢失
  适合于对数据要求不高的场合,比如实时获取GPS信息等,丢失的信息影响不大
  
5、基于Oracle Streams方案实现同步
要求:
  a、Oracle需要以归档模式运行
  b、需要在源数据库和目标数据库中编写相应的存储过程,来完成变更捕获、传播和变更应用
优点:
  基本可实现实时同步
  可在数据库层,完全基于Streams实现一对一、一对多等数据复制需求
缺点:
  难度较大,需要对Oracle Streams有一定的认识
  需在源数据库和目标数据库做不同的处理
  工程人员实施有一点难度
 
6、基于Oracle Streams + Oracle AQ 捕获变更,发布变更
要求:
  a、Oracle需要以归档模式运行
  b、仅基于Streams捕获本地数据库变更
  c、通过Oracle的消息队列AQ,来发布变更
  d、业务层通过JMS获取变更,并应用到目标数据库
  
备注:
方案6为方案5的简化,仅依赖于Streams来捕获变更,发布变更。变更的应用需要编码实现。
该方案主要是为了降低工程维护的复杂性。
 
 
分享到:
评论

相关推荐

    Oracle 12.2主从数据同步方法

    Oracle 12.2 主从数据同步方法可以实现容器数据库的数据同步,目前只支持 DML 的数据同步,不包含 DDL 的同步。下面将详细介绍 Oracle 12.2 主从数据同步方法的实现步骤。 一、背景 Oracle 12.2 主从数据同步方法...

    mysql-oracle数据同步

    本文将深入探讨MySQL到Oracle的数据同步过程,以及如何在同步过程中修改MySQL数据表的标识。 首先,我们要理解MySQL和Oracle是两种不同的关系型数据库管理系统(RDBMS)。MySQL以其开源、轻量级、高效的特点被广泛...

    Oracle2Oracle数据同步

    Oracle到Oracle的数据同步是一个常见的需求,特别是在企业级应用中,为了保证多个数据库实例间的数据一致性,需要进行实时或定时的数据同步。在这个场景中,我们关注的是如何在两个不同的Oracle数据库之间实现数据表...

    SpringBoot定时任务实现Oracle和mysql数据同步

    Spring Boot作为Java领域的一个热门微服务框架,提供了强大的定时任务功能,能够帮助我们实现不同数据库间的数据同步,比如Oracle到MySQL。本篇文章将详细讲解如何利用Spring Boot的定时任务特性,结合Java的相关...

    ORACLE DBA工作笔记 运维数据迁移与性能调优

    标题中提到的“ORACLE DBA工作笔记 运维数据迁移与性能调优”揭示了这本书籍主要围绕着Oracle数据库管理员(DBA)在日常工作中经常需要进行的两项关键任务:数据迁移和性能调优。作为一名Oracle DBA,不仅要负责...

    oracle 与服务器数据同步

    在许多场景下,我们需要将Oracle数据库中的数据与服务器上的其他数据进行同步,以确保信息的一致性和实时性。这篇博文将探讨Oracle与服务器数据同步的相关技术及其重要性。 1. **数据同步的意义**: 数据同步是...

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    oracle实现数据同步

    在企业级应用中,为了实现数据的一致性和冗余性,往往需要在多个服务器之间同步数据。Oracle 提供了多种方式进行数据同步,其中一种常用的方法是利用 **dblink** 结合 **Oracle 快照** 技术。这种方式特别适用于那些...

    李兴华Oracle全部笔记

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,由美国甲骨文公司(Oracle Corporation)开发和维护。李兴华Oracle全部笔记是一份详细记录了Oracle相关知识的学习资料,涵盖了从基础概念到高级特性的...

    oracle 跨实例 数据同步

    ### Oracle 跨实例数据同步详解 #### 一、概述 在企业级应用环境中,经常需要在不同的Oracle数据库实例之间进行数据同步。这种需求可能源于多种原因,比如数据备份、灾难恢复准备、分布式事务处理或是数据分发等。...

    Oracle学习笔记

    Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...

    Python实现Oracle数据库同步

    Python实现两个Oracle数据库同步工作

    ORACLE_数据同步

    1. **Oracle Real-Time Replication**:Oracle实时复制是一种在主数据库和副本数据库之间实时同步数据的方法。它通过redo日志的传输和应用来实现,确保即使在网络故障后,副本数据库也能快速恢复到与主数据库一致的...

    springboot+mysql+oracle+druid 双数据库进行数据同步

    本项目主要探讨了如何使用SpringBoot框架结合MySQL和Oracle两个不同的数据库系统,实现数据的实时或定时同步,尤其是在数据量庞大的情况下(数十万条记录)避免内存溢出(OOM)问题。以下是对这个主题的详细阐述: ...

    Oracle学习笔记精华版

    Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是必备技能之一。这份精华版笔记将帮助读者深入理解Oracle的各个方面,提升数据库管理能力。 首先,Oracle的基础...

    涂抹Oracle—三思笔记之一步一步学Oracle

    《涂抹Oracle—三思笔记之一步一步学Oracle》很好的学习oracle书籍,值得一看

    oracle数据同步

    Oracle数据同步是一个复杂而关键的任务,特别是在分布式系统或者需要实时数据共享的环境中。在这个Java开发的项目中,利用Spring框架实现Oracle数据库之间的数据同步,旨在提高数据一致性、减少数据延迟并确保多系统...

    oracle培训笔记2

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,它提供了强大的数据管理能力和高可用性。在"Oracle培训笔记2"中,我们可以看到一系列的课程涵盖了XML基础和多行函数的应用,这些都是Oracle数据库管理...

    涂抹Oracle 三思笔记之一步一步学Oracle

    本书作为一本创作之初就定位于技术应用的实践参考书,虽然前前后后串联了Oracle数据库中十余个常用特性或工具,但在章节的设计上完全遵循这一理念。在涉及特性或工具应用的每一个章节,均有相关实例演示如何应用,...

Global site tag (gtag.js) - Google Analytics