注册
部署DM to Oracle19c的DMHS(目标端DMHS和目标端数据库属于不同服务器)
技术分享/ 文章详情 /

部署DM to Oracle19c的DMHS(目标端DMHS和目标端数据库属于不同服务器)

竹蜻蜓vYv 2023/06/01 1373 8 0

背景:源端DM数据库在云上,Oracle数据库在本地,按照客户要求,在Oracle数据库迁移到DM之后,为了保证平稳过渡,需要达梦数据库往Oracle数据库同步一段时间,又因为连接Oracle数据库只能用IP远程,所以选择使用单独部署客户端。

0.数据库IP信息

0.1.服务器IP信息

1.数据库信息:
1.1.DM数据库IP:192.168.2.40
1.2.Oracle数据库IP:192.168.2.42

2.Oracle客户端信息
2.1.Oracle客户端部署信息:192.168.2.41

3.DMHS部署信息
3.1.DMHS源端服务器IP:192.168.2.40
3.2.DMHS目标端服务器IP:192.168.2.41

4.源端和目标端需要的安装包存放目录
/soft

5.源端和目标端dmhs部署目录
/opt/dmhs

6.源端和目标端部署OS用户
6.1.源端:dmdba
6.2.目标端:root

7.用户
7.1.同步管理用户:DMHS
7.2.模拟业务用户:DMHR

0.2.源端DM数据库信息

注意:重点查看字符集信息:UTF8,DMHS启动脚本和参数文件需要根据源端数据库配置

[dmdba@yuanzj:~/scripts]$ ds 服务器[LOCALHOST:5236]:处于普通打开状态 登录使用时间 : 3.151(ms) 密钥过期时间:2024-05-30 disql V8 18:47:08 SYSDBA@DAMENG:5236 SQL> start dmdb_info.sql 18:47:15 SYSDBA@DAMENG:5236 SQL> set echo off 数据库参数项 数据库参数值 ------------------------------- ----------------------------------- 实例名 DMSERVER DM Database Server x64 V8 1-3-12-2023.05.30-191833-20040-ENT 簇大小 32 页大小 32 大小写敏感 1 字符集 1 varchar是否以字符为单位 0

0.3.目标端Oracle数据库信息

[oracle@yuanzj:~]$ sas SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 1 18:57:22 2023 Version 19.19.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.19.0.0.0 sys@ORCL 2023-06-01 18:57:22> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8 sys@ORCL 2023-06-01 18:57:38> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB01 READ WRITE NO [oracle@yuanzj:~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/19.3.0/db/network/admin/tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = yuanzj)(PORT = 1521)) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = yuanzj)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ORCLPDB01 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = yuanzj)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb01) ) )

1.配置源端DM数据库

1.1.开启归档

alter database mount; alter database add archivelog 'dest = /dmarch/DAMENG, type = local, file_size = 2048, space_limit = 204800'; alter database archivelog; alter database open;

1.2.开启逻辑日志,关闭快速提交

注意:关闭快速提交,否则会导致逻辑日志不全而影响同步

--执行sql配置参数 sf_set_system_para_value('RLOG_APPEND_LOGIC',1,0,1); sf_set_system_para_value('RLOG_APPEND_SYSTAB_LOGIC',1,0,1); sf_set_system_para_value('FAST_COMMIT',0,0,1); --查看配置结果 select para_name,para_value from v$dm_ini where para_name in ('RLOG_APPEND_LOGIC','RLOG_APPEND_SYSTAB_LOGIC','FAST_COMMIT');

1.3.创建dmhs用户

create tablespace DMHS datafile 'DMHS01.DBF' size 10240 autoextend on next 512; create user dmhs identified by dmhs12345 limit failed_login_attemps unlimited, password_lock_time unlimited, password_grace_time unlimited default tablespace dmhs; grant dba,public,resource,soi,svi,vti to dmhs;

1.4.配置DDL执行脚本(脚本使用SYSDBA执行,从安装之后的dmhs里面获取,路径:/opt/dmhs/scripts)

start ddl_sql_dm8.sql

