ZCBUS安装环境需求

一、硬件环境要求

系统运行环境,最低配置要求建议:

主机 CPU 4核、16GB内存、存储不少于50GB
操作系统 CENTOS 7
网络 数据交换服务器,需要和需要共享数据的数据库、大数据平台之间,网络设备畅通。如果存在网络不畅通情况下,必须通过前置机畅通,通过前置机跳转实现数据交换服务。
数据缓存周期 默认30天
数据交换体量 1000张表以内的数据交换
5条以内复制链路

系统运行高可用环境,要求建议:

主机 3台服务器,组成MYSQL/WEB服务/ZS数据交换服务
MYSQL之间实现主备高可用同步
WEB部署在两个节点实现数据负载均衡
ZS数据交换服务
8核16GB内存500GB存储
3台KAFKA集群提供数据交换服务
负责数据缓存服务,以及数据交换存储基础服务 ,存储数据量大约为实际共享数据的50-70%,其中全量和增量为1:1配置
操作系统 CENTOS 7(兼容arm内核操作系统)
网络 数据交换服务器,需要和需要共享数据的数据库、大数据平台之间,网络设备畅通。如果存在网络不畅通情况下,必须通过前置机畅通,通过前置机跳转实现数据交换服务。
数据缓存周期 默认30天
数据交换体量 5000-10000张表以内的数据交换
10-30条复制链路

二、生产环境

ORACLE数据库环境

ORACLE数据库要求

  • ORACLE版本列表
    oracle9i/10g/11g/12c/18c/19c/20c版本
    操作系统不限
    数据复制基本要求:
    • 数据库必须处于归档模式
    • 打开附加日志
    • 对于数据共享环境:打开附加日志,如果数据库压力不大,建议打开全库全列补充日志,如果数据库压力较大,针对需要复制的表打开附加日志,【建议打开全列附加日志】。
    • 对于点对点数据传输环境:必须打开最小附加日志,以及主键、唯一键附加日志级别,建议打开全列附加日志。

      ORACLE 11.2.0.4以及以上版本【No Agentd模式】

      使用XSTREAM模式实现增量数据捕获,支持在线模式和DOWNSTREAM模式,增量数据从生产数据库,或者第三方节点获取增量数据,对生产压力较小。

      ORACLE 11.2.0.4以下版本【No Agentd模式】

      使用LOGMNR模式实现增量数据捕获,支持ORACLE9i-ORACLE11.2.0.3所有版本,增量数据从数据库准实时获取出来,对生产压力较小

      GOLGEN GATE软件兼容模式【AGENTD模式】

      兼容GoldenGate数据捕获模式,前端为GoldenGate数据获取增量数据,适用于业务量超大模式,一般建议使用OGG做分析,后端开始将增量数据介入到ZCBUS数据交换管理平台中来。

      DATAGUARD容灾端日志分析

      需要再生产建立相应用户,赋予权限参考ZCBUS提供的《ZCBUS_ORACLE_LOGMNR_V01.SQL》脚本

      LOGMINER配置

      a)检查LOGMINER是否配置
      set line 120
      col owner for a30
      col object_name for a30
      select owner,object_name,object_type from all_objects t where object_type = 'PACKAGE' and object_name in ('DBMS_LOGMNR','DBMS_LOGMNR_D','DBMS_LOGMNR_SESSION') and owner='SYS';
      select owner,object_name,object_type from all_objects t where object_type = 'SYNONYM' and object_name in ('DBMS_LOGMNR','DBMS_LOGMNR_D') and owner='PUBLIC';
      set line 150
      col owner for a30
      col GRANTEE for a30
      col TABLE_NAME for a30
      col PRIVILEGE for a30
      select GRANTEE,owner,TABLE_NAME,PRIVILEGE from dba_tab_privs where GRANTEE ='EXECUTE_CATALOG_ROLE' and TABLE_NAME in ('DBMS_LOGMNR','DBMS_LOGMNR_D','DBMS_LOGMNR_SESSION') and owner='SYS' and PRIVILEGE='EXECUTE';

      b)LOGMINER配置
      依次执行以下脚本:
      sqlplus / as sysdba
      @$ORACLE_HOME/rdbms/admin/dbmslm.sql
      @$ORACLE_HOME/rdbms/admin/dbmslmd.sql
      @$ORACLE_HOME/rdbms/admin/dbmslms.sql
      注:Oracle12c经典安装中只有前两个,但并不影响使用
      c)LOGMINER权限
      grant create session to 用户名;
      grant resource to 用户名;
      grant select any table to 用户名;
      grant select any dictionary to 用户名;
      grant select on sys.user$ to 用户名;
      grant select on sys.col$ to 用户名;
      grant select on sys.obj$ to 用户名;
      grant select_catalog_role to 用户名;
      grant EXECUTE_CATALOG_ROLE to 用户名;
      grant execute on dbms_logmnr_d to 用户名;
      grant execute on dbms_logmnr to 用户名;
      grant execute on dbms_flashback to 用户名;
      grant flashback any table to 用户名;
      grant LOGMINING to 用户名;(12c版本以上执行)

MYSQL数据库环境

MYSQL主库环境

MYSQL将用户对数据库更新的操作以二进制格式保存到 Binary Log日志文件中
MYSQL主库环境,需要有查询需要复制表权限,查询数据字典权限,以及复制权限即可

