前言
昨日分享了关于达梦disql工具的部署及基本使用方法,今日再分享一个此前总结的颇为实用的运维脚本工具。该运维脚本工具旨在简化日常运维任务,提高工作效率。它集成了多个常用功能。
工具介绍
目前涵盖约30余项功能,涉及日常使用。在执行dmcheck
时,会显示如下帮助信息:
[dmdba@localhost ~]$ dmcheck
Usage:
dmcheck keyword [value1 [value2]]
-----------------------------------------------------------------
login -- sysdba登入
errlog -- ERROR错误日志
hj -- 当前hj占用
buffer -- buffer pool占比
mempool -- 获取内存池mempool占比
lock -- 锁信息
killlock -- sp_close_session锁信息
user -- 查用户信息
active -- 查活跃会话信息
tsfree -- 表空间占比
datafile -- 查询数据文件路径及使用率
tab_size owner table_name -- 查用户下表的大小
idxdesc table_name -- 表字段索引信息
sess_grp -- 会话数汇总
sess -- 当前会话
sqltext limit -- 查询active会话sqltext信息
sqltext1 SQL_ID -- 指定SQL_ID查询sqltext信息
sesswait -- 会话等待wait信息
desc owner table_name -- 获取表结构
job -- job信息
init -- 获取实例初始化信息
ini para_name -- 获取DM_INI参数信息
view owner view_name -- 视图信息
ddl type name owner -- DBMS_METADATA.GET_DDL信息
tempfile -- TEMP空间信息
dblink -- dblink信息
stats owner table_name -- 获取收集统计信息语句语法
size owner segment_name -- 获取DBA_SEGMENTS信息
monitor -- monitor信息
dir -- DBA_DIRECTORIES路径
killsession -- 杀所有会话
killsession_select -- 杀所有select会话
killsession_update -- 杀所有update会话
killsession_insert -- 杀所有insert会话
getstack -- 堆栈
checkspace -- 获取表空间磁盘占用信息
shot -- 应急处理 getstack/active/sesswait
----------------------------------------------------------------
[dmdba@localhost ~]$
工具使用说明
我这里部署在/home/dmdba/dmdbms/script/
路径下,并给执行权限
[dmdba@localhost script]$ chmod +x dmcheck
[dmdba@localhost script]$ ls -l
总用量 36
drwxrwxr-x 2 dmdba dmdba 64 2月 8 20:41 20250208_204144_shot
-rwxr-xr-x 1 dmdba dmdba 1391 3月 13 2024 ckdmstat.sh
-rwxrwxr-x 1 dmdba dmdba 30336 2月 8 20:36 dmcheck
drwxr-xr-x 2 dmdba dmdba 95 3月 13 2024 root
[dmdba@localhost script]$
配置脚本环境变量信息并生效
[dmdba@localhost ~]$ cat ~/.bash_profile
# Source root/.bashrc if user has one
[ -f ~/.bashrc ] && . ~/.bashrc
export LANG=zh_CN.UTF8
export DM_HOME=/home/dmdba/dmdbms
export PATH=$PATH:$DM_HOME/bin:/home/dmdba/dmdbms/script
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
[dmdba@localhost ~]$
[dmdba@localhost script]$ source ~/.bash_profile
使用演示
使用时,请务必调整脚本中的账号和密码信息。
使用方法:dmcheck keyword [value1 [value2]]
例如登录数据库
[dmdba@localhost script]$dmcheck login
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.861(ms)
密钥过期时间:2025-03-04
disql V8
20:53:12 SYSDBA@DEM:5236 SQL>
查询表空间信息
[dmdba@localhost script]$ dmcheck tsfree
密钥过期时间:2025-03-04
TABLESPACE_NAME TOTAL_MB FREE_MB USAGE %
--------------- -------------------- ------- --------
SYSTEM 532 80 84.96%
DMDFM 1024 403 60.64%
MAIN 3008 1968 34.57%
MAIN 3008 1968 34.57%
ROLL 256 227 11.33%
TEMP 74 71 4.05%
9rows got
已用时间: 157.071(毫秒). 执行号:94805.
======================================================================================================
密钥过期时间:2025-03-04
TSB TS_NAME CONTENTS TS_SIZE_M FREE_SIZE_M USED_SIZE_M USED_PER MAX_SIZE_G USED_PER_MAX BLOCK_SIZE TS_DF_COUNT
----------- ------------- --------- --------- ----------- ----------- -------- ---------- ------------ ---------- --------------------
0 SYSTEM PERMANENT 532 80 452 84.962 65535.9990.001 17024 1
4 MAIN PERMANENT 3008 1968 1040 34.574 65535.9990.002 NULL 1
4 MAIN PERMANENT 3008 1968 1040 34.574 65535.9990.002 96256 1
5 DMDFM PERMANENT 1024 403 621 60.645 65535.9990.001 32768 1
3 TEMP TEMPORARY 74 71 3 4.054 65535.9990 2368 1
1 ROLL UNDO 256 227 29 11.328 65535.9990 8192 1
NULL ALL TS汇总: NULL 8286 5043 3243 39.138 589824 NULL NULL NULL
10rows got
已用时间: 36.152(毫秒). 执行号:94905.
[dmdba@localhost script]$
查看会话信息
[dmdba@localhost script]$ dmcheck sess_grp
密钥过期时间:2025-03-04
NODE COUNT_NUM
------------------------- --------------------
ACTIVE_SESSIONS_COUNT: 0
TOTAL_SESSIONS_COUNT: 6
PER_SESSIONS_MAX_HANDLE: 11
TOTAL_HANDLES: 19
已用时间: 0.260(毫秒). 执行号:95505.
[dmdba@localhost script]$
在此,仅简要展示了dmcheck工具的部分功能,尤其是关于会话、表空间和登录的基础使用。实际上dmcheck工具还包含许多其他实用功能和选项,能够协助数据库管理员全面监控和管理达梦数据库的性能及健康状态。
如对这个工具感兴趣,或希望获取更多关于其详细信息和使用方法,请联系作者获取完整的工具包和使用指南。通过深入学习和实践,你将能够充分发挥dmcheck工具的潜力,进一步完善更多功能,从而提升你的数据库管理能力和效率。
往期分享
安装部署
1.分享一个以前搭建主备集群遇到的一个路径乱码案例
2.给大家分享如何标准化部署达梦单机环境
3.DM达梦数据库中大写敏感介绍分享
数据迁移
1.分享工作中数据迁移的实用技巧与方法
2.Oracle迁移DM数据库实践
3.SQLark迁移实践分享(oracle-达梦数据库)
SQL调优
1.DM 传统行业SQL优化案例分享
2.DM数据库SQL优化案例分享
3.如何查询DM 数据库缓存执行计划与清理
4.使用ob_tools包收集分析oceanbase数据库oracle租户缓慢sql语句
5.使用format_obproxy_digest_log工具分析obproxy网络层耗时SQL
6.DM数据库回表优化案例
7.SQL优化案例分享
工具使用与日常处理
1.DataGrip访问国产数据库_datagrip 连接国产数据库
2.如何使用dbeaver连接达梦数据库
3.更新大字段提示-2201无效的对象问题
4.DM7读写分离部署问题总结
5.DM7读写分离集群备库数据不同步问题处理
6.达梦数据库DISQL工具部署及使用技巧
7.达梦数据库日常巡检方法分享
8.如何查询达梦数据库缓存执行计划与清理