1.5.执行脚本创建数据(过程略,第一个脚本不用执行)

[dmdba@yuanzj:/opt/dmdbms/samples/instance_script/dmhr/UTF-8]$ ls -lh 总用量 280K -rwxr-xr-x 1 dmdba dinstall 121 6月 7 14:57 1-CREATESCHEMA.sql -rwxr-xr-x 1 dmdba dinstall 704 6月 7 14:57 2-REGION.sql -rwxr-xr-x 1 dmdba dinstall 1.3K 6月 7 14:57 3-CITY.sql -rwxr-xr-x 1 dmdba dinstall 1.9K 6月 7 14:57 4-LOCATION.sql -rwxr-xr-x 1 dmdba dinstall 6.2K 6月 7 14:57 5-DEPARTMENT.sql -rwxr-xr-x 1 dmdba dinstall 2.1K 6月 7 14:57 6-JOB.sql -rwxr-xr-x 1 dmdba dinstall 248K 6月 7 14:57 7-EMPLOYEE.sql -rwxr-xr-x 1 dmdba dinstall 3.7K 6月 7 14:57 8-JOB_HISTORY.sql

2.目标端数据库Oracle19c

2.1.修改参数(在数据库是Oracle 11G时候需要执行该命令,需要重启数据库)

alter system set enable_goldengate_replication = true scope=both;

2.2.创建c##dmhs用户(表空间数据文件根据实际环境填写)

--cdb执行: create tablespace dmhs datafile '/oradata/ORCL/dmhs01.dbf' size 50m autoextend on next 50m maxsize 30g extent management local; create temporary tablespace dmhs_temp tempfile '/oradata/ORCL/dmhs_temp01.dbf' size 50m reuse autoextend on next 10m maxsize 30g; --pdb执行: create tablespace dmhs datafile '/oradata/ORCL/FC06ED6F23949B9DE0531302A8C04FD6/datafile/dmhs01.dbf' size 50m autoextend on next 50m maxsize 30g extent management local; create temporary tablespace dmhs_temp tempfile '/oradata/ORCL/FC06ED6F23949B9DE0531302A8C04FD6/datafile/dmhs_temp01.dbf' size 50m reuse autoextend on next 10m maxsize 30g; --cdb执行: create user c##dmhs identified by dmhs123 default tablespace dmhs temporary tablespace dmhs_temp; --cdb和pdb执行 grant connect, resource, create session,create any table,create any view to c##dmhs; grant execute on dbms_job to c##dmhs; grant connect to c##dmhs container=all; grant select on sys.v_$database to c##dmhs; grant select on sys.v_$session to c##dmhs; grant select on sys.gv_$parameter to c##dmhs; grant select on sys.gv_$instance to c##dmhs; grant select on sys.gv_$archive_dest to c##dmhs; grant select on sys.gv_$archive to c##dmhs; grant select on sys.gv_$log to c##dmhs; grant select on sys.gv_$logfile to c##dmhs; grant select on sys.dba_tables to c##dmhs; grant select on sys.v_$instance to c##dmhs; grant select on sys.obj$ to c##dmhs; grant select on sys.user$ to c##dmhs; grant select on sys.cdef$ to c##dmhs; grant select on sys.col$ to c##dmhs; grant select on sys.dba_cons_columns to c##dmhs; grant select on sys.dba_constraints to c##dmhs; grant select on sys.lob$ to c##dmhs; grant select on sys.lobfrag$ to c##dmhs; grant select on sys.tabpart$ to c##dmhs; grant select on sys.tab$ to c##dmhs; grant select on sys.tabsubpart$ to c##dmhs; grant select on sys.tabcompart$ to c##dmhs; grant select any table to c##dmhs; grant select any dictionary to c##dmhs; grant lock any table to c##dmhs; grant debug connect session to c##dmhs; grant execute on dbms_job to c##dmhs; grant execute on dbms_flashback to c##dmhs; grant execute any procedure to c##dmhs with admin option; grant dba to c##dmhs with admin option; grant insert any table to c##dmhs; grant delete any table to c##dmhs; grant update any table to c##dmhs;

