网站建设西街/百度seo文章
目录
DMHS实现Mysql到DM8的同步
1、准备介质
2、安装
3、准备源端Mysql和目标端DM8
软件安装
数据库创建
打开归档
开启附加日志
创建辅助表
Mysql客户端驱动
Mysql端安装ODBC
检查依赖包
创建连接用户
创建测试表
4、同步配置
修改服务配置
Mysql到Dm单向同步配置
Dm到Mysql单向同步配置
5、启动DMHS服务
初始装载
装载数据
启动exec模块
启动cpt模块
6、查看信息
7、报错处理
DMHS实现Mysql到DM8的同步
源端:Mysql8.0.35,RH7.5
目标端:DM8,麒麟V10
介质:
1、准备介质
2、安装
3、准备源端Mysql和目标端DM8
软件安装
略
数据库创建
没有数据库可参考该步骤创建,否则略过。
Mysql端:
略
DM端:
dmdba用户:
dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=HS02 INSTANCE_NAME=HS02 PORT_NUM=5239
root用户:
cd /home/dmdba/dmdbms/script/root/./dm_service_installer.sh -t dmserver -dm_ini /dm/data/HS02/dm.ini -p HS02
打开归档
Mysql端:
Mysql开启binlog
mysql> show variables like 'log_bin';mysql> show variables like 'binlog_format';
目标端:
ALTER DATABASE MOUNT;ALTER DATABASE ADD ARCHIVELOG 'TYPE = LOCAL,DEST = /dm/data/HS02/arch,FILE_SIZE = 128,SPACE_LIMIT = 1024';ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;select para_value from v$dm_ini where para_name in ('ARCH_INI');
开启附加日志
DM端:
SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);select para_value from v$dm_ini where para_name in ('RLOG_APPEND_LOGIC');
创建辅助表
DM端执行:
set define offset char_code utf8start /dmhs/scripts/ddl_sql_dm8.sql共9个辅助表,4个触发器:select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';
Mysql客户端驱动
下载:MySQL :: Download MySQL Connector/ODBC (Archived Versions)
tar -zxvf mysql-connector-odbc-8.0.28-linux-el7-x86-64bit.tar.gz
Mysql端安装ODBC
tar -xzvf unixODBC-2.3.0.tar.gzcd unixODBC-2.3.0./configuremakemake install
cd /usr/local/etc
vim odbcinst.ini
[MySQL ODBC driver]Description = ODBC for MySQLDriver = /opt/mysql-connector-odbc-8.0.28-linux-el7-x86-64bit/lib/libmyodbc5w.soUsageCount = 1
vim odbc.ini
[mysql]Description = ODBC for MySQLDriver = MySQL ODBC driverDATABASE=testdbSERVER = 192.168.64.129UserID = rootPassword = xxxxxxPORT = 31306
连接
odbcinst -jisql mysql -v
Mysql端:
unixodbc动态库加到环境变量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
创建软连接:
ln -s /usr/local/lib/libodbc.so.2 /usr/local/lib/libodbc.so.1
ln -s /usr/local/lib/libodbcinst.so.2 /usr/local/lib/libodbcinst.so.1
DM端:
需要下载DMDCI的包
把libdmoci.so上传到DM端的/dmhs/bin目录下
检查依赖包
源端
ldd libcpt_mysql.so
目的端
ldd libdmhs_exec.so
创建连接用户
源端执行:
CREATE USER HSEXEC@'%' IDENTIFIED WITH 'mysql_native_password' BY 'HSEXEC';grant all privileges on *.* to HSEXEC;flush privileges;
目标端执行:
CREATE TABLESPACE HSEXEC DATAFILE 'HSEXEC.DBF' size 128;CREATE USER HSEXEC IDENTIFIED by "HSEXEC" DEFAULT TABLESPACE HSEXEC DEFAULT INDEX TABLESPACE HSEXEC;GRANT VTI TO HSEXEC;GRANT PUBLIC TO HSEXEC;GRANT RESOURCE TO HSEXEC;GRANT DBA TO HSEXEC;
创建测试表
略
源端:
create database testdb;create table testdb.t_mysql_dm (id int ,name varchar(10));insert into testdb.t_mysql_dm VALUES(1,'TEST');COMMIT;
4、同步配置
修改服务配置
节点一:
cd /dmhs/bin
cp TemplateDmhsService DmhsService
vim DmhsService
节点二:
同上
Mysql到Dm单向同步配置
源端:
cd /dmhs/bin
vim dmhs.hs
exec_policy=2表示执行事务出错时,忽略出错的操作后继续执行;ddl_continue=1表示DDL操作同步出错时,继续往下操作。
注意:mysql端的item表名用小写,DM端的用户名表名必须用大写
<?xml version="1.0" encoding="GB2312"?><dmhs><base><lang>en</lang><mgr_port>5345</mgr_port><ckpt_interval>60</ckpt_interval><siteid>11</siteid></base><cpt><db_type>mysql</db_type><db_server>192.168.64.129</db_server><db_port>31306</db_port><db_name>testdb</db_name><db_user>HSEXEC</db_user><db_pwd>HSEXEC</db_pwd><char_code>PG_UTF8</char_code><ddl_mask>op:obj</ddl_mask><driver>MySQL ODBC driver</driver><arch><clear_interval>600</clear_interval><clear_flag>0</clear_flag><dir></dir></arch><send><ip>192.168.64.132</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><filter><enable><item>testdb.t_mysql_dm</item></enable><disable></disable></filter><map><item>testdb.t_mysql_dm==HSTEST1.T_MYSQL_DM</item></map></send></cpt></dmhs>
目标端:
cd /dmhs/bin
vim dmhs.hs
<?xml version="1.0" encoding="GB2312" standalone="no"?><dmhs><base><lang>en</lang><mgr_port>5345</mgr_port><chk_interval>3</chk_interval><ckpt_interval>60</ckpt_interval><siteid>22</siteid></base><recv><mgr_port>5345</mgr_port><data_port>5346</data_port><exec><db_type>DM8</db_type><db_server>192.168.64.132</db_server><db_user>HSEXEC</db_user><db_pwd>HSEXEC</db_pwd><db_port>5239</db_port><char_code>PG_UTF8</char_code><level>0</level><exec_thr>4</exec_thr><exec_sql>1024</exec_sql><exec_trx>5000</exec_trx><exec_rows>250</exec_rows><case_sensitive>1</case_sensitive><toggle_case>0</toggle_case><exec_policy>2</exec_policy><commit_policy>1</commit_policy><enable_merge>1</enable_merge><affect_row>0</affect_row></exec></recv></dmhs>
Dm到Mysql单向同步配置
源端:
<?xml version="1.0" encoding="utf-8"?><dmhs><base><lang>en</lang><mgr_port>5345</mgr_port><chk_interval>2</chk_interval><siteid>22</siteid><version>2.0</version></base><cpt><db_type>dm8</db_type><db_server>192.168.64.132</db_server><db_user>HSEXEC</db_user><db_pwd>HSEXEC</db_pwd><db_port>5239</db_port><char_code>PG_UTF8</char_code><ddl_mask>op:obj</ddl_mask><parse_thr>1</parse_thr><arch><clear_interval>600</clear_interval><clear_flag>1</clear_flag><bak_dir></bak_dir></arch><send><ip>192.168.64.129</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><level>0</level><trigger>0</trigger><constraint>0</constraint><identity>0</identity><net_turns>0</net_turns><filter><enable><item>HSTEST1.T_MYSQL_DM</item></enable><disable></disable></filter><map><item>HSTEST1.T_MYSQL_DM==testdb.t_mysql_dm</item></map></send></cpt></dmhs>
目标端:
<?xml version="1.0" encoding="utf-8"?><dmhs><base><lang>en</lang><mgr_port>5345</mgr_port><chk_interval>20</chk_interval><siteid>11</siteid><version>2.0</version></base><exec><char_code>PG_UTF8</char_code><recv><mgr_port>5345</mgr_port><data_port>5346</data_port></recv><driver>{MySQL ODBC driver}</driver><db_type>mysql</db_type><db_server>192.168.64.129</db_server><db_name>testdb</db_name><db_user>HSEXEC</db_user><db_pwd>HSEXEC</db_pwd><db_port>31306</db_port><exec_thr>4</exec_thr><exec_sql>512</exec_sql><exec_trx> 5000 </exec_trx><exec_rows>250</exec_rows><exec_policy>2</exec_policy></exec></dmhs>
5、启动DMHS服务
节点一:
cd /dmhs/bin./DmhsService start
或者
./dmhs_server dmhs.hsps -ef |grep dmhs
节点二:
cd /dmhs/bin./DmhsService start
或者
./dmhs_server dmhs.hsps -ef |grep dmhs
初始装载
目的端:
./dmhs_consoleDMHS> connect
DMHS> start exec
源端:
./dmhs_consoleDMHS> connect
DMHS> clear exec lsn
装载字典
copy 0 "sch.name = 'testdb'" DICT
装载数据
源端:
装载建表语句
copy 0 "sch.name = 'testdb'" CREATE
装载数据
copy 0 "sch.name = 'HSTEST'" INSERT|THREAD|2
装载某个表的数据
copy 0 "sch.name = 'HSTEST' and tab.name in ('T_ORA_DM')" INSERT|THREAD|2copy 0 "sch.name='EDM_BASE' and tab.name in('VW_CHANNEL_TR_STATUS')" DICT|CREATE|INSERT|THREAD|16|FAST|200|group|32
启动exec模块
目标端:
cd /dmhs/bin./dmhs_consoleDMHS> start execDMHS> state
启动cpt模块
源端:
源端cpt启动,目标端exec会自动启动
DMHS> start cptDMHS> state
6、查看信息
查看日志:
cd /dmhs/bin/logtail -100f dmhs_202408.log
目标端:
Exec
thr
trx
源端:
cpt
7、报错处理
1、获取不到映射表的字段信息
ODBC client版本过小,更换版本为8.0
2、start cpt 报解析日志失败
修改配置文件,增加字符集UTF8:
<char_code>PG_UTF8</char_code>
3、LSN清空卡住
如果执行卡住,删除bin/log下的日志以及bin目录下的dmhs_cpt.tmp
然后重启dmhs_server,再执行clear exec lsn
达梦技术社区:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台
相关文章:

达梦数据库系列—48.DMHS实现Mysql到DM8的同步
目录 DMHS实现Mysql到DM8的同步 1、准备介质 2、安装 3、准备源端Mysql和目标端DM8 软件安装 数据库创建 打开归档 开启附加日志 创建辅助表 Mysql客户端驱动 Mysql端安装ODBC 检查依赖包 创建连接用户 创建测试表 4、同步配置 修改服务配置 Mysql到Dm单向同步…...

PostgreSQL的启动过程
PostgreSQL的启动过程 PostgreSQL的启动过程中主要做了以下几件事: 初始化数据目录:如果数据目录是第一次使用,PostgreSQL会进行初始化,创建必要的系统表和目录结构。 读取配置文件:PostgreSQL会读取并解析配置文件&…...

ActiveMQ、RabbitMQ、Kafka、RocketMQ的区别简介
目录 1. 基本概述 2. 性能与吞吐量 3. 消息模型与特性 4. 生态系统与社区支持 5. 复杂性与运维成本 6.在优先级队列、延迟队列、死信队列、重试队列、消费模式、广播模式方面的区别 7.在消息回溯、消息堆积持久化、消息追踪、消息过滤方面的区别 8.在多租户、多协议支持…...

7.1 多态案例
一、案例1:计算器类 1.1 普通方式实现 #include <iostream> #include <string> using namespace std;class Calculator { public:int num1;int num2;int result(string oper){if (oper "")return num1 num2;else if (oper "-"…...

