达梦数据库卡慢简单分析
1.检查是否有锁表
查询锁表:select sess_id,sql_text from v$sessions sess,v$lock lck where sess.trx_id=lck.trx_id and lck.blocked=1; --查询僵死会话
解锁:根据会话ID,停止会话
sp_close_session(sess_id);
2.根据v$sessions,V$LONG_EXEC_SQLS,确认sql是否需要优化
select * from v$sessions;--根据情况,可关闭执行卡死的会话。
3.根据v$connect 确认连接数是否过高
select * from V$CONNECT where STATUS$='ACTIVE';--查询正在使用的连接
4.根据DM性能监视工具-性能监视-资源监控-sql硬解析频率是否过高,运行参数配置是否合理
1 sql硬解析引起的并发数限制,可查询出访问次数较高的几个功能界面和执行率较
高的硬解析语句,优化功能的sql执行方式。
如:select * from test where id='123'; 改成 select * from test where id=? 方式执行。
或select para_value from V$DM_INI where para_name='USE_PLN_POOL';
2 运行参数配置不合理,可修改配置
如查询:select * from V$DM_INI where para_name='HJ_BUF_GLOBAL_SIZE';
调整:alter system set 'HJ_BUF_GLOBAL_SIZE' =5000 both;
5.检查系统资源
cup使用率、运行内存使用率,磁盘使用率,IO使用是否过高,是否使用的机械硬盘有坏道等,
影响数据库运行。
系统资源不足可升级硬件或部署达梦读写分离的集群模式,分摊压力。
注:DM7版本事务控制期间insert,delete ,update过程中,引起的select卡慢,可升级到DM8版本解决。
6.检查表数据量是否存储的比较多
表数据过多引起的sql卡慢,可对存储数据量过多的表 分区或者分表 尝试解决,
对数据量巨多的可分表+分区联合使用解决查询卡慢的问题。
如:test表数据过多,根据登录账号的usernameid创建hash分区 (DM8_创建分区脚本)
CREATE TABLE "TEST_1"
(
"ID" VARCHAR2(32) NOT NULL,
"USERNAMEID" VARCHAR2(32),
"COLNAME1" VARCHAR2(199),
"COLNAME2" VARCHAR2(1) ) partition by hash (USERNAMEID) partitions 16 ;
alter table TEST rename to TEST_BAK;
alter table TEST_1 rename to TEST;
INSERT INTO TEST SELECT * FROM TEST_BAK;commit;
CREATE INDEX "TEST_USERNAMEID_COLNNAME1" ON TEST("USERNAMEID" ASC,"COLNAME1" ASC) GLOBAL ;--分区索引
alter table TEST enable row movement;--允许分区字段更新
7.查找出耗时的sql进行优化
1.通过试图查询历史执行的sql
select * from V$SQL_HISTORY where time_used>3000000 order by start_time desc;--查询出执行时间超过3s的sql;
2 通过sql日志文件分析,历史执行的sql运行的情况
如:windows 系统查询耗时在10s以上的sql语句.
使用notepad++文本编辑器,打开达梦sql日志文件,ctrl+h打开搜索框输入正则查询
条件点击全部标记,可将耗时在10s以上的所有sql查询出来并标记;
点击搜索-书签->复制书签行,可以将标记的所有耗时在10s以上的sql拷贝出来。
linux 系统:查询耗时在10s以上的sql语句.
grep -n '[0-9]\{5,10\}[(][m][s][)]' /mnt/e/dmdbms/log/dmsql_DMSERVER_20220303_171739.log
输入以上命令可查询出耗时在10s以上的sql,
/mnt/e/dmdbms/log/dmsql_DMSERVER_20220303_171739.log :达梦sql日志所在路径。
'[0-9]\{5,10\}[(][m][s][)]' :正则查询条件
达梦数据库卡慢简单分析相关推荐
- 达梦数据库使用心得达梦数据同步软件DMHS
达梦数据库使用心得&达梦数据同步软件DMHS 文章目录 达梦数据库使用心得&达梦数据同步软件DMHS 一.前言 二.达梦数据库安装 步骤 1:运行安装程序 步骤 2:语言与时区选择 步 ...
- 手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)
系列文章目录 文章目录 系列文章目录 前言 环境 一.DMHS的安装 (命令行) 1.安装文件准备 2.修改可执行文件后执行安装程序 二.DM8数据库准备工作 1.开启归档日志 2.开启逻辑日志 3. ...
- 安超云生态 | 安超云与达梦数据完成产品兼容互认证 加速信息技术生态建设
日前,安超云与武汉达梦数据库股份有限公司(简称"达梦数据")完成产品兼容性互认证明.经安超云与达梦数据联合测试得出:安超云操作系统与达梦数据库管理系统V8,相互兼容,系统功能运动稳 ...
- 达梦数据实时同步(DMHS)原理
1 系统介绍 达梦数据实时同步软件(DMHS)是一个支持异构环境的高性能.高可靠.高可扩展是数据库实时同步复制系统.该系统基于成熟的关系数据库模型和标准接口,跨越多种软硬件平台实现秒级数据实时同步,可 ...
- 达梦数据迁移问题罗列
目录 一.前言 二.问题罗列 一.前言 最近小编接触到国产的数据库达梦数据库,然后在用达梦数据迁移工具MySQL迁移至达梦的时候遇到了一系列的问题现在罗列一下在这里.目前关于国产的数据库达梦这些资料比 ...
- 达梦数据迁移工具的使用
作为国产数据库,达梦是比较典型的一种,开发工作中会用到其他数据库表迁移到达梦数据库的问题,在此记录一下迁移方法也为他人提供方便. 该工具仅用于其他数据库表及文本文件迁移达梦,或达梦数据库表迁移到其他数 ...
- python做数据可视化的代码_Python数据可视化正态分布简单分析及实现代码
Python说来简单也简单,但是也不简单,尤其是再跟高数结合起来的时候... 正态分布(Normaldistribution),也称"常态分布",又名高斯分布(Gaussiandi ...
- 达梦数据交换平台软件DMETL部署
一.DMETL介绍 达梦数据交换平台(简称DMETL)是在总结了众多大数据项目经验和需求并结合最新大数据发展趋势和技术的基础上,自主研发的通用的大数据处理与集成平台. DMETL创新地将传统的ETL工 ...
- 爬取链家北京租房数据并做简单分析
在一个来北京不久的学生眼中,北京是一个神秘又充满魅力的大城市.它无比美好,但又无时无刻不再觊觎这你薄弱的钱包. 租房是很多人都离不开的硬性需求,这里就对从链家爬取的北京地区房屋出租数据进行一个简单分析 ...
最新文章
- 一个插排引发的设计思想 (一) 观察者模式
- A Brief History of NoSQL (转)
- Qt工作笔记-Qt文档阅读笔记-qualifiedName()的官方解析及XML使用名称空间
- bzoj2705Longge的问题
- 什么是系统架构设计:关于架构演进理论
- 动态设置imageview 宽高
- Java反射异常处理之InvocationTargetException
- K650c + Ubuntu 15.04无法正常关机,重启
- H3C认证安全技术高级工程师
- 课堂派“互动课件”文件下载
- 应用网易轻舟,德邦快递核心系统入选云原生应用十大优秀案例
- 程序员的插画成长之路并不平坦
- 如何制作一封高打开率的邮件?
- 三分钟集成 TapTap 防沉迷 SDK(Unity 版)
- earlier的意思_earlier和before都有之前的意思?有什么区别吗
- 根据经度纬度获取距离(km/m)等工具类
- 皮马印第安人糖尿病数据集分享
- 无线通信基础知识7:射频器件的基本参数3
- ESP在百度百科的阐述
- Region 分裂策略补充
热门文章
- geteditor p 取消自动_2020百度网盘超级会员怎么取消自动续费?
- console.log()不显示结果_RNA结合蛋白与RNA的缠绵故事,教你不做实验发文章
- arcgis渔网分割提取栅格图_【操作】ArcGIS中字段的合并、分割、提取
- 给出一个正整数 nnn,请你计算从 111 到 nnn 的所有正整数中,有多少个数字的各位数和是 999,Java
- Java常用类(5)--不可变的任意精度BigInteger、BigDecimal类
- java小程序 2048_微信小程序之游戏2048
- 理解依赖注入(IOC)和学习Unity
- 创建一个简单的 MDM server(1)
- 清北学堂十一培训酱油记
- ibatis中的xml配置文件