2.3.创建业务用户

--pdb执行: create tablespace dmhr datafile '/oradata/ORCL/FC06ED6F23949B9DE0531302A8C04FD6/datafile/dmhr01.dbf' size 50m autoextend on next 50m maxsize 30g extent management local; create temporary tablespace dmhr_temp tempfile '/oradata/ORCL/FC06ED6F23949B9DE0531302A8C04FD6/datafile/dmhr_temp01.dbf' size 50m reuse autoextend on next 10m maxsize 30g; create user dmhr identified by dmhs123 profile "DEFAULT" default tablespace dmhr temporary tablespace dmhr_temp; grant connect, resource, create session,create any table,create any view to dmhr; grant execute on dbms_job to dmhr; grant debug connect session to dmhr;

3.部署中转服务器,连接Oracle数据库

3.1.部署Oracle客户端

3.1.1.解压ORACLE客户端

mkdir -p /opt/oraclient unzip instantclient-basic-linux.x64-19.19.0.0.0dbru.zip -d /opt/oraclient unzip instantclient-basiclite-linux.x64-19.19.0.0.0dbru.zip -d /opt/oraclient unzip instantclient-jdbc-linux.x64-19.19.0.0.0dbru.zip -d /opt/oraclient unzip instantclient-odbc-linux.x64-19.19.0.0.0dbru.zip -d /opt/oraclient unzip instantclient-sdk-linux.x64-19.19.0.0.0dbru.zip -d /opt/oraclient unzip instantclient-sqlplus-linux.x64-19.19.0.0.0dbru.zip -d /opt/oraclient unzip instantclient-tools-linux.x64-19.19.0.0.0dbru.zip -d /opt/oraclient

3.1.2.配置环境变量

cat <<-EOF>>/root/.bash_profile export PS1="[`whoami`@`hostname`:"'\$PWD]\$ ' export ORACLE_HOME=/opt/oraclient/instantclient_19_19 export TNS_ADMIN=\$ORACLE_HOME/network/admin export PATH=\$ORACLE_HOME:\$PATH export LD_LIBRARY_PATH=\$ORACLE_HOME:\$LD_LIBRARY_PATH export NLS_LANG='AMERICAN_AMERICA.AL32UTF8' export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS" EOF source /root/.bash_profile

3.1.3.配置tnsnames.ora

cat <<-EOF>>/opt/oraclient/instantclient_19_19/network/admin/tnsnames.ora ORCLPDB01 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.42)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orclpdb01) ) ) EOF

3.1.4.测试客户端登录

[root@centos7:/root]$ sqlplus c##dmhs/dmhs123@192.168.2.42:1521/orclpdb01 SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 1 21:31:02 2023 Version 19.19.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Last Successful login time: Thu Jun 01 2023 19:24:22 +08:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.19.0.0.0 SQL> col username for a30; SQL> select USERNAME,CREATED from all_users where username = 'DMHR'; USERNAME CREATED ------------------------------ ------------------- DMHR 2023-06-01 15:08:17

3.2.配置ODBC客户端

3.2.1.安装unixODBC

tar -zxvf unixODBC-2.3.11.tar.gz && cd unixODBC-2.3.11 export CC=gcc ./configure --libdir=/usr/lib64 --enable-drivers=no --with-iconv-char-enc=GB18030 --enable-gui=no --enable-iconv=yes make && make install

3.2.2.配置ODBC客户端

注意:Servername = ORCLPDB01 对应的是tnsanmes.ora里面的 ORCLPDB01 别名
I.配置odbc.ini

cat <<-EOF>>/usr/local/etc/odbc.ini [ORACLE] Description = ORACLE ODBC DSN Driver = Oracle in OraDB12home1 Servername = ORCLPDB01 USEDECLAREFETCH = 1 EOF

II.配置odbcinst.ini

cat <<-EOF>>/usr/local/etc/odbcinst.ini [Oracle in OraDB12home1] Description = ODBC DRIVER FOR ORACLE Driver = /opt/oraclient/instantclient_19_19/libsqora.so.19.1 Threading = 0 FileUsage = 1 EOF

