- 博客(156)
- 资源 (361)
- 收藏
- 关注
原创 达梦数据库关于参数PK_WITH_CLUSTER的改动分析
达梦数据库的参数PK_WITH_CLUSTER在最近使用过程中发现与前期使用的版本存在差异,特此测试分析一下。具体哪个版本改动的暂未得知。PK_WITH_CLUSTER,默认值为0,动态会话级参数。参数含义:在建表语句或增加约束语句中指定主关键字时,是否缺省指定为CLUSTER,0:不指定;1:指定注:该参数对水平分区表、列存储表和堆表无效。
2025-03-05 20:25:57
740
原创 达梦数据库授权给某个用户查询其他指定用户下所有表的权限
参数生效后,可直接执行SQL进行授权,例如将模式 B 下所有对象的查询权限授予用户 A。GRANT_SCHEMA,表示是否开启授予和回收模式权限功能。然后调用此存储过程即可,例如将模式 B 下所有对象的查询权限授予用户 A。改参数为静态参数,默认是0,将改参数修改为1后,重启数据库生效。新版本有一个数据库参数。
2025-02-27 15:36:33
780
原创 问题小记-达梦数据库报错“字符串转换出错”处理
出现问题的SQL语句很简单,且只涉及到一张表,查询语句只涉及到T1表的两个字段列,分别为C2、C3,在SQL中能涉及到类型转换报错的,可以大胆判断是FLOOR和CEIL函数处理数据出现的问题。情况和预料的一样,条件列C3的值并没有提前过滤,IDX的SSCN是包含那些不是纯数值类型的字符串的,此时用函数FLOOR和CEIL来处理数据就会报错。问题表现为:一样的表结构和数据,执行相同的SQL,在Oracle数据库中执行正常,到达梦数据库执行报错。通过几条SQL,来查看下数据,看看C2列数据是什么样的。
2024-12-20 18:32:58
1449
原创 异构迁移常用SQL
1.3.查看业务用户下每个表行数,表段和索引段占用空间之和。1.2.查看业务用户下每个表或者索引的占用空间。2.1.查看是一级分区还是二级分区表。1.1.查看业务用户下每个表的行数。4.2.DM查询SQL(指定模式)4.1.Oracle查询SQL。5.备份表或者带log日志表。4.没有主键或者唯一建的表。8.查看用户对象数据总数。8.1达梦指定模式查询。
2024-11-14 15:53:17
412
1
原创 达梦数据库动态添加实时备库实操分享
达梦数据库版本信息:DM v8.1.3.26已测试基于该版本之后的数据库,可以动态添加达梦数据守护集群实时备库,无需再按原官方手册调整原主备库为mount状态,因此可以做到对业务零影响。
2024-11-07 17:29:29
492
原创 达梦数据库sql日志说明
但如果是LOCK_OBJ类型的粗略版SQL日志,则可能不会打印等待事务ID,此时需要根据当前对象名,检查附近日志中是否有对该对象的操作,以此来进一步分析事务封锁冲突,该方法不保证能成功检索到冲突操作。当前存在两种版本的锁等待SQL日志,如果可以准确获取当前事务所等待的其他事务信息,则生成精确版SQL日志。由于该SQL日志为粗略版SQL日志,因此当前事务可能不止等待这一个事务,但是当前节点无法获取更多的等待事务信息,用户可以通过追溯ID为480511的事务来手动分析获取更多信息。表示当前锁类型为事务锁。
2024-09-20 10:56:40
1265
原创 使用达梦DMHS平滑迁移Oracle数据到DM8
服务IP架构OracleRAC、主库OracleDG备库达梦主备DMHS192.168.10.193(DM端)192.168.10.98(Oracle端)DTS。
2024-06-24 07:55:33
583
原创 达梦数据库单实例本地守护配置及故障模拟
配置单实例本地守护后,当单实例数据库故障导致服务进程中断时,达梦数据守护进程会尝试将数据库服务进程拉起,如果可以拉起并正常对外提供服务,可以一定程度上降低系统风险,减少损失,避免数据库的异常宕机问题。数据库初始化后,默认数据库oguid为0,此处也可不单独设置oguid,如果未设置,则配置dmwatcher.ini时参数INST_OGUID需配置为0。3.前台启动数据库,查看是否异常(该步骤实际可忽略)数据库软件安装目录:/dm8/dmdbms。5.停库,修改dm.ini配置文件。
2024-04-03 11:50:08
458
原创 达梦数据库的快速加列参数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
1632
原创 达梦数据守护集群为什么需要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
450
原创 达梦DMHS-Manager工具安装部署
DMHS管理平台以B/S架构实现,只要网络可达,通过浏览器即可进行远程访问控制,后端服务以DM数据库作为元数据存储,使用Tomcat来运行Web服务,DMHS运维和监控分别是通过Agent和Stat组件来实现。Agent主要负责DMHS服务的部署、启停、删除/添加模块、版本升级、修改配置、Web控制台等一系列服务端操作;Stat要负责DMHS实例的监控数据和硬件资源信息的采集。
2024-04-02 12:12:53
3645
原创 达梦DMHS-Manager工具日常操作
DMHS管理平台(简称HSEM)主要有三大模块:服务管理、监控及告警、系统管理。本文将简要介绍DMHS-manager工具中的相关功能,以供参考。
2024-04-02 11:48:41
1558
原创 关于使用达梦DMHS进行数据迁移后,出现对比数据不一致的问题
该环境变量可配置为用户的环境变量,也可以配置到dmhs服务脚本中,配置该环境变量后,使用脚本重启dmhs服务,重新装载数据,对比验证数据一致,甚至在Oracle中乱码的数据也同样原模原样迁移到了达梦中,在达梦中乱码的形式也和Oracle完全一致,同步数据也正常。在达梦和Oracle中,使用Dump()函数可以返回一个varchar2值,这个值包含了数据类型代码、字节长度和表达式的内部表示形式。2、通过使用dump函数查看带字符集名称的十六进制符号,对比达梦和Oracle的结果,发现确有不同。
2024-01-13 12:00:00
756
原创 关于达梦DMHS实时同步工具开启预提交参数后导致同步日志报错问题的分析
启用该功能以后,事务在提交前会标识本事务的操作已经入库完成,在提交之前先唤醒其它等待它提交的事务,被唤醒的事务会检查它与唤醒它的事务有没有数据冲突,如果没有,则马上投入执行,否则继续挂起,直到唤醒它的事务完成提交后再执行。如果某个事务在源端回滚,则直接丢弃不执行。(2) 1:多个事务并行入库时,如果事务之间有关联的表,那么这些事务称为关联事务,配置该参数时,关联事务会按各事务提交的先后顺序串行执行,非关联的事务则并行执行,并行执行的事务提交时,并不受事务提交先后顺序的限制,有可能后提交的事务先提交。
2024-01-13 10:00:00
944
原创 关于达梦DMHS同步性能提升的几个参数介绍
说明:EXEC模块在收到事务提交消息时,有两种方式把该事务交给工作线程,一种是保证事务完整性的把事务整体交付,另一种则是把事务中的操作按每个操作针对的表进行拆分,拆分成N个事务,拆分后的事务中,每个事务包含某张表在原始事务中的所有操作,然后把这些事务依次交给工作线程进行入库。基于上面的原理,执行线程在入库事务数据时,应尽可能的减少对数据库的提交操作,把源端日志中多个小事务合并成一个大事务后再执行,一次提交多个事务,这种特性称之为事务合并,它由EXEC模块的enable_merge参数来控制。
2024-01-12 17:31:18
789
原创 达梦数据实时同步工具DMHS常见故障处理
一般出现这种问题,都是由于源端数据库的归档文件被第三方删除导致,需要定位删除的原因,是否是因为同步性能跟不上或是源端有长事务等原因导致源端的最小事务的LSN无法推进,归档达到了最长的保留时间而被第三方清除。针对这种问题,常用的办法就是把执行端DMHS_TRXID_TABLE中TID为0的记录中SEQID的值(多对一的环境注意匹配记录的SITEID值)修改为源端对应归档文件的最小LSN,重启目标端和源端的DMHS,同步会从源端第一个归档开始重新同步。
2024-01-12 16:17:40
1389
原创 达梦数据实时同步软件DMHS介绍和原理
DMHS 的数据复制是通过分析源数据库的日志后以源端事务为单位发送给目标数据库的,源数据库日志中记录的事务是严格有序的,目标数据库严格按照源数据库上的事务顺序在目标数据库上实施数据复制同步,目标数据库上所执行的事务一定是源数据库已经提交完成的事务,DMHS 可保障目标数据库与源数据库的事务级完整性和一致性,确保目标数据库数据复制事务的业务逻辑符合源数据库上事务的业务逻辑。不同的源数据库管理系统具有不同的日志格式,但是在日志文件中通常都会记录操作的类型、操作的时间戳、事务 ID、操作数据等信息。
2024-01-12 15:58:59
1454
转载 Linux磁盘IO测试工具:fio
fio在Linux系统下使用比较方便,iometer在window系统下使用比较方便,Orion是oracle的IO测试软件,可在没有安装oracle数据库的情况下模拟oracle数据库场景的读写。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。是我们关注的内容:磁盘的吞吐量bw,这个是顺序读写考察的重点;磁盘的每秒读写次数iops,这个是随机读写考察的重点。fio 用于测试磁盘性能时,测试之前需要先把要测试的磁盘卸载掉,测试完后需格式化一遍再挂载上去。
2023-12-26 16:16:19
1016
2
原创 达梦数据库应用操作建议指导
说明:/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
1068
原创 达梦监控指标信息说明
所以收集信息1~10的值为两次查询SQL获取结果的差值再除以两次查询SQL时间间隔的秒数。每秒执行select SQL语句数。每秒执行insert SQL语句数。每秒执行delete SQL语句数。每秒执行update SQL语句数。每秒执行DDL SQL语句数。已处理任务的平均等待时间。,收集信息17~18项需要。每秒从客户端接收字节数。每秒往客户端发送字节数。已处理任务的总等待时间。收集信息1~10项需要。
2023-12-26 15:40:49
1446
原创 Win10打开资源管理器报错“explorer.exe 该文件没有与之关联的应用来执行该操作”的解决办法
前几天家中电脑出现问题,可能是由于误操作清理电脑文件导致了异常,网上搜索了很多办法,下载各种工具修复注册表,用微软自带的修复工具等等,问题都没有解决,最后按照如下方法恢复了,特此记录一下。大家可以参考,每个人的问题原因都不一定完全一样,只能试试看。双击Classes,如果是Folder消失了,可尝试添加看是否生效,不行继续往下看。注意:修改注册表一定要做好备份,万分小心,否则可能出现更多问题导致系统无法使用。复制下方内容粘贴,保存文本文件 "repair.reg",右键,以管理员身份运行。
2023-12-25 15:30:40
9618
4
原创 达梦数据对比工具的部署与使用
压缩Linux rh6 x86版本的达梦数据库bin目录,例如压缩文件为dmbin.tar.gz,将文件拷贝到Oracle服务器指定目录并解压(如:/home/oracle/dmbin),给目录/home/oracle/dmbin授予相关权限和用户组。
2023-12-22 16:44:46
1153
原创 达梦管理工具报错“结果集不可更新,请确认查询列是否出自同一张表,并且包含值唯一的列。”
在使用达梦数据库管理工具时,我们测试过程中时常需要更新表数据,有时为了便捷,会直接使用管理工具修改表数据的值,但偶尔会遇到“结果集不可更新,请确认查询列是否出自同一张表,并且包含值唯一的列。”的报错,那么这究竟是怎么回事呢。
2023-10-24 18:02:58
1465
转载 dd工具使用及SSD顺序写性能测试
dd if=/dev/zero of=test bs=64k count=16k 是不准确的,可能有数据存在内核缓存中,没有同步到磁盘上。dd if=/dev/zero of=test bs=64k count=4k oflag=dsync or sync 每写一次就写一次磁盘,在实际操作中,可以听到磁盘响声,用时较长;dd if=/dev/zero of=test bs=64k count=16k conv=fsync 较为稳妥,但是时间用时较长,他在dd结束前会写数据和文件元数据到磁盘;
2023-08-29 14:56:59
934
原创 禁用右键菜单AMD Software: Adrenalin Edition
注意:该步骤不同电脑实际路径可能略有差别,注册表路径HKEY_CLASSES_ROOT\PackagedCom\Package是大家共有的路径,下一级路径找到自己电脑“AdvancedMicroDevicesInc....”开头的实际路径即可,之后进入到Server,Server路径中下级路径可能为0,也可能为1。6.点击选择Blocked文件夹,右键新建字符串值,名称为第3步复制的值,这里为“{6767B3BC-8FF7-11EC-B909-0242AC120002}”,数值为“打开命令行工具,输入。
2023-07-30 22:41:54
32243
17
原创 在docker中安装使用达梦数据库
关于在docker中安装达梦数据库,达梦官方网站其实是有提供安装使用方法的,但可能还是有朋友不会,这里将在原文基础上简单扩充下。注意:docker容器中,数据库安装后没有创建服务的脚本,只有bin、bin2、conf、data、log五个目录。
2023-07-25 09:59:13
3882
原创 达梦8命令行方式安装创建数据库
在实际生产环境中,有很多linux服务器并没有安装桌面,无法调用图形化界面来安装、创建和配置数据库。下面讲解在linux操作系统中,以命令行的形式创建、安装、启动DM8数据库。
2023-06-13 16:49:05
2131
原创 达梦数据库无法打开图形化界面的解决方法
(1)使用VNC或者VMware连接并登录数据库服务器时,在设置DISPLAY环境变量时,不需要设置IP地址,因为VNC和虚拟机登录到服务器是在本机上操作,默认DISPLAY不指定IP时,指的是本机localhost。
2023-06-13 16:35:51
2200
原创 达梦数据库代理用户的使用
1)需要使用A用户建立B用户的表,但我们又不能授予A create any table的权限(因为这样A用户就可以在所有用户下建立表),但目前也没有更细颗粒度的权限可以授予用户;2)当已经授予用户A查询用户B下表的权限时,如果用户B下新增表,又需要再次授予B用户新增表的权限,运维使用起来比较繁琐;通过代理方式登录用户B,此时的权限与被代理用户A的权限保持一致,且登录用户的密码为用户B。以上情况就可以通过代理用户解决。3、代理用户登录查询并创建用户。
2023-06-02 17:27:11
363
原创 达梦数据库索引的建立使用
但是如果是非等值查询时,要想有效利用组合索引,则应该按等值字段在前,非等值字段在 后的原则创建组合索引,查询时只能利用一个非等值的字段。但是,索引越多,修改表数据的开销就越大。索引删除之后,该索引的段的所有簇都返回给包含它的表空间,并可用于表空间中的其他对象。DM数据库中表(列存储表和堆表除外)都是使用 B+树索引结构管理的,每一个普通表都有且仅有一个聚集索引,数据都通过聚集索引键排序,根据聚集索引键可以快速查询任何记录。达梦数据库支持聚集索引,复合索引,函数索引,唯一索引,位图索引等等。
2023-05-23 15:45:24
6939
1
原创 达梦分区表的使用
在大型的企业应用或企业级的数据库应用中,要处理的数据量通常达到TB级,对于这样的大型表执行全表扫描或者DML操作时,效率是非常低的。为了提高数据库在大数据量读写操作和查询时的效率,达梦数据库提供了对表和索引进行分区的技术,把表和索引等数据库对象中的数据分割成小的单位,分别存放在一个个单独的段中,用户对表的访问转化为对较小段的访问,以改善大型应用系统的性能。达梦数据库分区表主要包括范围分区、哈希分区和列表分区三种方式, 企业可以使用合适的分区方法,如日期(范围)、区域(列表),对大量数据进行分区。
2023-05-23 09:54:49
1995
原创 如何在达梦中找出特定表的约束条件
在all_cons_columns中,约束名,约束所在的表名和约束所在的列名包含在内,我们可以通过连接查询,找到需要查找的特定表的主键约束所在的列名。连接的列为CONSTRAINT_NAME,即约束名,在约束被创建的时候可以指定约束名,如果没有指定约束名,则会自动生成一个“CONS”加上一串数字的约束名,对于不同的约束其约束名是唯一的。两个视图的连接查询可以获取特定表的特定列上的约束条件,一共有5种约束类型的值:C代表检查约束,P代表主键约束,U代表唯一约束,R代表引用约束即外键,V代表视图上的检查约束。
2023-05-23 09:38:20
2016
原创 达梦数据库中,如何设置表的访问控制权限?
用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
1718
原创 详解达梦数据库字符串大小写敏感
②如果对表名或列名添加"",会固定书写时的大、小写形式,书写时采取的是小写形式,那么就定型为小写形式,其他不添加""的则自动转换为大写形式,无论书写时采取的是大写形式或小写形式。⑤查询时,''和""界定符中字符串区分大小写,界定符中的字符串若是大写形式,那仅查询这个大写形式的对象,若是或小写形式,那仅查询这个小写形式的对象,DML操作依旧。③如果对表名或列名添加"",会固定书写时的大、小写形式,""中是大写形式,则过滤字段就是大写字段,""中是小写字段,则过滤字段就是小写字段;
2023-04-27 16:49:44
3014
原创 达梦数据库中注释的使用
SYSTABLECOMMENTS中包含有各模式下的表或视图的注释,SCHNAME为模式名,TVNAME为表或视图的名称,而TABLE_TYPE指定了对象类型为表或者视图,COMMENT$字段即为注释的具体内容。前面对于注释的更新操作,实际上是通过语句新建的注释覆盖掉了原有的注释信息。用户可以对于自己拥有的模式下的对象创建注释,可以针对整张表或视图做注释,也可以对于各列进行注释。通过添加注释,用户可以对于各个对象添加需要备注的信息,而对于注释的修改,实现方式和添加注释时一样。
2023-04-27 16:38:04
8068
原创 达梦数据库如何在disql中使用脚本
使用 DEFINE 命令定义变量值,格式:DEFINE 标识符 = 值如脚本edit /dm8/test4.sqldefine n=1。
2023-04-03 17:15:13
2845
原创 达梦数据库DISQL常用命令
作用:用来定义一个本地变量的替代变量,然后对该变量赋一个CHAR类型的值;或者输出变量的值和类型。语法如下:DEF[INE] VARIABLE = text:申明一个变量,如果该变量存在,则重新赋值,否则新生成一个变量,并进行赋值。DEF[INE] VARIABLE:如果该变量存在,则输出特定VARIABLE的值和类型,否则报错。DEF[INE]:输出DIsql中所有的变量的值和类型。该命令定义的替代变量在当前的DIsql环境和/NOLOG环境中均可以起作用。
2023-04-03 17:00:17
1580
原创 达梦disql环境变量设置
SHOW可以显示一个或多个变量。显示多个变量时中间加空格,当其中某一变量出错之后,后面的仍会继续显示。达梦除了使用DM图形化管理工具对数据库进行操作外,还可以使用非图形化的disql工具执行SQL语句,如果想让DISQL工具更有效地工作,那么一定要了解DISQL这个工具的环境变量设置。OFF:表示为保证数据的对齐格式,DIsql 对服务器传回的字符串数据,将其中的换 行符、TAB 都转换为空格。达梦使用SET命令对当前DISQL的环境变量进行设置,并通过SHOW命令来查看当前系统中环境变量的设置情况。
2023-04-03 15:59:01
1002
达梦数据库集群版本升级实施方案解析
2024-11-07
手册-vldb-and-partitioning-guide.pdf(Oracle数据库VLDB和分区指南).pdf
2024-10-22
Oracle数据库日常维护方案书.docx
2024-01-21
DMLOG8.13.zip
2023-07-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人