![](https://img-blog.csdnimg.cn/direct/251c2deff8864a23b474f36cf7f988fe.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
达梦数据库
文章平均质量分 65
达梦数据库技术总结分享。
保定公民
数据库领域从业者,CSDN数据库领域新星创作者,墨天轮技术专家,ACDU成员,拥有丰富的数据库服务经验,主要服务于政府、公安、税务、社保、金融、电力、企业等各大行业。
展开
-
使用达梦DMHS平滑迁移Oracle数据到DM8
服务IP架构OracleRAC、主库OracleDG备库达梦主备DMHS192.168.10.193(DM端)192.168.10.98(Oracle端)DTS。原创 2024-06-24 07:55:33 · 456 阅读 · 0 评论 -
达梦数据库单实例本地守护配置及故障模拟
配置单实例本地守护后,当单实例数据库故障导致服务进程中断时,达梦数据守护进程会尝试将数据库服务进程拉起,如果可以拉起并正常对外提供服务,可以一定程度上降低系统风险,减少损失,避免数据库的异常宕机问题。数据库初始化后,默认数据库oguid为0,此处也可不单独设置oguid,如果未设置,则配置dmwatcher.ini时参数INST_OGUID需配置为0。3.前台启动数据库,查看是否异常(该步骤实际可忽略)数据库软件安装目录:/dm8/dmdbms。5.停库,修改dm.ini配置文件。原创 2024-04-03 11:50:08 · 263 阅读 · 0 评论 -
达梦数据库同步工具DMHS快速安装
DMHS的安装需要以下文件。原创 2024-04-03 11:01:52 · 264 阅读 · 0 评论 -
达梦数据库的快速加列参数ALTER_TABLE_OPT使用
可以看出,对于增加列有默认值的情况,ALTER_TABLE_OPT为3时效率最快(毫秒级),相对于0的情况,设置为1和2也有较小的效率提升(为0时新增列41秒,为1是是34秒,为2时29秒,提升20%-30%),对于删除列也有小幅的效率提升(提升20%-30%)。可以看出,对于增加列没有设置列默认值的情况,ALTER_TABLE_OPT为2和3时效率都很快(毫秒级),设置为1也有较小的效率提升(提升约25%左右),对于删除列也有小幅的效率提升(提升约25%左右)。原创 2024-04-03 10:54:24 · 1226 阅读 · 0 评论 -
达梦数据守护集群为什么需要KEEP_RLOG_PKG?
引入 KEEP_PKG 后,备库 B 收到主库 A 发送的 RLOG_PKG,并不会马上启动日志重演, 主库 A 重启后,守护进程 A 检测到备库 B 存在 KEEP_PKG,通知备库 B 丢弃 KEEP_PKG 后, 直接 Open 主库 A,就可以继续提供数据库服务。主库的RLOG_PKG日志通过实时归档机制发送到备库后,备库将最新收到的RLOG_PKG 保 存 在 内 存 中 , 不 马 上 启 动 重 演 , 这 个 RLOG_PKG 我 们 称 之 为KEEP_RLOG_PKG。原创 2024-04-03 10:47:29 · 390 阅读 · 0 评论 -
达梦监控指标信息说明
所以收集信息1~10的值为两次查询SQL获取结果的差值再除以两次查询SQL时间间隔的秒数。每秒执行select SQL语句数。每秒执行insert SQL语句数。每秒执行delete SQL语句数。每秒执行update SQL语句数。每秒执行DDL SQL语句数。已处理任务的平均等待时间。,收集信息17~18项需要。每秒从客户端接收字节数。每秒往客户端发送字节数。已处理任务的总等待时间。收集信息1~10项需要。原创 2023-12-26 15:40:49 · 1085 阅读 · 0 评论 -
达梦DMHS-Manager工具安装部署
DMHS管理平台以B/S架构实现,只要网络可达,通过浏览器即可进行远程访问控制,后端服务以DM数据库作为元数据存储,使用Tomcat来运行Web服务,DMHS运维和监控分别是通过Agent和Stat组件来实现。Agent主要负责DMHS服务的部署、启停、删除/添加模块、版本升级、修改配置、Web控制台等一系列服务端操作;Stat要负责DMHS实例的监控数据和硬件资源信息的采集。原创 2024-04-02 12:12:53 · 2662 阅读 · 0 评论 -
达梦DMHS-Manager工具日常操作
DMHS管理平台(简称HSEM)主要有三大模块:服务管理、监控及告警、系统管理。本文将简要介绍DMHS-manager工具中的相关功能,以供参考。原创 2024-04-02 11:48:41 · 1376 阅读 · 0 评论 -
关于达梦DMHS同步性能提升的几个参数介绍
说明:EXEC模块在收到事务提交消息时,有两种方式把该事务交给工作线程,一种是保证事务完整性的把事务整体交付,另一种则是把事务中的操作按每个操作针对的表进行拆分,拆分成N个事务,拆分后的事务中,每个事务包含某张表在原始事务中的所有操作,然后把这些事务依次交给工作线程进行入库。基于上面的原理,执行线程在入库事务数据时,应尽可能的减少对数据库的提交操作,把源端日志中多个小事务合并成一个大事务后再执行,一次提交多个事务,这种特性称之为事务合并,它由EXEC模块的enable_merge参数来控制。原创 2024-01-12 17:31:18 · 679 阅读 · 0 评论 -
关于使用达梦DMHS进行数据迁移后,出现对比数据不一致的问题
该环境变量可配置为用户的环境变量,也可以配置到dmhs服务脚本中,配置该环境变量后,使用脚本重启dmhs服务,重新装载数据,对比验证数据一致,甚至在Oracle中乱码的数据也同样原模原样迁移到了达梦中,在达梦中乱码的形式也和Oracle完全一致,同步数据也正常。在达梦和Oracle中,使用Dump()函数可以返回一个varchar2值,这个值包含了数据类型代码、字节长度和表达式的内部表示形式。2、通过使用dump函数查看带字符集名称的十六进制符号,对比达梦和Oracle的结果,发现确有不同。原创 2024-01-13 12:00:00 · 543 阅读 · 0 评论 -
关于达梦DMHS实时同步工具开启预提交参数后导致同步日志报错问题的分析
启用该功能以后,事务在提交前会标识本事务的操作已经入库完成,在提交之前先唤醒其它等待它提交的事务,被唤醒的事务会检查它与唤醒它的事务有没有数据冲突,如果没有,则马上投入执行,否则继续挂起,直到唤醒它的事务完成提交后再执行。如果某个事务在源端回滚,则直接丢弃不执行。(2) 1:多个事务并行入库时,如果事务之间有关联的表,那么这些事务称为关联事务,配置该参数时,关联事务会按各事务提交的先后顺序串行执行,非关联的事务则并行执行,并行执行的事务提交时,并不受事务提交先后顺序的限制,有可能后提交的事务先提交。原创 2024-01-13 10:00:00 · 878 阅读 · 0 评论 -
达梦数据实时同步工具DMHS常见故障处理
一般出现这种问题,都是由于源端数据库的归档文件被第三方删除导致,需要定位删除的原因,是否是因为同步性能跟不上或是源端有长事务等原因导致源端的最小事务的LSN无法推进,归档达到了最长的保留时间而被第三方清除。针对这种问题,常用的办法就是把执行端DMHS_TRXID_TABLE中TID为0的记录中SEQID的值(多对一的环境注意匹配记录的SITEID值)修改为源端对应归档文件的最小LSN,重启目标端和源端的DMHS,同步会从源端第一个归档开始重新同步。原创 2024-01-12 16:17:40 · 1123 阅读 · 0 评论 -
达梦数据实时同步软件DMHS介绍和原理
DMHS 的数据复制是通过分析源数据库的日志后以源端事务为单位发送给目标数据库的,源数据库日志中记录的事务是严格有序的,目标数据库严格按照源数据库上的事务顺序在目标数据库上实施数据复制同步,目标数据库上所执行的事务一定是源数据库已经提交完成的事务,DMHS 可保障目标数据库与源数据库的事务级完整性和一致性,确保目标数据库数据复制事务的业务逻辑符合源数据库上事务的业务逻辑。不同的源数据库管理系统具有不同的日志格式,但是在日志文件中通常都会记录操作的类型、操作的时间戳、事务 ID、操作数据等信息。原创 2024-01-12 15:58:59 · 1181 阅读 · 0 评论 -
达梦数据库应用操作建议指导
说明:/home/appadmin/dm_svc.conf为应用配置dm_svc.conf文件的绝对路径,请根据实际位置修改。说明:/home/appadmin/dm_svc.conf为应用配置dm_svc.conf文件的绝对路径,请根据实际位置修改。(1)达梦中所有对象名均是唯一的,不允许出现重名(如表名与索引名命名相同,或不同表的索引名命名相同),mysql较宽松。如果dm_svc.conf在/etc下,可直接使用url:jdbc.url=jdbc:dm://DM。原创 2023-12-26 16:08:45 · 952 阅读 · 0 评论 -
达梦数据对比工具的部署与使用
压缩Linux rh6 x86版本的达梦数据库bin目录,例如压缩文件为dmbin.tar.gz,将文件拷贝到Oracle服务器指定目录并解压(如:/home/oracle/dmbin),给目录/home/oracle/dmbin授予相关权限和用户组。原创 2023-12-22 16:44:46 · 1035 阅读 · 0 评论 -
达梦管理工具报错“结果集不可更新,请确认查询列是否出自同一张表,并且包含值唯一的列。”
在使用达梦数据库管理工具时,我们测试过程中时常需要更新表数据,有时为了便捷,会直接使用管理工具修改表数据的值,但偶尔会遇到“结果集不可更新,请确认查询列是否出自同一张表,并且包含值唯一的列。”的报错,那么这究竟是怎么回事呢。原创 2023-10-24 18:02:58 · 984 阅读 · 0 评论 -
在docker中安装使用达梦数据库
关于在docker中安装达梦数据库,达梦官方网站其实是有提供安装使用方法的,但可能还是有朋友不会,这里将在原文基础上简单扩充下。注意:docker容器中,数据库安装后没有创建服务的脚本,只有bin、bin2、conf、data、log五个目录。原创 2023-07-25 09:59:13 · 3273 阅读 · 0 评论 -
达梦8命令行方式安装创建数据库
在实际生产环境中,有很多linux服务器并没有安装桌面,无法调用图形化界面来安装、创建和配置数据库。下面讲解在linux操作系统中,以命令行的形式创建、安装、启动DM8数据库。原创 2023-06-13 16:49:05 · 1999 阅读 · 0 评论 -
达梦数据库无法打开图形化界面的解决方法
(1)使用VNC或者VMware连接并登录数据库服务器时,在设置DISPLAY环境变量时,不需要设置IP地址,因为VNC和虚拟机登录到服务器是在本机上操作,默认DISPLAY不指定IP时,指的是本机localhost。原创 2023-06-13 16:35:51 · 1678 阅读 · 0 评论 -
达梦数据库代理用户的使用
1)需要使用A用户建立B用户的表,但我们又不能授予A create any table的权限(因为这样A用户就可以在所有用户下建立表),但目前也没有更细颗粒度的权限可以授予用户;2)当已经授予用户A查询用户B下表的权限时,如果用户B下新增表,又需要再次授予B用户新增表的权限,运维使用起来比较繁琐;通过代理方式登录用户B,此时的权限与被代理用户A的权限保持一致,且登录用户的密码为用户B。以上情况就可以通过代理用户解决。3、代理用户登录查询并创建用户。原创 2023-06-02 17:27:11 · 239 阅读 · 0 评论 -
达梦数据库索引的建立使用
但是如果是非等值查询时,要想有效利用组合索引,则应该按等值字段在前,非等值字段在 后的原则创建组合索引,查询时只能利用一个非等值的字段。但是,索引越多,修改表数据的开销就越大。索引删除之后,该索引的段的所有簇都返回给包含它的表空间,并可用于表空间中的其他对象。DM数据库中表(列存储表和堆表除外)都是使用 B+树索引结构管理的,每一个普通表都有且仅有一个聚集索引,数据都通过聚集索引键排序,根据聚集索引键可以快速查询任何记录。达梦数据库支持聚集索引,复合索引,函数索引,唯一索引,位图索引等等。原创 2023-05-23 15:45:24 · 6422 阅读 · 1 评论 -
达梦分区表的使用
在大型的企业应用或企业级的数据库应用中,要处理的数据量通常达到TB级,对于这样的大型表执行全表扫描或者DML操作时,效率是非常低的。为了提高数据库在大数据量读写操作和查询时的效率,达梦数据库提供了对表和索引进行分区的技术,把表和索引等数据库对象中的数据分割成小的单位,分别存放在一个个单独的段中,用户对表的访问转化为对较小段的访问,以改善大型应用系统的性能。达梦数据库分区表主要包括范围分区、哈希分区和列表分区三种方式, 企业可以使用合适的分区方法,如日期(范围)、区域(列表),对大量数据进行分区。原创 2023-05-23 09:54:49 · 1863 阅读 · 0 评论 -
如何在达梦中找出特定表的约束条件
在all_cons_columns中,约束名,约束所在的表名和约束所在的列名包含在内,我们可以通过连接查询,找到需要查找的特定表的主键约束所在的列名。连接的列为CONSTRAINT_NAME,即约束名,在约束被创建的时候可以指定约束名,如果没有指定约束名,则会自动生成一个“CONS”加上一串数字的约束名,对于不同的约束其约束名是唯一的。两个视图的连接查询可以获取特定表的特定列上的约束条件,一共有5种约束类型的值:C代表检查约束,P代表主键约束,U代表唯一约束,R代表引用约束即外键,V代表视图上的检查约束。原创 2023-05-23 09:38:20 · 1584 阅读 · 0 评论 -
达梦数据库中,如何设置表的访问控制权限?
用test用户登录,我们可以查询sysdba.t1表的数据,但是却查询不了test.t2表的数据,因为我们没有赋给test用户,test.t2的查询权限,那怕t2表是test用户下的表。再以test用户登录进行查询,发现test.t2表的访问权限已经没有了,sysdba.t1表的访问权限也已经没有了。在工作中,大家都会遇到这样的场景,出于对数据库访问安全的考虑,对于某些用户我们不想让他们看到全库的表,只想给他们。Test用户只能访问本用户下的t2表,不能访问sysdba用户下的t1表。原创 2023-04-27 16:55:29 · 1319 阅读 · 0 评论 -
详解达梦数据库字符串大小写敏感
②如果对表名或列名添加"",会固定书写时的大、小写形式,书写时采取的是小写形式,那么就定型为小写形式,其他不添加""的则自动转换为大写形式,无论书写时采取的是大写形式或小写形式。⑤查询时,''和""界定符中字符串区分大小写,界定符中的字符串若是大写形式,那仅查询这个大写形式的对象,若是或小写形式,那仅查询这个小写形式的对象,DML操作依旧。③如果对表名或列名添加"",会固定书写时的大、小写形式,""中是大写形式,则过滤字段就是大写字段,""中是小写字段,则过滤字段就是小写字段;原创 2023-04-27 16:49:44 · 2701 阅读 · 0 评论 -
达梦数据库中注释的使用
SYSTABLECOMMENTS中包含有各模式下的表或视图的注释,SCHNAME为模式名,TVNAME为表或视图的名称,而TABLE_TYPE指定了对象类型为表或者视图,COMMENT$字段即为注释的具体内容。前面对于注释的更新操作,实际上是通过语句新建的注释覆盖掉了原有的注释信息。用户可以对于自己拥有的模式下的对象创建注释,可以针对整张表或视图做注释,也可以对于各列进行注释。通过添加注释,用户可以对于各个对象添加需要备注的信息,而对于注释的修改,实现方式和添加注释时一样。原创 2023-04-27 16:38:04 · 6315 阅读 · 0 评论 -
达梦数据库如何在disql中使用脚本
使用 DEFINE 命令定义变量值,格式:DEFINE 标识符 = 值如脚本edit /dm8/test4.sqldefine n=1。原创 2023-04-03 17:15:13 · 2641 阅读 · 0 评论 -
达梦数据库DISQL常用命令
作用:用来定义一个本地变量的替代变量,然后对该变量赋一个CHAR类型的值;或者输出变量的值和类型。语法如下:DEF[INE] VARIABLE = text:申明一个变量,如果该变量存在,则重新赋值,否则新生成一个变量,并进行赋值。DEF[INE] VARIABLE:如果该变量存在,则输出特定VARIABLE的值和类型,否则报错。DEF[INE]:输出DIsql中所有的变量的值和类型。该命令定义的替代变量在当前的DIsql环境和/NOLOG环境中均可以起作用。原创 2023-04-03 17:00:17 · 1349 阅读 · 0 评论 -
达梦disql环境变量设置
SHOW可以显示一个或多个变量。显示多个变量时中间加空格,当其中某一变量出错之后,后面的仍会继续显示。达梦除了使用DM图形化管理工具对数据库进行操作外,还可以使用非图形化的disql工具执行SQL语句,如果想让DISQL工具更有效地工作,那么一定要了解DISQL这个工具的环境变量设置。OFF:表示为保证数据的对齐格式,DIsql 对服务器传回的字符串数据,将其中的换 行符、TAB 都转换为空格。达梦使用SET命令对当前DISQL的环境变量进行设置,并通过SHOW命令来查看当前系统中环境变量的设置情况。原创 2023-04-03 15:59:01 · 856 阅读 · 0 评论 -
使用KETTLE工具在Oracle和达梦之间迁移数据
需要注意的是,创建DB连接时,需要把DM和ORACLE对应的JDBC驱动拷贝到kettle安装目录中的lib目录下。Dmjdbc驱动文件可以在DM安装目录的drivers/jdbc目录下找到。在设置表输入时,可以点击“获取SQL查询语句”按钮,通过列表的方式选择需要查询的表。在核心对象下的输入对话框中将表输入和表输出拖到右边面板中,并按住shift将两者连起来。分别配置表输入和表输出。需要注意的是,输入和输出的表要保持字段一致。要使用kettle连接数据库,首先需要创建DB连接。下方可以看到输出结果。原创 2023-03-29 19:52:29 · 1070 阅读 · 0 评论 -
达梦数据库SQL优化之执行计划
本文将介绍一下执行计划,希望达到的效果是无论某个SQL是否找的到优化的方法,我们起码可以将执行计划中的每一部分与原SQL对应起来。执行计划是优化的重中之重,这里我们主要讲解执行计划如何读,需要注意哪些地方,为优化做下一定的基础。原创 2023-03-29 18:01:06 · 901 阅读 · 0 评论 -
达梦数据库中集合类型的使用
DM PL/SQL的使用过程中,如果我们想储存单个的数据,我们可以利用声明变量的方式来存储,如果我们想存储单行多列的数据,我们可以用到记录类型(record),如果我们想保存单列多行的数据,则可以利用利用集合类型的方式来存储。本文将介绍达梦数据库中常用的几种集合类型以及他们的特点。索引表的特点:1.可以使用数字或者字母作为下标2.以数字做下标时可以使用负数3.只能在PL/SQL块中使用,无法作为表字段下面进行一些测试,首先是数字做下标的索引表执行结果如下然后是字母做下标的索引表输出结果。原创 2023-03-29 17:19:51 · 1141 阅读 · 0 评论 -
配置ODBC连接达梦数据库
安装成功后,unixODBC所需的头文件都被安装到了/usr/inlucde下,编译好的库文件安装到了/usr/lib下,与unixODBC相关的可执行文件安装到了/usr/bin下,配置文件放到了/etc下。ldconfig的主要用途:默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。注:安装方法根据自己需求修改。原创 2023-03-28 16:13:06 · 943 阅读 · 0 评论 -
达梦数据库LINUX下误删数据文件恢复
在linux系统当中,达梦数据库是以数据文件的方式保存在操作系统中,当你删除数据文件,只要是操作系统和数据库未重启,文件的句柄是未释放的。此时当你删除了数据文件的时候,数据库和操作系统未重启,又没有数据备份的时候,我们还有机会将数据文件进行恢复。1.利用数据迁移工具将数据迁移到新的正常的数据库实例上数据文件删除之后只要未做数据文件检查,数据文件中对应的表数据还是可以正常访问的,所以我们可以重新初始化一个参数一致的数据库。使用不同的端口,然后启动数据库。原创 2023-03-23 20:08:14 · 547 阅读 · 1 评论 -
达梦数据库的几种模式及状态说明
数据库在Mount状态下,不能修改数据,不能访问表、视图等数据库对象,但可以执行修改归档配置、控制文件和修改数据库模式等操作,也可以执行一些不修改数据库内容的操作,比如查询动态视图或者一些只读的系统过程。数据库在Suspend状态下,可以访问数据库对象,甚至可以修改数据,但限制Redo日志刷盘, 一旦执行COMMIT等触发Redo日志刷盘的操作时,当前操作将被挂起。此参数可以动态修改。正常生成本地归档,但不发送实时归档(Realtime)、即时归档(Timely)和异步归档(Async)。原创 2023-03-22 16:43:30 · 4588 阅读 · 0 评论 -
达梦数据库dexp 参数的介绍
dexp V8----- [2022-03-23 21:04:15]导出表:BDC_H_BU----- 导出模式下的对象权限...表BDC_H_BU导出结束,共导出 1 行数据----- [2022-03-23 21:04:15]导出表:BDC_SZ_BU -----导出模式下的对象权限...表BDC_SZ_BU导出结束,共导出 0 行数据----- [2022-03-23 21:04:15]导出表:BDC_YGDJ_BU----- 导出模式下的对象权限...原创 2023-03-22 16:34:26 · 651 阅读 · 0 评论 -
达梦数据库物化视图基本使用
物化视图 (MATERIALIZED VIEW) 是从一个或几个基表导出的表,是目标表在特定时间点上的一个副本,占用存储空间,同视图相比,它存储了导出表的真实数据。物化视图可以用于数据复制(Data Replication),也可用于数据仓库缓存结果集以此来提升复杂查询的性能。当所依赖的一个或多个基表的数据发生更新,必须启用刷新机制才能保证数据是最新的。本章介绍物化视图的刷新模式、刷新时机、刷新选项及刷新方式。环境说明:数据库:DM8相关关键字:物化视图一、刷新模式。原创 2023-03-22 16:28:49 · 1374 阅读 · 0 评论 -
达梦回滚表空间的空间占用和释放
从上面测试可以看出:1、CTAS方式创建表的同时并插入数据效率更高,比先创建表然后再插入数据要快。2、TRUNCATE立即释放空间,drop和delete表的空间不立即释放,达梦按照undo_retention参数指定的时间强制保留,超过该时间后,空间立即释放。3、严格来说,DDL会生成少量的UNDO回滚信息,这些回滚信息是对系统表的修改而产生的回滚记录。原创 2023-03-22 16:19:50 · 788 阅读 · 0 评论 -
达梦数据库普通表转分区表
在生产环境中,数据库中一开始用的是普通表,但随着时间推移,数据量越来越大,可以考虑将普通表转换为分区表,提升数据库的性能。本文将介绍在DM8数据库中,实现将普通表转换为分区表的方法。环境说明数据库版本:DM8操作系统版本:麒麟V10相关关键字:性能优化一、逻辑导入导出方式。原创 2023-03-22 15:58:03 · 478 阅读 · 0 评论 -
达梦数据库统计信息的导出导入
随着数据库国产化进程的加快,越来越多的行业、越来越多的系统将选择我们的国产数据库,那么这个过程中必然会遇到大数据量系统迁移的情况,异构数据库迁移完成后,一定会在新替换的国产数据库中收集统计信息。举例:假如客户原来使用A数据库,迁移到新数据库后,统计信息首次完全收集耗时会很长,那么为了缩短这一时间,可以在A数据库系统切换到国产数据库的上线演练过程中,将统计信息完全收集并导出,在上线当天将前期的统计信息导入上线的生产环境,以此来缩短收集统计信息的耗时,那么整体的时间窗口也将会大大减少。3. 生成统计信息。原创 2023-03-08 18:17:47 · 1566 阅读 · 0 评论