革新测试管理:集远程、协同、自动化于一身的统一测试管理平台
一、研发背景 当下汽车电子测试领域随着不断发展,自动化、智能化的软硬件一体测试解决方案已经成为趋势。能够整合各种测试资源、自动化测试流程,并提供数据分析和可视化报告,从而提高测试效率、降低成本,并确保汽车电子系统的可…...

HAProxy的详解
一、介绍 1.1 定义 HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前…...

网络安全实训第一天(dami靶场搭建,XSS、CSRF、模板、任意文件删除添加、框架、密码爆破漏洞)
1.环境准备:搭建漏洞测试的基础环境 安装完phpstudy之后,开启MySQL和Nginx,将dami文件夹复制到网站的根目录下,最后访问安装phptudy机器的IP地址 第一次登录删除dami根目录下install.lck文件 如果检测环境不正确可以下载php5.3.2…...

4.1 SQL的起源与发展
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…...

android中实现禁掉有线网络
1.首先初始化mINetworkManagementServiceProxy // INetworkManagementService mNwService; Object mINetworkManagementServiceProxy;public void init() {// IBinder b ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE);// mNwService INetworkManagementSe…...

docker-compose安装MongoDB 7.0.12
文章目录 一. Mac1.1 创建目录1.2 docker-compose.yaml默认不开启relSet开启relSet(数据同步) 1.3 部署1.4 卸载1.5 replSet配置1.5.1 初始化replSet1.5.2 创建超管用户1.5.3 验证用户1.5.4 查看replSet状态 二. Centos72.1 创建目录2.2 docker-compose.…...

