ogg单表初始化步骤

2018-06-08 14:55 296 0 原创 GoldenGate

1.ogg单表初始化步骤

1.1.目标端数据被误删除

SQL> conn test/test
Connected.
SQL> select count(*) from test1; COUNT(*)
----------
100000 SQL> delete from test1; 100000 rows deleted. SQL> commit; Commit complete. SQL> select count(*) from test1; COUNT(*)
----------
0

1.2.先停掉replicat进程

GGSCI (cndba) 6> stop rep1

Sending STOP request to REPLICAT REP1 ...
Request processed. GGSCI (cndba) 7> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING
REPLICAT STOPPED REP1 00:00:00 00:00:06

1.3.获取当前源端的scn号

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
1184010

1.4.源端增量数据在产生

SQL> conn test/test
Connected.
SQL> insert into test values(6,'test'); 1 row created. SQL> commit; Commit complete. SQL> select * from test; ID NAME
---------- --------
1 zhangsan
2 lisi
3 wanger
4 test
5 test
6 test

1.5.导出要同步的表、重新导入

在数据实时性要求较高的系统,首先确定问题表,然后只在目标端配置文件中将问题表剔除:MAPEXCLUDE test.test1;然后启动进程即可。(此过程没在此篇文章没体现)
--源端导出需要同步的表
expdp system/oracle directory=dump_dir dumpfile=test1.dmp logfile=test1.log tables=test.test1 flashback_scn=1184010
--将dmp文件传送到目标端
[root@cndba backup]# scp test1.dmp 192.168.1.86:/backup
--在目标端给dmp 授oracle访问权限
[root@cndba ~]# cd /backup/
[root@cndba backup]# chown oracle:oinstall test1.dmp
--目标端导入数据
impdp system/oracle directory= dump_dir dumpfile=test1.dmp tables=test.test1 table_exists_action=replace
SQL> select count(*) from test1; COUNT(*)
----------
100001

1.6.修改replicat参数文件

GGSCI (cndba) 20> view params rep1

REPLICAT rep1
setenv (ORACLE_SID=cndba)
SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/db_1")
USERID ogg,PASSWORD ogg
ASSUMETARGETDEFS
--HANDLECOLLISIONS
REPERROR (DEFAULT, DISCARD)
DDLERROR DEFAULT DISCARD
DDLOPTIONS REPORT
DISCARDFILE ./dirrpt/repr1.dsc,append,megabytes 100
--HANDLECOLLISIONS
map test.test1, target test.test1, filter (@GETENV("transaction","csn") > 1181589);
--对于这条语句,如果使用的11g的ogg,需要使用双引号"transaction","csn",如果使用的是12c的ogg使用单引号
--否则报错:OGG-01298 Oracle GoldenGate Delivery for Oracle, rep1.prm: Column function diagnostic message: could not find column 'transaction'.
MAP test.*, TARGET test.*;
--ddl include all
--ddlerror default ignore retryop maxretries 3 retry delay 5

1.7.启动抽取进程

GGSCI (cndba) 18> start rep1    

Sending START request to MANAGER ...
REPLICAT REP1 starting GGSCI (cndba) 19> info all Program Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNING
REPLICAT RUNNING REP1 00:00:00 00:00:01

1.8.测试数据同步

--源端插入数据
SQL> insert into test1 values(100002,'test'); 1 row created. SQL> commit; Commit complete. SQL> select count(*) from test1; COUNT(*)
----------
100002
--目标端查看数据
增量数据也同步过来
SQL> select * from test; ID NAME
---------- --------
5 test
1 zhangsan
2 lisi
3 wanger
4 test
6 test
误删除的表数据数据也同步过来了
SQL> select count(*) from test1; COUNT(*)
----------
100002