III.配置libodbcinst.so.1

ln -s /usr/lib64/libodbc.so /usr/lib64/libodbc.so.1 ln -s /usr/lib64/libodbcinst.so.2.0.0 /usr/lib64/libodbcinst.so.1

IV.测试使用ODBC连接数据库

[root@centos7:/usr/local/etc]$ isql -v ORACLE c##dmhs dmhs123 +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | echo [string] | | quit | | | +---------------------------------------+ SQL> select USERNAME,CREATED from all_users where username = 'DMHR'; +------------------+--------------------+ | USERNAME | CREATED | +------------------+--------------------+ | DMHR | 2023-06-01 15:08:17| +------------------+--------------------+ SQLRowCount returns -1 1 rows fetched

4.部署DM端DMHS

4.1.安装dmhs软件

注意:一定要配置库依赖路径

[root@yuanzj:/soft]$ mkdir -p /opt/dmhs [root@yuanzj:/soft]$ chown dmdba.dinstall /opt/dmhs [root@yuanzj:/soft]$ su - dmdba [dmdba@yuanzj:/soft]$ ./dmhs_V4.3.08_dm8_rev127399_rh6_64_veri_20230407_sp8.bin -i Extract install files.......... 1.英文(English) 2.简体中文(简体中文) 请选择安装语言[2.简体中文(简体中文)]: /tmp/DMHSInstall/install.log 1.免费试用达梦数据实时同步 2.使用已申请的Key文件 验证许可证文件[1.免费试用达梦数据实时同步]: 1.精简版 2.完整版(web客户端) 3.自定义 安装类型[1.精简版]: 1.实时同步软件服务器 2.远程部署工具 3.实时同步软件客户端 4.内置数据库 5.实时同步软件配置助手 6.手册 所需磁盘空间:866 MB 安装目录: [/home/dmdba/dmhs]/opt/dmhs 该路径不为空,是否继续安装?[Y or N]Y 安装路径可能存在覆盖安装 1.统一部署 2.现在初始化 是否初始化达梦数据实时同步系统[1.统一部署]: 正在安装 default start ... default finished. server start ... server finished. hs_agent start ... hs_agent finished. hsca start ... hsca finished. doc start ... doc finished. postinstall start ... postinstall finished. 正在创建快捷方式 安装成功 远程部署工具配置 远程部署工具名称[HsAgent]: 主机Ip(外网)[192.168.2.40](192.168.2.40): 远程部署工具管理端口[5456](1000-65535): 内置数据库轮询间隔[3](1-60): 内置数据库IP[192.168.2.40]: 内置数据库端口[15236]: 内置数据库用户名[SYSDBA]: 内置数据库密码[SYSDBA]: 服务脚本环境变量设置 依赖库路径 提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。 请配置依赖库路径:/opt/dmdbms/bin:/usr/local/lib 远程控制服务 1.自动 2.手动 启动方式:[2.手动] 正在创建远程控制服务 达梦数据实时同步V4.0安装完成 更多安装信息,请查看安装日志文件: /opt/dmhs/log/install.log

4.2.配置dmoci

解压dmoci上传略

[root@yuanzj:/opt/dmhs]$ chown -R dmdba.dinstall /opt/dmhs/dmoci/ [root@yuanzj:/opt/dmhs]$ chmod -R +x /opt/dmhs/dmoci/

4.3.配置环境变量

重要:环境变量只需要添加dmoci就行,很多报错都是因为环境变量配置有问题,才导致cpt启动报错

# Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH # DMBegin export MALLOC_ARENA_MAX=4 export DM_HOME="/opt/dmdbms" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$DM_HOME/bin" export PATH="$PATH:$DM_HOME/bin:$DM_HOME/tool" export PS1="[\u@\h:\w]$ " alias dmbin="cd $DM_HOME/bin" alias dmlog="cd $DM_HOME/log" alias dmdata="cd /dmdata/DAMENG" alias ds="disql -L SYSDBA/'\"SYSDBA\"':5236" alias dsql="disql -L -S SYSDBA/'\"SYSDBA\"':5236" alias dssql="disql -L -S SYSDBA/'\"SYSDBA\"':5236" export DMHS_HOME="/opt/dmhs" export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/dmhs/bin:/opt/dmhs/dmoci"

