GolddenGate

    技术2024-06-18  72

    一.原理图

     

     

    二、安装

     1.Downloading Oracle GoldenGate software.

     2.Setting ORACLE_HOME and ORACLE_SID

     3.Setting library paths for dynamic builds

     4.Installing Oracle GoldenGate software

     

    三、下载地址

    http://edelivery .oracle.com

    下载oracle GoldenGate on Oracle v11.1.1.0.0 Media Pack for Linux x86

     

    四、解压zip文件,再解压压缩文件

    unzip

    tar -xvf

     

    五、修改解压后文件夹用户和用户组

    chown -R  oracle:oinstall 文件夹名

     

    六、设置环境变量(用用户oracle来装)

     在.bash_profile中修改

    ORACLE_BASE=/u01

    ORACLE_HOME=$ORACLE_BASE/oracle

    ORACLE_SID=ggsource

     

    PATH=$ORACLE_BASE/gg11:$ORACLE_HOME/bin:$PATH

    LD_LIBRARY_PATH=$ORACLE_BASE/gg11:$ORACLE_HOME/lib:$LD_LIBRARY_PATH -------安装在gg11下

     

    export ORACLE_BASE ORACLE_HOME ORACLE_SID

    export PATH LD_LIBRARY_PATH

     

     stty erase ^halias sqlplus='rlwrap sqlplus'

    alias ggsci='rlwrap ggsci' ---------支持翻屏

    安装软件:rlwrap工具 

     

    七、执行命令安装

    进入$ORACLE_BASE/gg11目录下

    键入ggsci

    出现GGSCI图标

    GGSCI(dg1) 1>create subdirs

    ls -ltr ---查看新生成的文件夹

    退出

     

    八、配置GoldenGate

      1.prepare the Environment

      2.Initial Load

      3.Change Capture

      4.Change Delivery

      5.Verify the results

     

    源机器名:ggsource ,目标机机:ggtarget

     1.启动ggsource,启动ggtarget

     

     2. 创建实验用户

    在源机:  create table ggusr identifield by ggusr default  tablespace example

    在目机:    create table ggusr identifield by ggusr default  tablespace example

     

    3.分别赋予权限:

      源机:grant connect ,resource to ggusr

      目机:grant connect ,resource to ggusr

     

     4.创建表

       源机:@demo_ora_create.sql /u01/gg11

       目机:@demo_ora_create.sql

     

    5.插入数据:

      源机:@demo_ora_insert

     

    6.编辑manager进程的参数文件

      源机:GGSCI(dg1) 1>edit params mgr

              输入port 7809

     

    启动manager进程

            源机:GGSCI(dg1) 1 > start mgr

                      GGSCI(dg1) 1 > info mgr ---------查看状态

                     ps -ef ------------查看进程

                      GGSCI(dg1) 1 > report view mgr ---查看报告

     

    7.编辑manager进程的参数文件

      目机:GGSCI(dg1) 1>edit params mgr

              输入port 7809

     

    启动manager进程

           目机:GGSCI(dg1) 1 > start mgr

                      GGSCI(dg1) 1 > info mgr ---------查看状态

                     ps -ef ------------查看进程

                      GGSCI(dg1) 1 > report view mgr ---查看报告

     

     8.增加源机的log信息

      源机:  conn / as sysdba

        alter database add supplemental log data; ---------增加redolog里的辅助信息,以便GoldenGate解析。

        alter system switch logfile;

        查看是否打开:select supplemental_log_data_min from v$database;

     

    9.针对tcustmer,tcustord加入GodenGate日志里

      源机:

       GGSCI(dg1) 1 > dblogin userid system, password oracle   -----用system账户和密码登陆数据库

       GGSCI(dg1) 2 > add trandata ggusr.tcustmer

       GGSCI(dg1) 3 > add trandata ggusr.tcustord

       GGSCI(dg1) 4 > info trandata ggusr.*

     

    10.其它配置文件

     GGSCI> EDIT PARAMS ./GLOBALS ---全局配置

                  EDIT PARAMS MGR

                  EDIT PARAMS DEFGEN

                  EDIT PARAMS <group name>

     

     InitLoad

       Transportable tablespaces -----数据导入方式(待查)

       Break mirror

      11.

       源机:GGSCI(dg1) 1>add extract einikk,sourceistable      ----创建extract(抽数据线程,名字为einikk,sourceistable是全部抽取)

       GGSCI(dg1) 1 > edit param einikk

       加入:

        EXTRACT EINIKK

        USERID system, PASSWORD "oracle"

        RMTHOST 192.168.12.206,  MGRPORT 7809

        RMTTASK REPLICAT, GROUP RINIKK

        TABLE ggusr.TCUSTMER;

        TABLE ggusr.TCUSTORD;

     

       目机:

         GGSCI(dg1) 1 > add replicat rinikk,specialrun     ---------配置接受线程replicat

         GGSCI(dg1) 2 > edit params rinikk

         加入:

           REPLICAT RINIKK

           ASSUMETARGETDEFS

           USERID system, PASSWORD oracle

           DISCARDFLE ./dirrpt/RINIKK.dsc,PURGE

           MAP ggusr.*, TARGET A gguser.*

      

      12.传输数据

             源机:GGSCI(dg1) 1 > start extract einikk  ----启动开始根据配置文件init load数据到目标机

                       GGSCI(dg1) 1 > view report rinikk

              目机:GGSCI(dg1) 1 > view report rinikk

     

       13.验证目机是否有数据

              select * from tcustmer

              select * from tcustord

     

     Change Capture

      

       14.配置文件并启动

       源机:GGSCI(dg1) 1 > add extract eorakk,tranlog,begin now,threads 1 

                      ---加入一个extract eorakk,从tranlog取数据,从现在开始(begin now)抓取,从本地抓取(threads 1)

                GGSCI(dg1) 1 > info extract *

                GGSCI(dg1) 1 > edit params eorakk

               加入:

                     EXTRACT EORAKK

                     USERID system ,PASSWORD oracle

                     RMTHOST 192.168.12.206 ,MGRPORT 7809

                     RMTTRAIL  ./dirdat/kk ----kk是随意的两位字符

                     TABLE ggusr.TCUSTMER;

                     TABLE ggusr.TCUSTORD;

              

                 GGSCI(dg1) 1 > add rmttrail ./dirdat/kk, EXTRACT EORAKK,MEGABYTES 5 ----MEGABYTES 5设定文件大小为5M

                 GGSCI(dg1) 1 > info rmttrail *

                 GGSCI(dg1) 1 > start extract eorakk

                 GGSCI(dg1) 1 > info all

                 GGSCI(dg1) 1 > info extract eorakk,detail                           

                 GGSCI(dg1) 1 > info extract eorakk,detail

     

      change Delivery

             目机:

                GGSCI(dg1) 1 >  edit params ./GLOBALS

                加入:

                CHECKPOINTTABLE system.ggchkptable    ---这里的system代表的是表空间的意思

               

                GGSCI(dg1) 1 >  dblogin userid system,password oracle

                GGSCI(dg1) 1 > add checkpointtable system.checkpointtable --------根据GLOBALS参数文件创建checkpoint表ggchkptable

               SQL>desc ggchkptable

               GGSCI(dg1) 1 > add replicat rorakk,exttrail ./dirdata/kk ----创建接受线程

               GGSCI(dg1) 1 > edit params rorakk

                  加入:

                    REPLICAT RORAKK

                    USERID system,PASSWORD oracle

                    HANDLECOLLISIONS -----------处理冲突

                    ASSUMETARGETDEFS

                    DISCARDFILE ./dirrpt/RORAKK.DSC,PURGE

                    MAP ggusr.tcustmer TARGET ggusr.tcustmer;

                    MAP ggusr.tcustord TARGET ggusr.tcustord;

                

                 GGSCI(dg1) 1 >start replicat rorakk

                 GGSCI(dg1) 1 > info all

       验证:

             在源机:加数据,在目机能够查询到,即可验证完毕            

     

     

     

     

     oracle goldenGate Director -------------图形化管理界面

     oracle goldenGate Veridata ---------    验证工具

     

     错误说明:

     1.  2011-04-20 02:40:38  ERROR   OGG-01203  EXTRACT abending.

    2011-04-20 02:40:38  ERROR   OGG-01668  PROCESS ABENDING.

    解决:一般是einikk或rinikk的参数文件造成的,特备注意逗号前都需要一个空格。

     

    2.安装rlwrap时,报错

    You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build

     

    需安装rpm -ivh libtermcap-devel-2.0.8-46.1.i386.rpm

    和rpm -ivh readline-devel-5.1-1.1.i386.rpm

    70   71this program!
    最新回复(0)