OGG_GoldenGate目标端库级别数据初始化(案例)
2014-03-07 Created By BaoXinjian
GoldenGate作为数据复制的工具,他的原理是将数据从数据库容灾到另一个数据库,由于它是基于交易的复制,通过读取源端的redo或archive日志文件获取数据的变化,在目标端还原SQL
当源端数据库中已经存在大量数据,那么这些数据就需要同步到容灾单
1. 同步的方法
(1). 数据库自动工具初始化
(2). Oracle的RMAN在线初始化
(3). GoldenGate initial load直接传输初始化
(4). GoldenGate initial load使用文件传输初始化
2. 原理都是将数据库恢复到一个SCN或一个时间点后,再利用一组Extract和Pump进程获取数据的变化,最终达到数据同步的目的
1. 在执行初始前,如果配置了DDL需要将其禁用
2. 如果目标端数据库表中数据已有资料,需确保目标端的表时空的
可能导致数据的重复
3. 禁用目标端的外键,约束和触发器
外键可能导致错误,而约束会减慢插入的速度
4. 失效表的索引
存在索引的话,可能导致插入数的时候需要同时更新索引,减慢插入速度
5. 在目标端参数文件中加入HANDLECOLLISIONS参数解决数据冲突,但须需要表存在主键或者唯一索引
用以解决数据冲突
6. 如果源端和目标端数据库不一致,通过配置定义DEFGEN文件实现转换
用以实现不同数据库产品之间的数据转换
Thanks and Regards
OGG_GoldenGate目标端库级别数据初始化(案例)的更多相关文章
- 【Oracle】OGG数据初始化之RMAN
实验环境: 源端.目标端: DataBase:10.2.0.1.0 OS:OEL5.6 OGG:fbo_ggs_Linux_x86_ora11g_32bit 源端使用rman进行备份全库: RMAN& ...
- 使用GC 初始化DG(将备份集复制到目标端再初始化)
概述 当前环境中有一个GC节点,一套RAC 11.2.0.4的数据库,一个已经使用GC进行在线初始化好的dg环境,需要模拟在远端使用rman备份集进行初始化DG的操作. 恢复环境 当前环境中 已经 ...
- Goldengate升级之目标端(replicat端)升级
转自红黑联盟Goldengate升级之目标端(replicat端升级 要升级replicat端的原因为:目标端OGG软件版本与源端OGG软件版本不同,在实际生产应用中,经常发现replicat端事务丢 ...
- OGG 从Oracle备库同步数据至kafka
OGG 从Oracle备库同步数据至kafka Table of Contents 1. 目的 2. 环境及规划 3. 安装配置JDK 3.1. 安装jdk 3.2. 配置环境变量 4. 安装Data ...
- 百万级别数据Excel导出优化
前提 这篇文章不是标题党,下文会通过一个仿真例子分析如何优化百万级别数据Excel导出. 笔者负责维护的一个数据查询和数据导出服务是一个相对远古的单点应用,在上一次云迁移之后扩展为双节点部署,但是发现 ...
- Android之三种网络请求解析数据(最佳案例)
AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法. ...
- D3js初探及数据可视化案例设计实战
摘要:本文以本人目前所做项目为基础,从设计的角度探讨数据可视化的设计的方法.过程和结果,起抛砖引玉之效.在技术方案上,我们采用通用web架构和d3js作为主要技术手段:考虑到项目需求,这里所做的可视化 ...
- ogg数据初始化历程记录
之前,源端数据表结构发生改变,不知道前面的同事是怎么搞得(生成的数据定义文件不对,还是没有把进程启动),造成进程停止20天,然后重启复制进程,对比源端和目标端数据有差异(总共差10000多条数据),问 ...
- (转载)Android之三种网络请求解析数据(最佳案例)
[置顶] Android之三种网络请求解析数据(最佳案例) 2016-07-25 18:02 4725人阅读 评论(0) 收藏 举报 分类: Gson.Gson解析(1) 版权声明:本文为博主原创 ...
随机推荐
- assets raw 资源 AssetManager
assets raw 目录简介 assets核心特性:不会被编译成二进制,支持子目录(可以分类,这是相对raw目录最大的好处),通过文件名访问,调用getAssets通过AssetManager访问 ...
- vue-router 懒加载优化
一.路由懒加载 1.先安装 babel 动态引入插件 npm install --save-dev babel-plugin-syntax-dynamic-import 2.修改router/inde ...
- (转)PlayerPrefs游戏存档
unity3d提供了一个用于本地持久化保存与读取的类——PlayerPrefs.工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值. PlayerPr ...
- js 继承概述
上文讲述过js实现面向对象,一定是能够实现继承的效果的.尽管说非常多的js框架都帮助我们实现了继承的功能.或者说在日常的工作和学习中我们压根就用不到js的继承,可是我们还是须要了解一下js中继承.以方 ...
- 【Nodejs】nimble或async并不能保证程序串行执行,回调是回避不了的坑
先看一段例程: //------------------------------- // 用于创建目录 //------------------------------- function creat ...
- Python访问PostGIS(建表、空间索引、分区表)
#encoding: utf-8 __author__ = 'Administrator' import psycopg2 import ppygis import datetime import s ...
- c语言 多重排序
经过了两天,终于会了. #include<stdio.h> #include<string.h> struct A { char name[100]; int gread; } ...
- POJ 1436 Horizontally Visible Segments (线段树·区间染色)
题意 在坐标系中有n条平行于y轴的线段 当一条线段与还有一条线段之间能够连一条平行与x轴的线不与其他线段相交 就视为它们是可见的 问有多少组三条线段两两相互可见 先把全部线段存下来 并按x ...
- MySQL的各种SHOW
. SHOW语法 13.5.4.1. SHOW CHARACTER SET语法 13.5.4.2. SHOW COLLATION语法 13.5.4.3. SHOW COLUMNS语法 13.5.4.4 ...
- js replace 如何替换字符串中的最后一个匹配项
1.正则表达时,贪婪模式,.*会一直匹配到最后一个 // 验证 let str = "123[空]345[空]789[空]0"; let res = str.replace(/(. ...