4.4.测试cpt模块

[dmdba@yuanzj:/opt/dmhs/bin]$ ldd libcpt_dm8.so linux-vdso.so.1 => (0x00007ffe6199f000) libc.so.6 => /lib64/libc.so.6 (0x00007fb4f938f000) libm.so.6 => /lib64/libm.so.6 (0x00007fb4f908d000) librt.so.1 => /lib64/librt.so.1 (0x00007fb4f8e85000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb4f8c69000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fb4f8a65000) libdmhs_pub.so => ./libdmhs_pub.so (0x00007fb4f875a000) libdmhs_net.so => ./libdmhs_net.so (0x00007fb4f8511000) libdmhs_ld_dm8.so => ./libdmhs_ld_dm8.so (0x00007fb4f82b1000) libdmhs_ucvt.so => ./libdmhs_ucvt.so (0x00007fb4f7d59000) libdmoci.so => /opt/dmhs/dmoci/libdmoci.so (0x00007fb4f7017000) /lib64/ld-linux-x86-64.so.2 (0x00007fb4f9a33000) libdmhs_bool_parse.so => ./libdmhs_bool_parse.so (0x00007fb4f6e0a000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fb4f6b02000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fb4f68ec000)

5.部署Oracle端DMHS

5.1.安装DMHS

注意:一定要配置库依赖路径,选择字符集时,应以源端数据库字符集为主选择字符集

[root@centos7:/soft]$ ./dmhs_V4.3.08_oracle12c_rev126685_rh6_64_veri_20230323_sp5.bin -i Extract install files.......... 1.英文(English) 2.简体中文(简体中文) 请选择安装语言[2.简体中文(简体中文)]: /tmp/DMHSInstall/install.log 1.免费试用达梦数据实时同步 2.使用已申请的Key文件 验证许可证文件[1.免费试用达梦数据实时同步]: 1.精简版 2.完整版(web客户端) 3.自定义 安装类型[1.精简版]: 1.实时同步软件服务器 2.远程部署工具 3.实时同步软件配置助手 4.手册 所需磁盘空间:542 MB 安装目录: [/opt/dmhs] 1.统一部署 2.现在初始化 是否初始化达梦数据实时同步系统[1.统一部署]: 正在安装 default start ... default finished. server start ... server finished. hs_agent start ... hs_agent finished. hsca start ... hsca finished. doc start ... doc finished. postinstall start ... postinstall finished. 正在创建快捷方式 安装成功 ora rac 远程部署工具配置 远程部署工具名称[HsAgent]: 主机Ip(外网)[192.168.2.41](192.168.2.41): 远程部署工具管理端口[5456](1000-65535): 内置数据库轮询间隔[3](1-60): 内置数据库IP[]:192.168.2.40 内置数据库端口[15236](1000-65535): 内置数据库用户名[SYSDBA]: 内置数据库密码[SYSDBA]: 服务脚本环境变量设置 依赖库路径 提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。 请配置依赖库路径:/opt/oraclient/instantclient_19_19:/usr/local/lib Oracle字符集 提示:注意此处配置为ORACLE数据库的NLS_LANG,此配置项由源端数据库字符集编码格式决定,需与源端字符集编码适配。 1.SIMPLIFIED CHINESE_CHINA.ZHS32GB18030 2.SIMPLIFIED CHINESE_CHINA.AL32UTF8 3.TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5 4.TRADITIONAL CHINESE_TAIWAN.AL32UTF8 5.AMERICAN_AMERICA.AL32UTF8 6.AMERICAN_AMERICA.WE8ISO8859P1 7.AMERICAN_AMERICA.WE8ISO8859P15 8.AMERICAN_AMERICA.ZHS16GBK 9.不设置 请配置Oracle字符集[9.不设置]:5 ORACLE_BASE 请输入:ORACLE_BASE[]: ORACLE_HOME 请输入:ORACLE_HOME[/opt/oraclient/instantclient_19_19]: 远程控制服务 1.自动 2.手动 启动方式:[2.手动] 正在创建远程控制服务 达梦数据实时同步V4.0安装完成 更多安装信息,请查看安装日志文件: /opt/dmhs/log/install.log

