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. 图像旋转、伸缩的自写matlab实现

    一.图像的旋转 今天的代码不是自己写的,缺少一些时间.但是认认真真推导了一下旋转的公式,代码的思想与原博博主一致,致敬! 愚以为,自己来实现图像旋转算法的关键点有二:其一,确定旋转后的图像边界.其二, ...

  2. zeros()和ones()和eye()

    python--zeros函数和ones函数 使用numpy.zeros,numpy.ones,numpy.eye等方法可以构造特定的矩阵 >>>from numpy import ...

  3. Python day 03

    dya 03 今日内容 整形 布尔类型 字符串 补充 运算符补充 in value = '我是中国人' # 判断'中国'是否是value所代指的字符串的子序列. v1 = '中国' in value ...

  4. Oh-My-Zsh及主题、插件安装与配置

    切换zsh Manjaro linux默认安装了zsh,其他可能需要先安装 cat /etc/shells #查看本地有哪几种shell chsh -s /bin/zsh #切换到zsh 默认终端启动 ...

  5. SQL中IN与EXISTS的区别

    1.IN子句中的子查询只能返回一个字段,不允许返回多个字段,而EXISTS可以返回多个字段 2.IN返回的是某字段的值,而EXISTS返回的则是True或False,EXISTS子句存在符合条件的结果 ...

  6. EFI系统引导的一些零碎知识点

    EFI目录 下图只有Boot和Microsoft,如果你还装其他系统可能还会有其他的文件夹,比如你还装了Ubuntu(或者manjaro),那么会有个叫Ubuntu(manjaro)的文件夹与Boot ...

  7. 关于html中的 script标签中的 代码写法有效性? easyui tabs的href不能载入内容页面

    script标签, 即 html中的 js脚本区域中: 它其实就是一个 普通的 html标签, 在 html 渲染器 parser 看来, 它跟其他任何的普通 的 html标签 , 比如 p 标签, ...

  8. 论文笔记:AdaScale: Towards real-time video object detection using adaptive scalingAdaScale

    AdaScale: Towards real-time video object detection using adaptive scaling 2019-02-18 16:14:17 Paper: ...

  9. RFS常见问题

    一.DatabaseLibrary 库遇到的问题:1,连接mysql库,查询语句带有中文,报FAIL UnicodeEncodeError: 'latin-1' codec can't encode ...

  10. spring mvc 简单的文件上传与下载

    上传文件有很多种方法,这里主要讲解的是spring mvc内提供的文件上传 前提使用:spring mvc 在这个之前我们需要把环境给配置好 1:springmvc的XML配置文件加上这一段就即可, ...