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

华为GaussDB T 数据比对

墨天轮 2019-09-23
988

数据比对

操作场景

将ORACLE数据库中的数据导入到GaussDB 100主数据库中,或者利用Oracle GoldenGate工具将ORACLE数据库中的数据复制到GaussDB 100主数据库中后,需要使用数据比对工具对两边数据进行一致性校验。Oracle GoldenGate的配置方法请参考ORACLE官网。

Oracle GoldenGate会将ORACLE数据库中的数据导出为CSV格式的文本文件,数据比对工具读取该CSV文件和GaussDB 100的redo日志进行实时数据比对。数据比对以事务为单位。进行数据比对时,对于CSV缓冲中的一个事务,数据比对工具会在redo缓冲中遍历事务,依次比对事务的记录数、每条记录的操作类型、字段个数。如果找到完全一致的事务,说明该事务复制正确,则删除redo缓冲中的匹配事务,继续处理CSV缓冲中的下一个事务;如果没有找到完全一致的事务,则在告警日志中写入告警信息后继续处理CSV缓冲中的下一个事务。

前提条件

  • 运行环境需要安装JAVA JDK1.8及以上版本。
  • 已经获取对比工具安装包GaussDB_100_1.0.0-DATACOMPARE.tar.gz,该包位于GaussDB_100_1.0.0-TOOLS.tar.gz压缩包下。

注意事项

  • 当前数据对比工具支持的源端数据库类型为oracle,目的端数据库类型为gauss数据库。
  • 数据对比工具需要对比数据的表必选要在GaussDB 100中已经开启表逻辑复制开关和全局逻辑复制开关,因为只有开启这两个开关,GaussDB 100数据库才能产生逻辑复制数据日志文件,对比工具才能利用此日志文件进行数据比对。
  • 需要在GaussDB 100中为数据对比工具创建一个用户,并授予该用户所需要的权限。该用户所需要的最小权限请参见表1。此用户仅用于查询需要比对数据的表的元数据信息,尤其要注意的是:此用户与repconf_db.xml文件中配置的需要对比数据的表中的用户是没有关系的。
    表1 数据比对工具用户LREP所需的最小权限

    Gauss数据库中数据比对工具用户所需的最小权限

    CONNECT

    RESOURCE

    SELECT ON SYS.SYS_TABLES

    SELECT ON SYS.SYS_COLUMNS

    SELECT ON SYS.SYS_USERS

    SELECT ON SYS.SYS_CONSTRAINT_DEFS

    SELECT ON SYS.SYS_LOGIC_REPL

    SELECT ON SYS.DV_DATABASE

    SELECT ON SYS.DV_LOG_FILES

    SELECT ON SYS.DV_ARCHIVED_LOGS

操作步骤