5.2.测试执行模块

[root@centos7:/opt/dmhs/bin]$ ldd libdmhs_exec.so linux-vdso.so.1 => (0x00007ffd10191000) libc.so.6 => /lib64/libc.so.6 (0x00007fe600acc000) libm.so.6 => /lib64/libm.so.6 (0x00007fe6007ca000) librt.so.1 => /lib64/librt.so.1 (0x00007fe6005c2000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe6003a6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fe6001a2000) libdmhs_pub.so => ./libdmhs_pub.so (0x00007fe5ffe97000) libdmhs_ucvt.so => ./libdmhs_ucvt.so (0x00007fe5ff93f000) libdmhs_dm_obj.so => ./libdmhs_dm_obj.so (0x00007fe5ff72e000) libdmhs_cvt.so => ./libdmhs_cvt.so (0x00007fe5ff4c0000) libodbc.so.1 => /lib64/libodbc.so.1 (0x00007fe5ff24e000) /lib64/ld-linux-x86-64.so.2 (0x00007fe60120d000) libdmhs_exp.so => ./libdmhs_exp.so (0x00007fe5feebf000) libdmhs_xml.so => ./libdmhs_xml.so (0x00007fe5fecb2000) libclntsh.so.12.1 => /opt/oraclient/instantclient_19_19/libclntsh.so.12.1 (0x00007fe5fab50000) libnnz19.so => /opt/oraclient/instantclient_19_19/libnnz19.so (0x00007fe5fa4d7000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fe5fa2bd000) libaio.so.1 => /lib64/libaio.so.1 (0x00007fe5fa0bb000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fe5f9ea1000) libclntshcore.so.19.1 => /opt/oraclient/instantclient_19_19/libclntshcore.so.19.1 (0x00007fe5f98fc000)

6.创建DMHS同步链路

6.1.创建目标端dmhs.hs配置文件

[root@centos7:/opt/dmhs/bin]$ ./dmhs_console conf DMHS console tool: V4.3.08-Build(2023.03.23-126685trunc)_64_2303_sp5 Copyright (c) 2020, DMHS. All rights reserved. Type ? or "help" for help, type "quit" to quit console. DMHS> set lang ch 执行成功 DMHS> conf dmhs.hs 是否需要创建配置模板?[请输入Y(是)或者N(否)]:Y --------------------------------------------------------------------------------- 请输入要生成的配置模板类型[请输入序号1.CPT 2.EXEC]:2 --------------------------------------------------------------------------------- 下面进行EXEC模板的配置 --------------------------------------------------------------------------------- 1.请输入目的端管理端口号,取值范围在1000~ 65535[默认值为6345]: MGR_PORT:6345 --------------------------------------------------------------------------------- 2.请输入目的端站点号,取值范围在1~ 30000[默认值为1,站点号是同步节点在同步链路中的唯一标识,配置时请确保它的唯一性]: SITEID:1 --------------------------------------------------------------------------------- 3.请输入目的端接收的数据端口号,取值范围在1000~ 65535[默认值为6346]: DATA_PORT:6346 --------------------------------------------------------------------------------- 4.请输入目的端数据库的类型[请输入序号:1.DM8 2.ORACLE]:2 --------------------------------------------------------------------------------- 5.请输入目的端数据库的版本[请输入序号:1.oracle9i 2.oracle10g 3.oracle11g 4.oracle12c 5.oracle18c 6.oracle19c ]:6 DB_TYPE:oracle19c --------------------------------------------------------------------------------- 6.请输入执行端的数据库服务名或者ip[默认为127.0.0.1]:ORCLPDB01 DB_SERVER:ORCLPDB01 --------------------------------------------------------------------------------- 7.请输入执行端数据库的用户名[默认为SYSDBA]:c##dmhs DB_USER:c##dmhs --------------------------------------------------------------------------------- 8.请输入执行端相应数据库用户的口令[默认为SYSDBA]:dmhs123 DB_PWD:dmhs123 --------------------------------------------------------------------------------- 9.请输入执行端数据库的端口[默认为5236]:1521 DB_PORT:1521 --------------------------------------------------------------------------------- 10.请输入目的端数据库的字符集[请输入序号:1.PG_UTF8 2.PG_GB18030]:1 CHAR_CODE:PG_UTF8 --------------------------------------------------------------------------------- 以下是根据输入生成配置文件的预览效果: --------------------------------------------------------------------------------- =========此处显示配dmhs.hs内容(因为格式原因删除,请查看6.2步骤配置结果)============= --------------------------------------------------------------------------------- 根据以上显示效果,请选择是否需要继续在当前目录下生成配置文件[继续生成请输入Y,退出请输入N] Y --------------------------------------------------------------------------------- 创建临时配置文件dmhs.hs成功,请在当前目录下查看。 当前生成时间为:2023-06-01 19:07:39 DMHS> exit