Oracle 11g ogg单表初始化步骤的更多相关文章

  1. OGG 单表初始化操作步骤

    有时候ogg两端数据不一致,且数据量较大,手工修改比较复杂的情况下,我们需要对这些表进行初始化.初始化的大概思路是: 1. 停止两端OGG 2. 如果业务不可以停很长时间,就需要配置目标端进程,暂停这 ...

  2. Oracle 11g 服务端的安装步骤

    Ø  简介 本文主要介绍 Oracle 11g 服务端的安装步骤,在介绍之前说明以下几点: 1.   所安装的服务器是本机的虚拟机,操作系统为 Windows Server 2019: 2.   以下 ...

  3. Windows10下安装Oracle 11g 64位的详细步骤

    直接附上我整理后的Word版<Windows10下安装Oracle 11g 64位的详细步骤>下载地址,提取码:9vak. 参考文献: 1.Win10 64位系统下安装Oracle11g详 ...

  4. oracle 11G 导出空表失败的解决方法

    一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除 ...

  5. Oracle 11g 学习3——表空间操作

    一.表空间概述 表空间是Oracle中最大的逻辑存储结构,与操作系统中的数据文件相相应: 基本表空间:一般指用户使用的永久性表空间,用于存储用户的永久性数据          暂时表空间: 主要用于存 ...

  6. Oracle 11g导出空表、少表的解决办法

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...

  7. Oracle数据库之单表查询

    接着上一篇的分享,今天主要给大家分享的是关于数据中的单表查询,单表查询很基础,也很重要,但是任何一个初学者必须要掌握的姿势,单表查询就是对单个表进行操作,查询我们想要的数据.单表查询里面的内容也是比较 ...

  8. 解决oracle 11g 导出空表的方法

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...

  9. Oracle 11g RAC停止和启动步骤

    关闭前备份控制文件/参数文件:   sqlplus / as sysdba alter database backup controlfile to '/home/oracle/control.ctl ...

随机推荐

  1. 输入时间参数获取rds备份集信息

    1.脚本 [root@localhost tmp]# more geturl_test.py #!/usr/bin/env python #coding=utf- import os, json, u ...

  2. PL/SQL数据类型

    在定义变量或常量时,必须要指定一个数据类型,PL/SQL是一种静态类型化的程序设计语言,静态类型化又称为强类型化,也就是说类型会在编译时而不是在运行时被检查,这样在编译时便能发现类型错误,以便增强程序 ...

  3. 浅谈Vue之双向绑定

    VUE实现双向数据绑定的原理就是利用了 Object.defineProperty() 这个方法重新定义了对象获取属性值(get)和设置属性值(set)的操作来实现的.那么Object.defineP ...

  4. style1

    <!doctype html> 我的简历 基本信息 姓名 张三 性别 男 应聘职位 WEb前端工程师 联系方式 手机 12312341234 Email joinefe@baidu.com ...

  5. python 字典操作提取key,value

    python 字典操作提取key,value dictionaryName[key] = value 1.为字典增加一项  2.访问字典中的值  3.删除字典中的一项  4.遍历字典  5.字典遍历的 ...

  6. orm 复习

    day70 2018-05-14 1. 内容回顾 1. ORM 1. ORM常用字段和属性 1. AutoField(primary_key=True) 2. CharField(max_length ...

  7. thinkphp应用目录不可写,目录无法自动生成! 请手动生成项目目录~

    一是 要把 html下的相关目录设置成 777 chmod -R 777 /var/www/html/..... 二是 要设置 selinux , 或者是 临时 关闭 selinux: setenfo ...

  8. spring boot 2使用Mybatis多表关联查询

    模拟业务关系:一个用户user有对应的一个公司company,每个用户有多个账户account. spring boot 2的环境搭建见上文:spring boot 2整合mybatis 一.mysq ...

  9. ssm+redis整合(通过aop自定义注解方式)

    此方案借助aop自定义注解来创建redis缓存机制. 1.创建自定义注解类 package com.tp.soft.common.util; import java.lang.annotation.E ...

  10. toFixed()精度丢失;复选框全选、取消

    一.精度丢失和重写toFixed()函数 1.重写toFixed() Number.prototype.toFixed = function(length){ var carry = 0; //存放进 ...