暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【经验分享】使用OGG实现ORACLE 数据库间的实时数据同步和迁移

热衷于分享各种干货知识,大家有想看或者想学的可以评论区留言,秉承着“开源知识来源于互联网,回归于互联网”的理念,分享一些日常工作中能用到或者比较重要的内容,希望大家能够喜欢,不足之处请大家多宝贵地意见,我们一起提升,守住自己的饭碗。

正文开始

一、背景

本文测试Oracle 11g数据库使用ogg实现主备同步、数据迁移等场景。

二、环境准备

1、环境规划


Oracle单机环境已部署完成,环境如下,部署过程比较简单,此处省略。

部署OGG环境(两台)

创建ogg操作系统用户

两台服务器都需要创建ogg操作系统用户(此步骤非必须,也可以使用ORACLE用户安装)。

    useradd -u 1003 -g oinstall -G dba ogg
    passwd ogg

    修改ogg操作系统用户环境变量

      export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db/lib
      export ORACLE_SID=ogg
      export ORACLE_BASE=/u01/app/oracle
      export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
      export PATH=ORACLE_HOME/jdk/bin:$PATH

      创建ogg安装目录

        mkdir ogg
        chown -R ogg:oinstall ogg

        上传安装介质

        OGG介质下载地址:

          https://edelivery.oracle.com/osdc/faces/SoftwareDelivery

          将OGG安装文件上传到两台服务器的OGG操作系统用户的家目录(默认为/home/ogg)。

          ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip,

          unzip后fbo_ggs_Linux_x64_ora11g_64bit.tar,

          将fbo_ggs_Linux_x64_ora11g_64bit.tar解包到/ogg目录。

          tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar -C ogg

          登录ogg测试

            su - ogg
            cd /ogg
            ./ggsci

            如果LD_LIBRARY_PATH变量设置正确,会像上面演示一样正确进入命令行,如果提示找不到so文件,就需要 查看LD_LIBRARY_PATH变量是否正确设置。

            建立ogg表空间及用户

            ORACLE建议使用单独的表空间存放OGG数据,表空间大小50M就可以,但是最好设置数据文件的自动扩展。

              create tablespace ogg datafile '/oradata/ogg/ogg01.dbf' size 20M autoextend on;
              create user ogg identified by ogg default tablespace ogg;

              为ogg用户授权

              OGG用户需要以下权限,也有人为了省事,直接给OGG用户DBA权限。

                grant CONNECT, RESOURCE to ogg;
                grant SELECT ANY DICTIONARY, SELECT ANY TABLE to ogg;
                grant ALTER ANY TABLE to ogg;
                grant FLASHBACK ANY TABLE to ogg;
                grant EXECUTE on DBMS_FLASHBACK to ogg;
                grant insert any table to ogg;
                grant update any table to ogg;
                grant delete any table to ogg;

                打开数据库的附加日志和force log

                  select NAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN from v$database;
                  alter database force logging;
                  alter database add SUPPLEMENTAL log data;
                  select NAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN from v$database;

                  运行ogg支持DDL脚本

                  如果要让OGG支持DDL操作,还需要额外运行几个脚本,这些脚本是OGG带的而不是ORACLE带的,在OGG的安装目录都可以找到。进入/ogg目录登录数据库执行以下脚本:

                    @marker_setup.sql
                    @ddl_setup.sql
                    @role_setup.sql
                    @ddl_enable.sql

                    注意:这里在执行第二个脚本的时候报了很多错误,主要是ORA-00942: table or view does not exist导致执行失败。原因是ogg用户没有创建表和序列的权限。但是在执行授权操作的时候又报错ORA-04098: trigger 'SYS.GGS_DDL_TRIGGER_BEFORE' is invalid and failed re-validation。处理方法是:

                      @ddl_disable.sql
                      grant create table to ogg;
                      grant create sequence to ogg;

                      再次执行@ddl_setup.sql就没问题了。

                      创建ogg管理用户

                      在正式配置OGG之前,首先需要创建OGG的管理目录,源端和目标端都需要创建,登录OGG,只需要执行create subdirs命令就可以了。

                      源端:

                      目标端:

                      各目录用途如下表:

                      三、迁移过程

                      之前所做的只是准备工作,现在就可以正式配置OGG了,在配置OGG之前,先看下OGG的复制流程,OGG和其他传统复制软件一样,也是通过源端捕获/挖掘ORACLE的日志信息,目标端根据源端传送过来的日志信息进行重塑,实现源端-目标端数据同步,可以参考下图。 只有commit之后的日志信息才会被Capture进程捕获,未提交的事务OGG不会捕获。

                      IMG_256

                      创建测试表

                      源端基于SCOTT用户的EMP和DEPT表建立EMP_OGG和DEPT_OGG测试表,包含数据。

                        create table scott.emp_ogg as select * from scott.emp;
                        create table scott.dept_ogg as select * from scott.dept;

                        目标端基于SCOTT用户的EMP和DEPT表建立EMP_OGG和DEPT_OGG测试表,不包含数据。

                          create table scott.emp_ogg as select * from scott.emp where 1=2;
                          create table scott.dept_ogg as select * from scott.dept where 1=2;

                          源端和目标端分别在EMP_OGG和DEPT_OGG测试表上建立主键(或唯一键)。

                            alter table scott.EMP_OGG add constraint PK_EMPNO_OGG primary key (EMPNO);
                            alter table scott.DEPT_OGG add constraint PK_DEPTNO_OGG primary key (DEPTNO);

                            源端添加表级TRANDATA

                            添加表级的trandata可以理解为需要将哪些用户的哪些表和目标库同步,其实也是添加表级的supplemental log,但是只有上文打开的minimal supplemental log后,这个才生效。使用OGG用户从OGG登录源端数据库:

                              DBLOGIN USERID ogg, PASSWORD ogg
                              add trandata scott.emp_ogg
                              add trandata scott.dept_ogg

                              成功添加表级TRANDATA后,可以通过INFO命令查看哪些表被添加了

                                TRANDATA:
                                INFO TRANDATA scott.*

                                配置MGR管理进程

                                源端:

                                  GGSCI (ogg01) 5> EDIT PARAMS MGR
                                  加入以下两行内容:
                                  PORT 7809
                                  PURGEOLDEXTRACTS /ogg/dirdat, USECHECKPOINTS

                                  目标端:

                                    GGSCI (ogg02) 1> EDIT PARAMS MGR
                                    加入以下两行内容:
                                    PORT 7809
                                    PURGEOLDEXTRACTS /ogg/dirdat, USECHECKPOINTS

                                    参数说明:

                                    PORT 7809:OGG管理进程监控端口。

                                    PURGEOLDEXTRACTS:清除不需要的trail文件。

                                    /ogg/dirdat:trail文件存放位置。

                                    USECHECKPOINTS:使用检查点队列。

                                    本实验只用到上述参数,MGR其他参数详见下表,摘自OGG官方文档。

                                    Manager parameters: General

                                    Manager parameters: Port management

                                    Manager parameters: Process management

                                    Manager parameters: Event management

                                    Manager parameters: Maintenance

                                    配置完MGR管理进程后,就可以启动MGR管理进程(源端和目标端都需要启动)。启动后可以通过INFO命令查看进程的状态(最好每次启动时在两端都查看下)。

                                    配置初始化数据进程(EXTRACT)

                                    由于在创建测试表的时候,源端的测试表有数据,而目标端的测试表只有结构,没有数据,所以需要初始化目标端的数据,所谓初始化,就是让目标端的数据和源端的数据在这个时间点是一模一样的,所以初始化工作并不需要一定使用OGG,也可以使用EXP、EXPDP、SQLLOAD等其他工具,本文主要介绍如何使用OGG进行数据初始化,下面在源端配置捕获进程EINI_1。

                                      GGSCI (ogg01) 8> ADD EXTRACT EINI_1, SOURCEISTABLE
                                      GGSCI (ogg01) 9> INFO EXTRACT *, TASKS

                                      由于只是添加了捕获进程EINI_1,还没有进行配置和启动这个进程,所以现在的状态是STOPPED状态。

                                      源端编辑捕获进程EINI_1。

                                        GGSCI (ogg01) 10> EDIT PARAMS EINI_1
                                        加入以下内容:
                                        EXTRACT EINI_1
                                        SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
                                        USERID ogg, PASSWORD ogg
                                        RMTHOST 192.168.152.140, MGRPORT 7809
                                        RMTTASK REPLICAT, GROUP RINI_1
                                        TABLE scott.EMP_OGG;
                                        TABLE scott.DEPT_OGG;

                                        参数介绍:

                                        EXTRACT EINI_1:说明这是EXTRACT进程,名字是EINI_1

                                        SETENV:环境变量,一定要设置和数据库字符集一样,否则可能会乱码

                                        USERID:数据库OGG用户

                                        PASSWORD:数据库用户OGG的密码

                                        RMTHOST:目标端地址,如果在/etc/hosts文件里已经设置解析,可以写主机名

                                        MGRPORT:目标端MGR管理进程监听的端口

                                        RMTTASK REPLICAT:目标端REPLICAT应用进程的组和名字

                                        TABLE:源端要初始化数据的表的名字

                                        编辑好捕获进程EINI_1后,还需要在目标端配置REPLICAT应用进程,名字要和源端的捕获进程EINI_1里面RMTTASK REPLICAT参数配置的一样,也就是还需要在目标端配置RMTTASK REPLICAT RINI_1。

                                        配置目标端进程(REPLICAT)

                                          GGSCI (ogg02) 1> EDIT PARAMS RINI_1
                                          加入以下参数:
                                          REPLICAT RINI_1
                                          SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
                                          ASSUMETARGETDEFS
                                          USERID ogg, PASSWORD ogg
                                          DISCARDFILE /ogg/dirrpt/RINIaa.dsc, PURGE
                                          MAP scott.*, TARGET scott.*;

                                          参数介绍:

                                          REPLICAT RINI_1:说明这是REPLICAT应用进程,名字叫RINI_1

                                          SETENV:语言变量,同捕获进程EINI_1

                                          ASSUMETARGETDEFS:告诉OGG目标端和源端需要同步的表的结构完全一致,不需要OGG去检查表的结构,包括表名、字段名、字段类型、字段长度等,如果目标端和源端同步的表的结构不一样,需要使用SOURCEDEFS参数,详见OGG官方文档。

                                          USERID、PASSWORD:同捕获进程EINI_1参数介绍

                                          DISCARDFILE:错误信息存放位置及命名规则

                                          MAP:源端捕获的表的名字

                                          TARGET:目标端同步的表的名字,可以不在同一SCHEMA。

                                          初始化数据

                                          配置好目标端的应用进程RINI_1后,就可以启动源端的捕获进程进行捕获数据了,而目标端的应用进程RINI_1不需要手动去启动,也就是说目标端RINI_1进程不需要管。

                                          启动源端的捕获进程EINI_1后,正常情况下(如果配置没问题),源端的数据已经传送到目标端了,可以通过VIEW命令查看源端捕获进程EINI_1的工作状态。

                                            GGSCI (ogg01) 16> START EXTRACT EINI_1
                                            Sending START request to MANAGER ...
                                            EXTRACT EINI_1 starting
                                            GGSCI (ogg01) 17> VIEW REPORT EINI_1
                                            2025-01-21 11:27:50 INFO OGG-01017 Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is used.
                                            ***********************************************************************
                                            Oracle GoldenGate Capture for Oracle


                                            Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBO
                                            Linux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:32:12
                                            Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
                                            Starting at 2025\-01\-21 11:27:50


                                            ***********************************************************************
                                            Operating System Version:
                                            Linux
                                            Version #1 SMP Tue Aug 22 21:09:27 UTC 2017, Release 3.10.0-693.el7.x86_64
                                            Node: ogg01
                                            Machine: x86_64
                                            soft limit hard limit


                                            Address Space Size : unlimited unlimited
                                            Heap Size : unlimited unlimited
                                            File Size : unlimited unlimited
                                            CPU Time : unlimited unlimited
                                            Process id: 8047
                                            Description:
                                            ***********************************************************************
                                            ** Running with the following parameters **
                                            ***********************************************************************
                                            2025-01-21 11:27:50 INFO OGG-03035 Operating system character set identified as UTF-8. Locale: en_US, LC_ALL:.
                                            EXTRACT EINI_1
                                            SETENV (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
                                            Set environment variable (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)
                                            USERID ogg, PASSWORD ***
                                            2025-01-21 11:27:50 INFO OGG-03500 WARNING: NLS_LANG environment variable does not match database character set, or not set. Using database character set val
                                            ue of AL32UTF8.
                                            RMTHOST 192.168.152.140, MGRPORT 7809
                                            RMTTASK REPLICAT, GROUP RINI_1
                                            TABLE scott.EMP_OGG;
                                            Using the following key columns for source table SCOTT.EMP_OGG: EMPNO.
                                            TABLE scott.DEPT_OGG;
                                            Using the following key columns for source table SCOTT.DEPT_OGG: DEPTNO.
                                            2025-01-21 11:27:50 INFO OGG-01815 Virtual Memory Facilities for: COM
                                            anon alloc: mmap\(MAP\_ANON\) anon free: munmap


                                            file alloc: mmap\(MAP\_SHARED\) file free: munmap


                                            target directories:


                                            /ogg/dirtmp\.


                                            CACHEMGR virtual memory values (may have been adjusted)
                                            CACHESIZE: 64G
                                            CACHEPAGEOUTSIZE (normal): 8M
                                            PROCESS VM AVAIL FROM OS (min): 128G
                                            CACHESIZEMAX (strict force to disk): 96G
                                            Database Version:
                                            Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
                                            PL/SQL Release 11.2.0.4.0 - Production
                                            CORE 11.2.0.4.0 Production
                                            TNS for Linux: Version 11.2.0.4.0 - Production
                                            NLSRTL Version 11.2.0.4.0 - Production
                                            Database Language and Character Set:
                                            NLS_LANG = ".AL32UTF8"
                                            NLS_LANGUAGE = "AMERICAN"
                                            NLS_TERRITORY = "AMERICA"
                                            NLS_CHARACTERSET = "AL32UTF8"
                                            GGSCI (ogg01) 18>

                                            查看目标端,数据已经初始化完成:

                                            问题记录:

                                            源端START EXTRACT EINI_1启动并VIEW REPORT EINI_1查看状态,报如下错误:2025-01-21 11:13:23  WARNING OGG-01194  EXTRACT task RINI_1 abended : Could not open checkpoint file ogg/dirchk/RINI_1.cpr, mode 1 (error 2, No such file or directory).

                                            查看目标端日志文件显示:

                                            解决方式,在目标端执行以下语句:

                                              GGSCI (ogg02) 2> add replicat RINI_1,specialrun

                                              重新启动源端进程。

                                              初始化之后,上文提到的初始化进程(EINI_1、RINI_1)自动停止,因为通常情况下初始化数据工作只会做一次。可以通过INFO命令查看进程的状态。

                                              源端和目标端配置OGG检查点

                                              此步骤不是必须的,但是为了让OGG网络中断、服务器宕机、掉电等在突发情况也能正确断点续传,ORACLE建议配置OGG的检查点队列。源端和目标端都需配置。

                                                GGSCI (ogg01) 20> EDIT PARAMS ./GLOBALS
                                                加入以下信息:
                                                CHECKPOINTTABLE ogg.ggschkpt

                                                这就告诉OGG检查点存放到OGG用户下的GGSCHKPT表中,但是还需要使用OGG用户登录数据库,创建检查点表,此时需要退出OGG,重新登录,否则可能会遇到下面的错误。

                                                  GGSCI (ogg02) 5> ADD CHECKPOINTTABLE
                                                  ERROR: Not logged into database, use DBLOGIN.
                                                  GGSCI (ogg02) 6> exit
                                                  [ogg@ogg02 ogg]$ ./ggsci
                                                  Oracle GoldenGate Command Interpreter for Oracle
                                                  Version 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBO
                                                  Linux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:20:21
                                                  Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
                                                  GGSCI (ogg02) 1> dblogin userid ogg,password ogg
                                                  Successfully logged into database.
                                                  GGSCI (ogg02) 2> ADD CHECKPOINTTABLE
                                                  No checkpoint table specified, using GLOBALS specification (ogg.ggschkpt)...
                                                  Successfully created checkpoint table ogg.ggschkpt.
                                                  GGSCI (ogg02) 3>

                                                  只需要执行ADD CHECKPOINTTABLE命令,OGG会自动在ORACLE的OGG用户下创建检查点,源端和目标端都需要执行。此时用OGG登录数据库,就可以看到OGG创建的检查点表。

                                                  源端配置捕获进程(EXTRACT)

                                                  现在已经可以配置数据同步了,下面在源端配置捕获进程。

                                                    GGSCI (ogg01) 3> EDIT PARAMS EORA_1
                                                    加入以下参数:
                                                    EXTRACT EORA_1
                                                    SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
                                                    USERID ogg, PASSWORD ogg
                                                    EXTTRAIL /ogg/dirdat/aa
                                                    TABLE scott.EMP_OGG;
                                                    TABLE scott.DEPT_OGG;

                                                    参数介绍:

                                                    以上参数基本都在上文提过,这里不在重复,说下EXTTRAIL参数,EXTTRAIL参数是TRAIL队列文件存放的路径和命名格式,TRAIL文件可以理解为存放捕获进程捕获的日志文件。此时还需要将捕获进程EORA_1添加到OGG。

                                                      GGSCI (ogg01) 4> ADD EXTRACT EORA_1, TRANLOG, BEGIN NOW
                                                      EXTRACT added.
                                                      GGSCI (ogg01) 5> ADD EXTTRAIL ogg/dirdat/aa, EXTRACT EORA_1, MEGABYTES 5
                                                      EXTTRAIL added.

                                                      上面的两个命名告诉OGG,捕获进程从启动起开始捕获,捕获数据保存到TRAIL文件,及TRAIL文件的路径、命名格式,单个TRAIL文件最大大小。现在就可以启动源端捕获进程EORA_1了,并通过INFO命令查看状态为RUNNING。

                                                        GGSCI (ogg01) 6> START EXTRACT EORA_1
                                                        Sending START request to MANAGER ...
                                                        EXTRACT EORA_1 starting
                                                        GGSCI (ogg01) 7> INFO EXTRACT EORA_1
                                                        EXTRACT EORA_1 Last Started 2025-01-21 14:54 Status RUNNING
                                                        Checkpoint Lag 00:00:00 (updated 00:00:00 ago)
                                                        Log Read Checkpoint Oracle Redo Logs
                                                        2025\-01\-21 14:53:30 Seqno 26, RBA 1289216


                                                        SCN 0\.993670 \(993670\)


                                                        GGSCI (ogg01) 8>

                                                        源端配置传输进程(PUMP)

                                                        此步骤也是非必须的,如果不配置传输进程,OGG会通过EXTRACT进程传输TRAIL队列文件,但是和检查点队列一样,为了保证断点续传ORACLE建议配置PUMP传输进程。

                                                          EDIT PARAMS PORA_1
                                                          加入以下参数:
                                                          EXTRACT PORA_1
                                                          SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
                                                          PASSTHRU
                                                          RMTHOST 192.168.152.140, MGRPORT 7809
                                                          RMTTRAIL /ogg/dirdat/pa
                                                          TABLE scott.EMP_OGG;
                                                          TABLE scott.DEPT_OGG;

                                                          添加PUMP进程PORA_1到OGG,并指定本地的TRAIL文件。此时用INFO命令可以看到PUMP进程PORA_1的状态。

                                                            GGSCI (ogg01) 9> ADD EXTRACT PORA_1, EXTTRAILSOURCE /ogg/dirdat/aa
                                                            EXTRACT added.
                                                            GGSCI (ogg01) 10> INFO EXTRACT PORA_1
                                                            EXTRACT PORA_1 Initialized 2025-01-21 15:00 Status STOPPED
                                                            Checkpoint Lag 00:00:00 (updated 00:00:06 ago)
                                                            Log Read Checkpoint File /ogg/dirdat/aa000000
                                                            First Record RBA 0


                                                            GGSCI (ogg01) 11>

                                                            为PUMP进程PORA_1指定将本地TRAIL文件传输到目标端后保存成目标端TRAIL文件的名字。下面就可以启动PUMP进程PORA_1了,启动后看下PORA_1的状态。

                                                              GGSCI (ogg01) 11> ADD RMTTRAIL /ogg/dirdat/pa, EXTRACT PORA_1, MEGABYTES 5
                                                              RMTTRAIL added.
                                                              GGSCI (ogg01) 12> INFO EXTRACT PORA_1
                                                              EXTRACT PORA_1 Initialized 2025-01-21 15:00 Status STOPPED
                                                              Checkpoint Lag 00:00:00 (updated 00:02:06 ago)
                                                              Log Read Checkpoint File /ogg/dirdat/aa000000
                                                              First Record RBA 0


                                                              GGSCI (ogg01) 13>

                                                              启动PUMP进程,查看状态。

                                                                GGSCI (ogg01) 22> START EXTRACT PORA_1
                                                                Sending START request to MANAGER ...
                                                                EXTRACT PORA_1 starting
                                                                GGSCI (ogg01) 23> INFO EXTRACT PORA_1
                                                                EXTRACT PORA_1 Last Started 2025-01-21 15:16 Status RUNNING
                                                                Checkpoint Lag 00:00:00 (updated 00:15:32 ago)
                                                                Log Read Checkpoint File /ogg/dirdat/aa000000
                                                                First Record RBA 0


                                                                GGSCI (ogg01) 24>

                                                                此时在目标端/ogg/dirdat/目录下,就会看到由源端PUMP进程PORA_1传输过来的TRAIL文件。

                                                                目标端配置同步进程(REPLICAT)

                                                                  GGSCI (ogg02) 10> ADD REPLICAT RORA_1, SPECIALRUN
                                                                    EDIT PARAMS RORA_1
                                                                    加入以下参数:
                                                                    REPLICAT RORA_1
                                                                    SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
                                                                    USERID ogg, PASSWORD ogg
                                                                    HANDLECOLLISIONS
                                                                    ASSUMETARGETDEFS
                                                                    DISCARDFILE /ogg/dirrpt/RORA_aa.DSC, PURGE
                                                                    MAP scott.emp_ogg, TARGET scott.emp_ogg;
                                                                    MAP scott.dept_ogg, TARGET scott.dept_ogg;

                                                                    启动RORA_1进程,并查看状态:

                                                                      GGSCI (ogg02) 67> START REPLICAT RORA_1
                                                                      Sending START request to MANAGER ...
                                                                      REPLICAT RORA_1 starting
                                                                      GGSCI (ogg02) 68>INFO ALL
                                                                      Program Status Group Lag at Chkpt Time Since Chkpt
                                                                      MANAGER RUNNING
                                                                      REPLICAT RUNNING RORA_1 00:00:00 00:00:04
                                                                      GGSCI (ogg02) 69>

                                                                      报错问题处理:

                                                                      ERROR   OGG-00446  Oracle GoldenGate Delivery for Oracle, rora_1.prm:  Invalid data source -1 in checkpoint file /ogg/dirchk/RORA_1.cpr.

                                                                      ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, rora_1.prm:  PROCESS ABENDING.

                                                                      查看进程状态:

                                                                      这个问题一直没找到原因,最后临时的处理办法是先关闭检查点功能,不使用断点续传。操作是mgr进程中删除检查点参数,然后重启源端进程。目标端按照如下命令重新添加REPLICAT进程:

                                                                        add replicat rora_1 integrated exttrail /ogg/dirdat/pa NODBCHECKPOINT

                                                                        然后重新启动复制进程,成功。

                                                                        四、验证测试

                                                                        源端更新数据

                                                                        源端删除3条数据:

                                                                          delete from scott.emp_ogg where empno in ('7900','7902','7934');

                                                                          目标端观察数据是否同步

                                                                          目标端观察数据是否删除:

                                                                          观察数据已经同步至目标端。

                                                                          到此,已完成全量数据和增加数据的实时同步,大家可以进行测试,有问题随时交流。
                                                                          文章来源于小董不懂投稿。


                                                                          END
                                                                          往期文章回顾

                                                                          文中的概念来源于互联网,如有侵权,请联系我删除。

                                                                          欢迎关注公众号:小周的数据库进阶之路,一起交流数据库、中间件和云计算等技术。如果觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。



                                                                          文章转载自小周的数据库进阶之路,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                          评论