6.2.配置冲突策略,截图显示目标端dmhs.hs配置文件:

3.png

6.2.配置启动脚本

[root@centos7:/opt/dmhs/bin]$ cp TemplateDmhsService DmhsServiceORCL

1.png

6.3.启动执行端服务

[root@centos7:/opt/dmhs/bin]$ ./DmhsServiceORCL start Starting DmhsServiceORCL: [ OK ] [root@centos7:/opt/dmhs/bin]$ ./dmhs_console DMHS console tool: V4.3.08-Build(2023.03.23-126685trunc)_64_2303_sp5 Copyright (c) 2020, DMHS. All rights reserved. Type ? or "help" for help, type "quit" to quit console. 连接到DMHS:127.0.0.1:6345 执行成功 Dameng HS Server V4.3.08-Build(2023.03.23-126685trunc)_64_2303_sp5 DMHS> start exec 执行成功

6.4.配置源端dmhs.hs

[dmdba@yuanzj:/opt/dmhs/bin]$ ./dmhs_console conf DMHS console tool: V4.3.08-Build(2023.03.31-127399trunc)_64_2303_sp8 Copyright (c) 2020, DMHS. All rights reserved. Type ? or "help" for help, type "quit" to quit console. DMHS> set lang ch 执行成功 DMHS> conf dmhs.hs 是否需要创建配置模板?[请输入Y(是)或者N(否)]:Y --------------------------------------------------------------------------------- 请输入要生成的配置模板类型[请输入序号1.CPT 2.EXEC]:1 --------------------------------------------------------------------------------- 下面进行CPT模板的配置 --------------------------------------------------------------------------------- 1.请输入捕获源端数据库的类型[请输入序号:1.DM8 2.DSC 3.ORACLE 4.RAC]:1 DB_TYPE:DM8 --------------------------------------------------------------------------------- 2.请输入管理端口,取值范围在1000~ 65535[默认值为5345]: MGR_PORT:5345 --------------------------------------------------------------------------------- 3.请输入源端站点号,取值范围在1~ 30000[默认值为1,站点号是同步节点在同步链路中的唯一标识,配置时请确保它的唯一性]:2 SITEID:2 --------------------------------------------------------------------------------- 4.请输入捕获源端的数据库服务名或者ip[默认为127.0.0.1]:192.168.2.40 DB_SERVER:192.168.2.40 --------------------------------------------------------------------------------- 5.请输入捕获源端数据库的用户名[默认为SYSDBA]:DMHS DB_USER:DMHS --------------------------------------------------------------------------------- 6.请输入捕获源端相应数据库用户的口令[默认为SYSDBA]:dmhs12345 DB_PWD:dmhs12345 --------------------------------------------------------------------------------- 7.请输入捕获源端数据库的端口[默认为5236]: DB_PORT:5236 --------------------------------------------------------------------------------- 8.请输入捕获源端数据库的字符集[请输入序号:1.PG_UTF8 2.PG_GB18030]:1 CHAR_CODE:PG_UTF8 --------------------------------------------------------------------------------- 9.请输入发送到目的端的ip地址[默认为127.0.0.1]:192.168.2.41 SEND_IP:192.168.2.41 --------------------------------------------------------------------------------- 10.请输入发送到目的端dmhs配置的管理端口号[默认为6345]: SEND_MGR_PORT:6345 --------------------------------------------------------------------------------- 11.请输入发送到目的端dmhs配置的数据端口号[默认为6346]: SEND_DATA_PORT:6346 --------------------------------------------------------------------------------- 12.请输入同步表的白名单列表: 请将要白名单模式里的所有表以模式名.表名的形式输入,每一个表之间以回车符号分隔 输入举例: SYSDBA.TEST1 SYSDBA.TEST2 连续输入两次回车符号以确认输入 DMHR.* --------------------------------------------------------------------------------- 13.请输入白名单中同步表的映射规则: 请将要白名单中要同步表的映射关系以源端模式名.源端表名==目的端模式名.目的端表名的形式输入,每一个映射关系之间请以换行隔开 输入举例: SYSDBA.SRC1==SYSDBA.DEST1 SYSDBA.SRC2==SYSDBA.DEST2 连续输入两次回车符号以确认输入 DMHR.*==ORCLPDB01.DMHR.* --------------------------------------------------------------------------------- 以下是根据输入生成配置文件的预览效果: --------------------------------------------------------------------------------- ===========此处显示配dmhs.hs内容(因为格式原因删除,请查看6.5步骤)================== --------------------------------------------------------------------------------- 根据以上显示效果,请选择是否需要继续在当前目录下生成配置文件[继续生成请输入Y,退出请输入N] Y --------------------------------------------------------------------------------- 创建临时配置文件dmhs.hs成功,请在当前目录下查看。 当前生成时间为:2023-06-07 17:06:24 DMHS> exit

