分类: DM

27 篇文章

DM数据库用户限制白名单导致自身无法登录的一次紧急恢复
一、事件背景 在一次配合应用开发商进行安全加固时,用户提出了需要对连接数据库的IP进行白名单配置,对于业务用户仅支持应用节点IP登录,对此我们提供了alter user的模板SQL对用户的网络白名单进行限制: alter user "SYSDBA" allow_ip "192.168.100.11"; 但是当配置多个IP时需要将I…
DM数据库服务器分析 CPU 爆满的原因
一、问题描述 当发现达梦数据库所在服务器CPU爆满需要排查时,可通过如下方法排查。 二、问题排查 (1)首先,查询已执行超过2秒的活动SQL SELECT * FROM ( SELECT SESS_ID, SQL_TEXT, DATEDIFF (SS, LAST_RECV_TIME, SYSDATE) Y_EXETIME, SF_…
DM数据库SQL报错之记录超长
一、问题描述 达梦数据库在初始化实例时会有一个参数PAGE_SIZE即页大小,默认是8K。 配置不同的页大小,字段所支持的存储长度会有所不同,会有如下限制 [wpdatatable id=21] 当表中一行记录所以字段长度之和占用页大小的一半时就会出现记录超长的报错。 二、问题解决 考虑到实际场景,解决方法有如下几种: 找到表中V…
DM数据库逻辑备份还原
一、前言 1.1 概念 逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,即在数据库服务器正常运行过程中进行的备份和还原。 1.2 术语 …
DM数据库SQL报错之字符串截断
一、问题描述 在达梦数据库中报错字符串截断存在多种情况,报错原因不一。 二、问题解决 2.1 大字段模糊查询 当查询条件中字段为TEXT,并进行LIKE模糊查询时报错。 报错原因是因为存在隐式转换,转换时截断而导致报错。 解决方法一 首先,查看一下该大字段长度 SELECT DBMSLOB.GETLENGTH(字段); 再根据长度…
DM数据库SQL报错之多版本操作冲突过多 或 Too many mvcc conflict
一、问题描述 MVCC 多版本并发控制是指维持一个数据的多个版本,在保证事务隔离级的情况下,使得读写操作没有冲突,提高了数据库并发读写的性能。因此可以解决在并发读写数据库时,做到在读操作时不用阻塞写操作,写操作也不用阻塞读操作。当对一张表批量修改且并发量较大时,可能会报 MVCC 多版本操作冲突过多的错误。多会话同时修改表数据时报…
DM数据库SQL报错之试图在blob或者clob列上排序或比较
一、问题描述 在达梦数据库中对大字段类型的列进行排序或比较时会报错[-2685]:试图在blob或者clob列上排序或比较 测试数据演示示例: 建表 CREATE TABLE T_BCLOB (ID INT PRIMARY KEY, BL BLOB, CL CLOB); 使用SQLark的数据生成功能,生成测试数据。 使用ORDE…
DM数据库物理备份还原
一、前言 1.1 概念 物理备份是找出那些已经分配、使用的数据页,拷贝并保存到备份集中。物理还原是物理备份的逆过程,物理还原一般通过 DMRMAN 工具(或者 SQL 语句),把备份集中的数据内容(数据文件、数据页、归档文件)重新拷贝、写入目标文件。 1.2 术语 联机备份还原:联机备份还原指数据库处于运行状态时,并正常提供数据库…
DM数据库批量删除模式下所有自增列
一、问题描述 客户是由SQL Server2012数据库迁移到达梦数据库,迁移后在应用测试时发现,包含自增列的表做数据插入(insert)操作时会有如下报错:仅当指定列列表,,且SET IDENTITY INSERT为ON时,才能对自增列赋值。 该报错是因为在达梦数据库中当插入数据并且要指定自增列的值时,必须要通过语句将 IDEN…
DM数据库集群健康检查
一、前言 1.1 概念 集群健康检查主要用于了解集群的运行情况,通过集群的健康检查,可以及时地发现集群存在的问题以及隐患,帮助我们更好的发现问题和解决问题,这对于保障集群正常运行具有极大的实用价值。集群的健康检查主要包含:系统健康检查、实例健康检查和集群运行状态检查。本文主要对集群运行状态检查和需要额外注意的检查项进行详细说明。达…