• 【GoldenGate】使用OGG,两个Oracle库之间单向同步数据


    ************************************************************************
    ****原文:blog.csdn.net/clark_xu  徐长亮的专栏
    ************************************************************************

    配置:源数据库100.100.100.21        实例名dbsid2

                目标数据库100.100.100.41      实例名db1

    实验目标:源数据库中的 scott用户 emp表同步到目标数据库 scott中的test

    安装包为文件ogg112101_fbo_ggs_Linux_x64_ora10g_64bit.zip

    解压之后,然后再tar解压tar -xvf fbo_ggs_Linux_x64_ora10g_64bit.tar -C  /oracle/ogg/

    1.       源数据库(dbsid2)配置:

    (1)       用户权限:grant dba to scott

    (2)       打开归档模式

    3)附加日志:
               alter database add supplemental log data;

         alter database force logging;

       4)将目标数据库db1信息加入到 tnsnames.ora

    2.       目标数据库(db1)配置:

    (1)       scott用户建立空表test,表结构和emp同样

    (2)       打开归档模式

    (3)       附加日志:

    alter database add supplemental log data;

    alter database force logging;

    (4)       将源数据库(dbsid2)的信息加入到 tnsnames.ora

    3.       源数据库server goldengate安装

    (1)       解压到/oracle/ogg目标以下

    (2)       执行./ggsci

    (3)       新建子文件夹: GGSCI (host2) 1> create subdirs

    Creating subdirectories under current directory /oracle/ogg

    Parameter files                /oracle/ogg/dirprm: already exists

    Report files                   /oracle/ogg/dirrpt: created

    Checkpoint files               /oracle/ogg/dirchk: created

    Process status files           /oracle/ogg/dirpcs: created

    SQL script files               /oracle/ogg/dirsql: created

    Database definitions files     /oracle/ogg/dirdef: created

    Extract data files             /oracle/ogg/dirdat: created

    (4)       配置字符管理的Port參数

    GGSCI (host2) 6> edit params mgr

    输入: PORT 7809 然后保存

    检查输入情况:

    GGSCI (host2) 7> view params mgr

    PORT 7809

    (5)       启动Start mgr

    GGSCI (host2) 8> start mgr

    MGR is already running.

    GGSCI (host2) 9> info mgr

    Manager is running (IP port host2.7809).

    4.       目标数据库server goldengate安装(和源目标server同样)

    (1)       解压到/oracle/ogg目标以下

    (2)        执行./ggsci

    (3)       新建子文件夹: GGSCI (host2) 1> create subdirs

    Creating subdirectories under current directory /oracle/ogg

    Parameter files                /oracle/ogg/dirprm: already exists

    Report files                   /oracle/ogg/dirrpt: created

    Checkpoint files               /oracle/ogg/dirchk: created

    Process status files           /oracle/ogg/dirpcs: created

    SQL script files               /oracle/ogg/dirsql: created

    Database definitions files     /oracle/ogg/dirdef: created

    Extract data files             /oracle/ogg/dirdat: created

    4      配置字符管理的Port參数

    GGSCI (host2) 6> edit params mgr

    输入: PORT 7809 然后保存

    检查输入情况:

    GGSCI (host2) 7> view params mgr

    PORT 7809

    (4)       启动Start mgr

    GGSCI (host2) 8> start mgr

    MGR is already running.

    GGSCI (host2) 9> info mgr

    Manager is running (IP port host2.7809).

    5.       配置源数据库server(dbsid2)传输进程extract

    1)加入名字为source1的进程

    GGSCI (host2) 19> add extract source1,sourceistable  

    EXTRACT added.

    (3)       改动source1參数

    GGSCI (host2) 20> edit params source1

    加入例如以下,而且保存

    extract source1

    setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

    userid scott,password tiger                        

    rmthost 100.100.100.41,mgrport 7809

    rmttask replicat,group target1

    table scott.emp;

    注:1、须要复制表的username为scott,passwordtiger

        2、目标数据库(db1)的IP100.100.100.41。port为7809

        3. 目标数据库(db1)的接收进程名字为 target1

        4.  须要复制的table为: scott.emp表。

    查看改动的參数

    GGSCI (host2) 21> view params source1

    6.       配置目标数据库db1 replicat接收进程

    (1)       加入replicat进程,名字为source1

    GGSCI (host2) 9> add replicat target1,specialrun

    REPLICAT added.

    (2)       加入改动參数:GGSCI (host2) 13> edit params target1

    replicat target1

    setenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

    assumetargetdefs

    userid scott,password tiger

    discardfile ./dirrpt/target1.dsc,purge

    map scott.emp,target scott.test;

    注:1. 目标数据库账号为scotttiger

             2. 将源数据库的表scott.emp同步到scott.test表中

            查看改动之后

            GGSCI (host2) 1> view params target1

    7.       源数据库(dbsid2)開始同步

    (1)       開始同步

    GGSCI (host2) 11> start extract source1

     

    Sending START request to MANAGER ...

    EXTRACT SOURCE1 starting

    (2)       监控同步过程

    GGSCI (host2) 12> info all

    Program     Status      Group       Lag at Chkpt  Time Since Chkpt

    MANAGER     RUNNING   

     

    (3)       源数据库查看同步日志

    GGSCI (host2) 13> view report source1

    8.       目标数据库(db1)查看同步情况

    SQL> select * from test;

  • 相关阅读:
    linux常用命令总结-updating
    三次握手、四次挥手的理解
    【WPF学习】第二十八章 程序集资源
    【WPF学习】第二十七章 Application类的任务
    【WPF学习】第二十六章 Application类——应用程序的生命周期
    【WPF学习】第二十五章 日期控件
    【WPF学习】第二十四章 基于范围的控件
    【WPF学习】第二十三章 列表控件
    【WPF学习】第二十二章 文本控件
    【WPF学习】第二十一章 特殊容器
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6796091.html
Copyright © 2020-2023  润新知