6.5.截图显示源端配置文件

4.png

6.6.配置源端dmhs启动服务脚本

[dmdba@yuanzj:/opt/dmhs/bin]$ cp TemplateDmhsService DmhsServiceDM

2.png

7.装载数据

[dmdba@yuanzj:/opt/dmhs/bin]$ ./DmhsServiceDM start [dmdba@yuanzj:/opt/dmhs/bin]$ ./dmhs_console clear exec lsn load 0 "sch.name='DMHR'" dict load 0 "sch.name='DMHR'" create|insert|index|comment start cpt exit

8.验证数据库

8.1.目标端查询同步数据

[oracle@yuanzj:~]$ sqlplus dmhr/dmhr123@orclpdb01 SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 1 18:30:36 2023 Version 19.19.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Last Successful login time: Thu Jun 01 2023 18:09:18 +08:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.19.0.0.0 dmhr@ORCLPDB01 2023-06-01 18:30:36> select * from tab; TNAME TABTYPE CLUSTERID -------------------------------------------- ------------- ---------- CITY TABLE DEPARTMENT TABLE EMPLOYEE TABLE JOB TABLE JOB_HISTORY TABLE LOCATION TABLE REGION

8.2.源端ddl创建数据

[dmdba@yuanzj:~]$ disql DMHR/dmhr12345 服务器[LOCALHOST:5236]:处于普通打开状态 登录使用时间 : 4.111(ms) 密钥过期时间:2024-05-30 disql V8 18:30:59 DMHR@DAMENG:5236 SQL> create table city_bak as select * from city; 操作已执行 已用时间: 89.263(毫秒). 执行号:5804.

8.3.目标端查询数据

dmhr@ORCLPDB01 2023-06-01 18:38:37> select * from city_bak; CIT CITY_NAME REGION_ID --- ---------------------------------------- ---------- BJ 北京 1 SJZ 石家庄 1 SH 上海 2 NJ 南京 2 GZ 广州 3 HK 海口 3 WH 武汉 4 CS 长沙 4 SY 沈阳 5 XA 西安 6 CD 成都 7 11 rows selected.

9.完整的部署记录

部署dmhs.txt

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服