MYSQL从库环境

MYSQL将用户对数据库更新的操作以二进制格式保存到 Binary Log日志文件,以及log-slave-updates=1
MYSQL从库可写情况,需要有查询需要复制表权限,查询数据字典权限,以及复制权限即可.
MYSQL从库只读情况,需要再生产配置数据库账号,具有上述权限,会自动复制到从库中.

GTID模式:

gtid_mode=on
enforce_gtid_consistency=on

SQLSERVER数据库环境

分为在线模式,离线模式两种

在线模式

需要SYSADMIN权限,在生产创建各别辅助脚本,脚本内容参考ZCBUS提供的《ZCBUS_SQLSERVER_AUX_ONLINE_V01.SQL》

离线模式

1、在生产使用SA/SYSADMIN用户连接,使用“ZCBUS初始化工具”进行SQLSERVER配置
2、在生产建立查询账号,赋予相应权限,即可实现提供数据复制服务基础

POSTGRESQL数据库环境

修改参数

a)修改postgresql.conf文件

#逻辑级别日志
wal_level = logical

#设置日志保留个数,设置太少了,日志量太大了日志自动删除后,容易读不到日志
wal_keep_segments = 10

#如果需要远程读日志,需要设置,至少为1,就接受1个读日志线程
max_wal_senders = 10
b)如果远程读日志,需要设置读日志的权限,修改pg_hba.conf
host replication all 0.0.0.0/32 ident
c)重启数据库

创建数据库用户

create user 用户名 with password  '密码';

赋权限

grant select,trigger, connect, execute,usage on database 数据库名 to用户名;

在生产创建各别辅助脚本,脚本内容参考ZCBUS提供的《ZCBUS_POSTGRESQL_AUX_ONLINE_V01.SQL》

SYBASE数据库环境

需要提供SA或者相应权限账户,即可实现数据复制

DB2数据库环境

客户端安装

a)db2inst1用户创建

useradd db2inst1
passwd db2inst1

b)介质包解压

tar -xvf v9.7_linuxx64_server.tar

c) 客户端安装

cd server
./db2_install

指定安装目录,默认路径是/opt/ibm/db2/V9.7,需要修改路径输入yes:

指定安装客户端程序,输入CLIENT:

d) 实例创建

cd /opt/ibm/db2/V9.7/instance
./db2icrt db2inst1

编目tcp/ip节点

su  - db2inst1
db2 "catalog tcpip node /*db2node 节点名*/ remote /*10.108.48.205 IP地址*/ server /*50000 端口号*/"

注:其中节点名、IP地址和端口为可变参数,是指要连接的数据库所在的服务器IP和端口(db2 get dbm cfg|grep SVCENAME,可使用此命令再db2数据库服务器上查询具体IP和端口)

编目数据库实例

db2 "catalog database /*test 数据库实例名*/ as /*test 数据库映射名*/ at node /*db2node 节点名*/"

注:其中数据库实例名和数据库映射名名为可变参数,节点名为上一步指定的名称

数据库远程连接

db2 connect to /*test 数据库映射名*/ user /*username 连接用户名*/" using /*123456 密码*/"

注:数据库映射名为上一步指定的名称

开启归档模式

a)检查数据库是否是归档模式

db2 connect to 数据库名
db2 get db cfg for 数据库名| grep LOG

如果下面参数值为OFF,则源端日志为循环日志。

First log archive method              (LOGARCHMETH1) = OFF
Second log archive method           (LOGARCHMETH2) = OFF

b)修改日志模式为归档模式
创建相关路径:

mkdir -p LOGARCHMETH1路径
mkdir -p LOGARCHMETH2路径
mkdir -p OVERFLOWLOGPATH路径

db2开启归档日志:

db2 update db cfg for 数据库名 using LOGARCHMETH1 disk:LOGARCHMETH1路径
db2 update db cfg for 数据库名 using LOGARCHMETH2 disk:LOGARCHMETH2路径
db2 update db cfg for 数据库名 using OVERFLOWLOGPATH OVERFLOWLOGPATH路径

离线备份数据库

db2 backup database test to 备份日志路径

注:备份时如果如下报错,说明有连接在连着这个库,可以执行强制断开所有连接,db2 force application all,如下:

[db2inst1@zcbusdbs arch]$ db2 backup database test to /data/db2/database/arch/backup
SQL1035N  The database is currently in use.  SQLSTATE=57019
[db2inst1@zcbusdbs arch]$ db2 force application all
DB20000I  The FORCE APPLICATION command completed successfully.
DB21024I  This command is asynchronous and may not be effective immediately.
[db2inst1@zcbusdbs arch]$ db2 backup database test to /data/db2/database/arch/backup
Backup successful. The timestamp for this backup image is : 20210219010613

用户权限

db2 grant dbadm,connect,dataaccess on database to user 用户名

开启data capture changes属性

注:程序会自动为发布的表添加data capture changes属性,这样表的操作才能记录到日志里,程序才能分析到。
查询表是否有data capture changes权限:

SELECT DATACAPTURE FROM SYSCAT.TABLES WHERE TABSCHEMA ='SCHEMA名' AND TABNAME='表名' AND TYPE='T'

手动开启:

Alter table SCHEMA名.表名 data capture changes
文档更新时间: 2023-04-24 17:37   作者:操李红