以下操作步骤中使用的数据库连接信息说明如下:

  • omm是集群安装用户。集群安装成功后会生成一个同名的数据库管理员用户,gaussdb_123是该数据库管理员的默认密码。为保证信息安全,请在成功安装数据库并首次登录时,尽快修改数据库管理员omm的默认密码。
  • 127.0.0.1表示本地登录数据库,如果远程登录请输入要登录的数据库所在主机的IP。
  • 40000为DN端口号。
  • GaussDB 100需要进行数据比对的DN节点上,解压安装数据比对工具。

    • 以数据库安装用户身份登录GaussDB 100主机。
    • 按规划创建存放数据比对工具的目录。
      mkdir -p /opt/software/tools/cmp
    • 将数据比对工具安装包GaussDB_100_1.0.0-DATACOMPARE.tar.gz上传至规划目录/opt/software/tools/cmp下。
    • 进入数据比对工具的存放目录。
      cd /opt/software/tools/cmp
    • 将数据比对工具安装包解压到已规划好的/opt/software/tools/cmp目录。

      安装包解压后生成文件夹GaussDB_100_1.0.0-DATACOMPARE

      tar -zxvf GaussDB_100_1.0.0-DATACOMPARE.tar.gz -C /opt/software/tools/cmp
      [omm@plat tools]$ ll total 7940 drwxr-xr-x. 3 omm dbgrp 4096 Apr 26 15:13 GaussDB_100_1.0.0-DATACOMPARE -rw-r--r--. 1 omm dbgrp 8113682 Apr 29 16:24 GaussDB_100_1.0.0-DATACOMPARE.tar.gz
    • 进入GaussDB_100_1.0.0-DATACOMPARE目录。
      cd GaussDB_100_1.0.0-DATACOMPARE
      [omm@plat GaussDB_100_1.0.0-DATACOMPARE]$ ll total 4 drwx------. 5 omm dbgrp 4096 Apr 26 15:13 datacmp
    • (可选)进入datacmp目录,查看相关目录。
      cd /opt/software/tools/cmp/GaussDB_100_1.0.0-DATACOMPARE/datacmp
      [omm@plat datacmp]$ ll total 24 drwx------ 6 omm dbgrp 4096 Jun 4 16:05 . drwxr-xr-x 3 omm dbgrp 4096 Jun 4 16:05 .. drwx------ 2 omm dbgrp 4096 Jun 4 16:05 bin drwx------ 4 omm dbgrp 4096 Jun 4 16:05 conf dr-x------ 2 omm dbgrp 4096 Jun 4 16:05 ctrl drwx------ 2 omm dbgrp 4096 Jun 4 16:05 lib

      相关目录说明如下:

      • bin:数据比对工具的起停脚本目录
      • conf:数据比对工具的配置文件目录
      • ctrl:数据比对工具的数据文件存放目录
      • lib:数据比对工具运行需要依赖的jar包或者动态库文件目录

  • 在需要进行数据比对的DN节点上,配置数据比对工具进程的启动参数。

    • 进入conf目录。
      cd /opt/software/tools/cmp/GaussDB_100_1.0.0-DATACOMPARE/datacmp/conf
    • 打开init.properties文件,并按i进入编辑模式.
      vi init.properties
    • 修改进程启动参数的取值。

      所有改动需要重启数据比对进程生效。conf/init.properties文件模版如下,其中斜体表示用户可根据需要替换为实际值。

      #unit: number of transactions #value range:[100,300] transaction.buffer.size=100 #unit: MB #value range:[100,500] transaction.buffer.memory.size=100 #unit: MB #value range:[300,800] logentry.buffer.size=500 #byte order of redo logfiles to be extracted #little - logfiles generated on little endian platform #big - logfiles generated on big endian platform logfile.endian.type=little #path_to_keystore_file(for GaussDB) javax.net.ssl.keyStore= #encrypted keyStorePassword(for GaussDB) javax.net.ssl.keyStorePassword= #ogg control file full path ogg.files.control.rootdir=E:\\Workspace\\GaussKernel\\pkg\\src\\zdatacmp\\data #ogg control file name ogg.files.control.name=gs.control #local control file path, cache ogg control files local.files.control.rootdir=E:\\Workspace\\GaussKernel\\pkg\\src\\zdatacmp\\data\\ctrl #the allowed replication delay, unit: second replication.allowed.delay=305 #data file rollover timeout, unit: second data.rollover.time=120 #clean processed local ctrl file automatically local.files.control.autoclean=true #whether skips logs when one table's metadata can not be found. #true - skip logs of the table, one probable scenario is: #the table was dropped at the source db, logicrep restarted, and metadata lost. #false - can not skip, logicrep throws an exception and exits. skip.table.without.metadata=false

      相关参数解释如下:

      • transaction.buffer.size

        事务缓存最大存放事务个数。当缓存满时,将等待回放线程处理。初始时使用默认配置。后续可以通过观察性能日志的缓存高水位进行调整。

      • transaction.buffer.memory.size

        每个事务占用的最大内存空间,当某个事务超过默认配置值的时候,会导致数据比对失败,这个时候可以调大该参数值,确保占用大内存的事务可以正确地进行数据比对。

      • logentry.buffer.size

        logentry缓存大小。初始时使用默认配置。后续可以通过观察性能日志的缓存高水位进行调整。

      • logfile.endian.type

        指定数据存储在内存中时采用大端模式还是小端模式,此处的大小端配置是指产生数据比对工具需要使用的日志文件的机器的大小端。采用大端模式存放数据时,数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;采用小端模式存放数据时,数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。

      • javax.net.ssl.keyStore

        指定keyStore文件路径,该路径中包括文件名。仅在配置“useSSL=true”时且需要认证客户端时使用该参数。

      • javax.net.ssl.keyStorePassword

        指定keyStore密码的密文。仅在配置“useSSL=true”时且需要认证客户端时使用该参数。该密文的生成方式请参见步骤4。

      • ogg.files.control.rootdir

        ogg control 文件绝对路径。

      • ogg.files.control.name

        ogg control文件名称。

      • local.files.control.rootdir

        数据比对工具生成的control文件绝对路径。

      • replication.allowed.delay

        从oracle到gauss数据库允许的数据复制延迟时间。

      • data.rollover.time

        数据文件绕接超时时间。

      • local.files.control.autoclean

        是否自动清理数据比对工具生成的control文件。

      • skip.table.without.metadata

        如果解析GaussDB 100数据库日志发现没有某张表的元数据信息,是否可以忽略比对该张表的数据。

    • 按Esc键并输入:wq保存退出。

  • 创建并配置数据比对工具使用的用户。

    • 为数据库GaussDB 100数据比对服务创建配置用户。
      • 赋予数据库管理员读取相关系统表和视图的权限。
        • 源数据库GaussDB 100以分布式部署时。
          • 登录每个CN所在服务器。
          • 以clsmgr身份登录每个CN上的数据库。
            zsql / as clsmgr -D cn_data_dir
          • 在每个CN上的数据库里执行如下SQL语句。
            GRANT SELECT ON SYS.SYS_TABLES TO omm with grant option; GRANT SELECT ON SYS.SYS_COLUMNS TO omm with grant option; GRANT SELECT ON SYS.SYS_USERS TO omm with grant option; GRANT SELECT ON SYS.SYS_CONSTRAINT_DEFS TO omm with grant option; GRANT SELECT ON SYS.SYS_LOGIC_REPL TO omm with grant option; GRANT SELECT ON SYS.DV_DATABASE TO omm with grant option; GRANT SELECT ON SYS.DV_LOG_FILES TO omm with grant option; GRANT SELECT ON SYS.DV_ARCHIVED_LOGS TO omm with grant option;
          • 以sysdba身份登录每个主DN所在服务器。
            zsql / as sysdba -D dn_data_dir
          • 在每个主DN上的数据库里执行如下SQL语句。
            GRANT SELECT ON SYS.SYS_TABLES TO omm with grant option; GRANT SELECT ON SYS.SYS_COLUMNS TO omm with grant option; GRANT SELECT ON SYS.SYS_USERS TO omm with grant option; GRANT SELECT ON SYS.SYS_CONSTRAINT_DEFS TO omm with grant option; GRANT SELECT ON SYS.SYS_LOGIC_REPL TO omm with grant option; GRANT SELECT ON SYS.DV_DATABASE TO omm with grant option; GRANT SELECT ON SYS.DV_LOG_FILES TO omm with grant option; GRANT SELECT ON SYS.DV_ARCHIVED_LOGS TO omm with grant option;
          • 退出当前连接。
            EXIT
        • 源数据库以单机/主备模式部署时。
          • 单机部署时,登录DN所在服务器;主备模式部署时,登录每个主DN所在服务器。
          • 单机部署时,以sysdba身份本地登录DN数据库;主备模式部署时,以sysdba身份本地登录每个主DN数据库。
            zsql / as sysdba -D dn_data_dir
          • 执行以下命令。
            GRANT SELECT ON SYS.SYS_TABLES TO omm with grant option; GRANT SELECT ON SYS.SYS_COLUMNS TO omm with grant option; GRANT SELECT ON SYS.SYS_USERS TO omm with grant option; GRANT SELECT ON SYS.SYS_CONSTRAINT_DEFS TO omm with grant option; GRANT SELECT ON SYS.SYS_LOGIC_REPL TO omm with grant option; GRANT SELECT ON SYS.DV_DATABASE TO omm with grant option; GRANT SELECT ON SYS.DV_LOG_FILES TO omm with grant option; GRANT SELECT ON SYS.DV_ARCHIVED_LOGS TO omm with grant option;
          • 退出当前连接。
            EXIT
      • 使用数据库管理员登录数据库。

        omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

        • 分布式部署时:

          假设使用的CN端口号是8000。

          zsql omm@127.0.0.1:8000 Please enter password: ***********
        • 单机部署时:

          假设使用的DN端口号是40000。

          zsql omm@127.0.0.1:40000 Please enter password: ***********
        • 主备部署时:
          假设使用浮动IP为192.168.5.6,DN端口号是40000。
          zsql omm@192.168.5.6:40000 Please enter password: ***********
      • 通过执行以下SQL语句,创建数据比对用户、并授予该用户CONNECT、RESOURCE角色,以及读取相关系统表和视图的权限。
        CREATE USER LREP IDENTIFIED BY database_234; GRANT CONNECT, RESOURCE TO LREP; GRANT SELECT ON SYS.SYS_TABLES TO LREP; GRANT SELECT ON SYS.SYS_COLUMNS TO LREP; GRANT SELECT ON SYS.SYS_USERS TO LREP; GRANT SELECT ON SYS.SYS_CONSTRAINT_DEFS TO LREP; GRANT SELECT ON SYS.SYS_LOGIC_REPL TO LREP; GRANT SELECT ON SYS.DV_DATABASE TO LREP; GRANT SELECT ON SYS.DV_LOG_FILES TO LREP; GRANT SELECT ON SYS.DV_ARCHIVED_LOGS TO LREP;

  • 在任意节点上,为数据比对工具使用的用户生成密码密文。

    • 进入数据比对的密钥配置文件目录。
      cd /opt/software/tools/cmp/GaussDB_100_1.0.0-DATACOMPARE/datacmp/conf/sec [omm@plat sec]$ ll total 8 -rw-------. 1 omm dbgrp 38 Apr 26 15:13 key1.properties -rw-------. 1 omm dbgrp 100 Apr 26 15:13 key2.properties

      key1.properties文件用于保存随机密钥因子,key2.properties文件用于保存工作密钥。

    • 使用“vi key1.properties”命令查看保存在key1.properties文件中的随机密钥因子。
    • 使用“vi key2.properties”命令查看保存在key2.properties文件中的工作密钥。
    • 使用zencrypt工具为数据比对用户LREP生成密码密文。

      看到提示信息“Please enter password to encrypt:”时,输入用户的密码,则会生成该用户密码的密文,在步骤5中将该密文配置在源数据库的参数ds.passwd中。

      ./zencrypt -e AES256 -f lCHMm1WvDKU97uVQDd8+ew== -k g/FMnXWyHkp+8TKMa8qm5j+Ojvuy5hHV/p3WloMhNl2DoUT6Dl90Tom5DKP+3J2M6s/jI0mMdUknmUYcOHQN+g== Please enter password to encrypt: ********* Please input password again: ********* Cipher: jFB1xNaKybjU5kAD3gdJeJvdvEdjj0c87L1NBsSWZHA=
      • -e:指定加密算法。当前支持SCRAM_SHA256算法(用于加密用户密码)和AES256算法(用于加密SSL私钥密码)。
      • -f:指定随机密钥因子。仅在使用AES256算法或者生成工作密钥时有效。随机秘钥因子保存在key1.properties文件中,key1.properties文件的存储路径是/opt/software/tools/GaussDB_100_1.0.0-DATACOMPARE/datacmp/conf/sec/key1.properties。
      • -k:指定工作密钥。仅在使用AES256算法时有效。工作秘钥保存在key2.properties文件中,key2.properties文件的存储路径是/opt/software/tools/cmp/GaussDB_100_1.0.0-DATACOMPARE/datacmp/conf/sec/key2.properties。

  • 在需要进行数据比对的DN节点上,在conf/datasource.properties配置文件中定义数据比对工具相关的源数据库、目标数据库信息。

    • 进入conf目录。
      cd /opt/software/tools/cmp/GaussDB_100_1.0.0-DATACOMPARE/datacmp/conf
    • 打开datasource.properties文件,并按i进入编辑模式。
      vi datasource.properties
    • 定义源数据库、目标数据库信息。
      #properties of source/destination datasources defined here #note: #1. section name - datasource name #2. mandatory properties: #ds.type - gauss/logfile, needed for logicrep [srcdb] ds.type=gauss ds.url=jdbc:zenith:@127.0.0.1:1611?useSSL=true ds.username=LREP #encryted pwd ds.passwd=jFB1xNaKybjU5kAD3gdJeJvdvEdjj0c87L1NBsSWZHA= ds.available.query.sql=select 1 initial.size=5 min.idle=1 max.idle=10 max.active=50 max.wait=100000 [dstdb] ds.type=logfile dst.file.path=/samplepath

      参数详细说明如下:

      • [srcdb]/[dstdb]:小节名称,即该小节描述的数据源名称,与repconf_db.xml文件中的srcNamedstName对应。其中,srcdb代表GaussDB 100数据源名称,dstdb代表ORACLE数据源名称。
      • ds.type:数据源类型。当前数据比对工具支持的类型包括:gauss、logfile。gauss表示数据源为GaussDB 100;logfile表示数据源为ORACLE的日志文件。
      • ds.type配置为gauss时,配置ds.type之后还需配置的参数说明如下:
        • ds.url:数据库的url地址。

          ds.url的格式为ds.url=jdbc:zenith:@127.0.0.1:1888?useSSL=false,其中使用“useSSL=false”时,数据比对速度较快,但是存在安全风险,“useSSL=true”时,使用SSL进行双向认证,都需要在JDBC客户端配置SSL证书,配置方法请参见《GaussDB 100 1.0.0开发者指南(分布式)》中的数据库开发指南 > 基于JDBC开发 > 连接数据库中的“配置JDBC客户端SSL证书”内容,如果使用单向认证(客户端不认证服务端),则无需在JDBC客户端配置SSL证书。

        • ds.username:数据对比使用的用户的名称,即在GaussDB 100中为数据对比创建的用户LREP,该用户用于读取相关系统表和视图。
        • ds.passwd:为数据对比创建的用户LREP的密文密码。
        • ds.available.query.sql:检查连接池中的连接是否可用的查询语句。
        • initial.size:连接池初始连接数。
        • max.idle:连接池最大空闲连接数。
        • min.idle:连接池最小空闲连接数。
        • max.active:连接池的最大数据库连接数。
        • max.wait:最大建立连接等待时间。
      • ds.type配置为logfile时,配置ds.type之后还需配置的参数说明如下:

        dst.file.path:ORACLE数据库生成的数据日志文件路径。

    • 按Esc键并输入:wq保存退出。

  • 在需要进行数据比对的DN节点上,在repconf_db.xml文件中定义数据比对表映射关系。

    • 进入repconf目录。
      cd /opt/software/tools/cmp/GaussDB_100_1.0.0-DATACOMPARE/datacmp/conf/repconf
    • 打开repconf_db.xml文件,并按i进入编辑模式。
      vi repconf_db.xml
    • 定义数据对比的表映射关系。

      源数据库到目标数据库数据比对相关的所有信息均通过表映射关系定义文件描述,并以xml格式存放在conf/repconf目录下。

      <?xml version="1.0" encoding="UTF-8" ?> <replicationConfig> <repName> <repNameInfo name="datacmp"/> </repName> <datasource> <datasourceInfo srcName="srcdb" dstName="dstdb"/> </datasource> <modelMapping> <tableMapping srcTable="t1" srcSchema="zenUsrSample" dstTable="t1" dstSchema="zenUsrSample"> <column srcColumn="f_varchar1" dstColumn="f_varchar1"/> <column srcColumn="f_varchar2" dstColumn="f_varchar2" /> <column srcColumn="f_varchar3" dstColumn="f_varchar3" /> <column srcColumn="f_varchar4" dstColumn="f_varchar4" /> <column srcColumn="f_date1" dstColumn="f_date1" /> <column srcColumn="f_date2" dstColumn="f_date2" /> <column srcColumn="f_varchar5" dstColumn="f_varchar5" /> <column srcColumn="f_number1" dstColumn="f_number1" /> <column srcColumn="f_varchar6" dstColumn="f_varchar6" /> <column srcColumn="f_varchar7" dstColumn="f_varchar7" /> </tableMapping> </modelMapping> </replicationConfig>
      其中,相关标签解释如下:
      • repName

        数据比对的表映射关系的名称,作为表映射关系的唯一标识和数据比对进程启动时的命令行参数,以指定需要进行数据比对的内容。当conf/repconf目录下存在多个定义文件时,要求名称必须唯一。

      • datasource

        指定数据比对的数据源名称,该名称需在datasource.properties中存在定义。

      • modelMapping

        定义该比对关系中的模型映射,由多个tableMapping组成。如果源数据库中的源表和目的数据库中的目标表的表结构一样、表的所有者名称一样、表名一样,则无需为该表配置表映射关系,只需要打开这个表的逻辑复制开关即可。如果源数据库中的源表和目的数据库中的目标表的所有者名称或者表名不一样,则为该表配置表映射关系时,只配置“<tableMapping dstTable="orders2018" dstSchema="zuser" srcTable="orders" srcSchema="zuser">”即可,无需配置字段映射关系。

      • tableMapping

        定义模型映射中的一个表映射关系,包括源表名、源schema名、目标表名、目标schema名,并由多个字段映射关系组成。

      • column

        定义一个源表和其目标表的字段映射关系,包括源字段名、源字段类型、目标字段名、目标字段类型。建议源字段名和目标字段名相同,源字段类型和目标字段类型相同。

    • 按Esc键并输入:wq保存退出。

  • 打开数据比对涉及表的表逻辑复制开关和全局逻辑复制开关。

    • 打开全局逻辑复制开关。

      全局逻辑复制开关需要在源分布式数据库的每个主备DN上分别打开。

      --在主备DN上执行如下命令,分别打开主备DN的全局逻辑复制开关。 zsql omm@127.0.0.1:40000 -c "ALTER DATABASE ENABLE_LOGIC_REPLICATION ON;" Please enter password: ***********
    • 打开表逻辑复制开关。表逻辑复制开关则只需要在主DN上打开即可,备DN上的表逻辑复制开关会和主DN上的表逻辑复制开关同步打开。
      • 源数据库以分布式模式部署时,通过CN端口打开表逻辑复制开关。
        zsql omm@127.0.0.1:8000 -c "ALTER TABLE [schema_name.]table_name ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;" Please enter password: ***********

        omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

      • 源数据库以单机模式部署时,通过DN端口打开表逻辑复制开关。
        zsql omm@127.0.0.1:40000 -c "ALTER TABLE [schema_name.]table_name ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;" Please enter password: ***********

        omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

      • 源数据库以双机模式部署时,通过浮动IP在主DN数据库中打开表逻辑复制开关。

        假设使用浮动IP为192.168.5.6,DN端口号是40000。

        zsql omm@192.168.5.6:40000 -c "ALTER TABLE [schema_name.]table_name ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;" Please enter password: ***********

        omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

    说明:
    • 要比对的表必须有主键,否则,打开表的逻辑复制开关时会报错“GS-01213, error message = 'object index on table TRAINING does not exist'”。
    • 为保证源表和目的表中数据一致性,需要对源表主键字段在目的表中的对应字段设置主键属性。
    • 只有当表逻辑复制开关和全局逻辑复制开关同时打开时,该表才会产生数据比对使用的日志。

    用户可以omm身份登录主数据库所在服务器,查询全局逻辑复制开关的状态。操作步骤如下:

    • 登录数据库。
      • 单机部署时:

        假设使用的DN端口号是40000。

        zsql omm@127.0.0.1:40000 Please enter password: ***********

        omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

      • 主备部署时:
        假设使用浮动IP为192.168.5.6,DN端口号是40000。
        zsql omm@192.168.5.6:40000 Please enter password: ***********

        omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

      • 分布式部署时:

        假设使用的CN端口号是8000。

        zsql omm@127.0.0.1:8000 Please enter password: ***********

        omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

    • 查询全局逻辑复制开关的状态
      SELECT lrep_point, lrep_mode FROM sys.DV_DATABASE; --主机上全局逻辑复制开关状态查询结果如下: LREP_POINT LREP_MODE -------------------- -------------------- 0-2-422-50b ON 1 rows fetched.

    用户也可以omm身份登录主数据库所在服务器,通过以下命令查询某张表的逻辑复制开关状态。omm为安装后创建的系统管理员,其默认密码是gaussdb_123。

    zsql omm@127.0.0.1:8000 -c "SELECT l.status FROM sys.sys_logic_repl l, sys.sys_tables t WHERE t.name='ORDERS' AND t.id=l.table#;" Please enter password: *********** SQL> STATUS ------------ 1 1 rows fetched.
    说明:
    使用zsql omm@127.0.0.1:40000 -c "SELECT l.status FROM sys.sys_logic_repl l, sys.sys_tables t WHERE t.name='ORDERS' AND t.id=l.table#;"查询某张表的逻辑复制开关时,表名必须使用大写,否则查询结果为空。
    STATUS ------------ 0 rows fetched.

  • 在需要进行数据比对的DN节点上,启动数据比对工具进程。

    • 进入datacmp目录。
      cd /opt/software/tools/cmp/GAUSSDB100-V300R001C00-DATACOMPARE/datacmp/bin
    • 启动数据比对工具的进程。

      datacompare.sh和shutdown.sh脚本需要使用数据库安装帐号运行。

      sh datacompare.sh -n datacmp program start successfully

      其中,-n rep_name为必选参数,指定需要启动的数据比对工具的表映射关系名称,rep_name在比对表关系定义文件中定义。该名称将作为后续重启该数据比对服务等一系列操作的唯一标识,因此需保证其唯一性、不要在使用过程中对其进行修改。数据比对服务启动时,会检查conf/repconf目录下的所有比对关系定义文件,如果该数据比对服务的表映射关系定义文件中的rep_name的取值和已启动数据比对服务的rep_name相同,将强行退出。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论