Ubuntu下NFS和SSH服务
本篇文章记录Ubuntu下如何对NFS和SSH服务进行配置和开启。 目录 一、NFS服务 二、SSH服务 1、安装SSH服务 2. 启动和检查SSH服务 3. 配置SSH服务 4. 连接到SSH服务 5. 设置防火墙 6. 测试连接 三、结语 一、NFS服务 NFS(Network File System࿰…...

游戏管理系统
目录 Java程序设计课程设计 游戏管理系统 1系统简介 1.1需求分析 1.2 编程环境与工具 2系统总体设计 2.1 系统的功能模块图。 2.2 各功能模块简介。 3主要业务流程 (1)用户及管理员登录流程图 (2)信息添加流程 &#x…...

坐牢第二十七天(聊天室)
基于UDP的网络聊天室 一.项目需求: 1.如果有用户登录,其他用户可以收到这个人的登录信息 2.如果有人发送信息,其他用户可以收到这个人的群聊信息 3.如果有人下线,其他用户可以收到这个人的下线信息 4.服务器可以发送系统信息…...

C++自学笔记33(数据类型总结与变量)
数据类型 类型位范围char1 个字节-128 到 127 或者 0 到 255unsigned char1 个字节0 到 255signed char1 个字节-128 到 127int4 个字节-2147483648 到 2147483647unsigned int4 个字节0 到 4294967295signed int4 个字节-2147483648 到 2147483647short int2 个字节-32768 到…...

游戏引擎phaser.js3的使用之玩家和静态物理组碰撞
玩家和静态物理组都加载好了,那就应该开始操作玩家动态和静态之间的碰撞了 下面是通过点击图片按钮来操作碰撞的 sky.on(pointerdown, function () { console.log(图片被点击了!); }) 图片点击后让动态的玩家和静态的物理组碰撞,就可以这…...

springboot整合mybatis以及mybatis-plus 开发
一、springboot整合mybatis 1.注解版 1.1 导入坐标 <dependencies><!--mybatis坐标--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</…...

大语言模型微调框架Unsloth:简化模型微调流程,提升模型性能
Unsloth 将 Llama-3、Mistral、Phi-3 和 Gemma 等大型语言模型的微调速度提高了 2 倍,内存使用量减少了 70%,而且准确性不会降低! 特点 通过手动派生所有计算繁重的数学步骤和手写 GPU 内核,unsloth 可以在不更改任何硬件的情况…...

IPD-华为研发之道分析与理解
关于西方众多优秀的管理模式、理论我们学习过,也借鉴以及实践过,拿到《IPD-华为研发之道》通读研习后,正如书中所述,IPD是一套产品开发的模式、理念与方法,IPD思想,流程和方法是诸多成功企业优秀实践的经验…...

时空序列顶会文章
ICLR 2024 时间序列(Time Series)高分论文 - 知乎 (zhihu.com) ICML2024全部论文 icml.cc/virtual/2024/papers.html...

C语言-使用指针数组作为函数参数,实现对10个字符串进行排序
使用指针数组作为函数参数,实现对10个字符串进行排序 1.输入 lisi hahaha hehehe helloa leihoua lisi nihaoa wangwu ajax bureau2.输出 ajax bureau hahaha hehehe helloa leihoua lisi lisi nihaoa wangwu3.程序: #define _CRT_SECURE_NO_WARNING…...

???ABC366:F - Maximum Composition(dp,无序:贪心排序)
问题陈述 给你 NN 个线性函数 f1,f2,…,fNf1,f2,…,fN ,其中 fi(x)AixBifi(x)AixBi . 求由 KK 组成的序列 p(p1,p2,…,pK)p(p1,p2,…,pK) 中 fp1(fp2(…fpK(1)…))fp1(fp2(…fpK(1)…)) 的最大可能值。介于 11 和 NN (含)之间的个不…...

unity项目打包为webgl后应用于vue项目中(iframe模式)的数据交互
参考文章: 1.Unity打包WebGL: 导入Vue 2.unity文档-WebGL:与浏览器脚本交互 3.unity与vue交互(无第三方插件) 目录 一、前期工作1.新建.jslib文件2.新建.cs脚本3. 新建一个Text对象和button按钮对象4.添加脚本空对象UIEvent5.导出unity为w…...

【数据结构与算法 | 图篇】Bellman-Ford算法(单源最短路径算法)
1. 前言 前文的迪杰斯特拉算法不能求解有负边的图的最短路径的问题。而此文的Bellman-Ford可以处理含负权边的图算法,并且能检测出图中是否存在负环(权重和为负数的环). 2. 基本思想 1. 初始化: 对于所有顶点 v ∈ V \ {s}&am…...

Python | Leetcode Python题解之第336题回文对
题目: 题解: class Solution:def palindromePairs1(self, words: List[str]) -> List[List[int]]:# 核心思想--枚举前缀和后缀# 如果两个字符串k1,k2组成一个回文字符串会出现三种情况# len(k1) len(k2),则需要比较k1 k2[::-1]# len(k1…...

C语言家教记录(六)
导语 本次授课的内容如下:指针,指针和数组 辅助教材为 《C语言程序设计现代方法(第2版)》 指针 指针变量 计算机按字节划分地址,每个地址访问一个字节 指针变量指向变量的地址,指的是变量第一个字节的…...

C++竞赛初阶L1-11-第五单元-for循环(25~26课)519: T454430 人口增长问题
题目内容 假设目前的世界人口有 x 亿,按照每年 0.1% 的增长速度,n 年后将有多少人? 输入格式 一行两个正整数 x 和 n,之间有一个空格。其中,1≤x≤100,1≤n≤100。 输出格式 一行一个数,表示答案。以亿…...

demo测试
目录 接口commonCodeGenerator entityuser mapperUserMapper controllerUserController serviceUserServiceimplUserServiceImpl mapper.xmlpom.xmlapplication.yml 接口 common CodeGenerator package com.llz.demo.common;import com.baomidou.mybatisplus.core.exceptions…...

TinTinLand Web3 + DePIN 共学月|深入探索 DePIN 项目,全景分析去中心化网络未来
「TinTinLand Web3 主题共学月」是由 TinTinLand 每月发起的主题学习活动,携手知名项目共同打造一个系统化、互动性强的学习平台,帮助开发者不断提升技能,紧跟 Web3 技术的前沿发展。活动通过演示视频、学习打卡、模拟环境、实际操作等多种方…...

Java并发编程(六)
1、java 中有几种方法可以实现一个线程 继承 Thread 类实现 Runnable 接口实现 Callable 接口,需要实现的是 call() 方法 2、如何停止一个正在运行的线程 使用共享变量的方式 在这种方式中,之所以引入共享变量,是因为该变量可以被多个执行…...

k8s对外服务之Ingress
目录 1.Ingress 简介 2.Ingress 组成 3.Ingress-Nginx 工作原理 4.部署 nginx-ingress-controller 5.总结 1.Ingress 简介 service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了…...