随着春节的脚步日益临近,喜庆的氛围逐渐浓厚,前两天刚好有许多小伙伴想学习日常简单巡检技能的念头。为了让大家能够更好地掌握这项实用技能,特意整理了一些关日常使用的常用命令与重要关注项同时需要做好相关监控哦,及时检查处理节假日期间快乐玩耍。
操作系统资源检查
检查磁盘空间df -h
使用率超过80%需重点关注并扩容
[dmdba@localhost log]$ df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 31G 0 31G 0% dev
tmpfs 31G 0 31G 0% dev/shm
tmpfs 31G 18M 31G 1% run
tmpfs 31G 0 31G 0% sys/fs/cgroup
/dev/sda2 92G 18G 74G 20%
tmpfs 31G 88K 31G 1% tmp
/dev/sdb 500G 332G 169G 67% dmdata
tmpfs 6.2G 0 6.2G 0% run/user/0
tmpfs 6.2G 0 6.2G 0% run/user/992
[dmdba@localhost log]$
内存使用率 free -g或-m
[dmdba@localhost log]$ free -g
total used free shared buff/cache available
Mem: 61 1 55 0 4 54
Swap: 7 0 7
[dmdba@localhost log]$
查看top
像下图使用情况资源非常空闲,使用率超过80%以上居高不下需要注意及时处理
查表空间使用率
SELECT
F.TABLESPACE_NAME ,
ROUND((T.TOTAL_SPACE - F.FREE_SPACE) /1024, 2) "USED" ,
CASEWHEN H.TOTAL_MAX_SPACE ==0THEN ROUND(F.FREE_SPACE /1024, 2) ELSE ROUND((H.TOTAL_MAX_SPACE -(T.TOTAL_SPACE - F.FREE_SPACE)) /1024, 2) END "FREE_MAX" ,
CASEWHEN H.TOTAL_MAX_SPACE ==0THEN ROUND(T.TOTAL_SPACE /1024, 2) ELSE ROUND(H.TOTAL_MAX_SPACE /1024, 2) END "TOTAL_MAX" ,
CASEWHEN H.TOTAL_MAX_SPACE ==0THEN ROUND((F.FREE_SPACE/1024)/(T.TOTAL_SPACE /1024), 4)*100||'%'ELSE ROUND(((H.TOTAL_MAX_SPACE-(T.TOTAL_SPACE - F.FREE_SPACE))/1024)/(H.TOTAL_MAX_SPACE /1024), 4)*100||'%'END PER_FREE_MAX,
CASEWHEN H.TOTAL_MAX_SPACE ==0THEN ROUND((((T.TOTAL_SPACE - F.FREE_SPACE))/1024)/(T.TOTAL_SPACE /1024), 4)*100||'%'ELSE ROUND((((T.TOTAL_SPACE - F.FREE_SPACE))/1024)/(H.TOTAL_MAX_SPACE /1024), 4)*100||'%'END PER_USED_MAX ,
ROUND(F.FREE_SPACE /1024, 2) "FREE" ,
ROUND(T.TOTAL_SPACE /1024, 2) "TOTAL",
CASEWHEN T.TOTAL_SPACE ==0THEN''ELSE (ROUND((F.FREE_SPACE / T.TOTAL_SPACE), 4)*100) ||'% 'END PER_FREE,
CASEWHEN T.TOTAL_SPACE ==0THEN''ELSE (ROUND((T.TOTAL_SPACE - F.FREE_SPACE) / T.TOTAL_SPACE, 4) *100)||'%'END PER_USED
FROM ( SELECT TABLESPACE_NAME,
ROUND(SUM(BLOCKS * ( SELECT PARA_VALUE /1024
FROM V$DM_INI
WHERE PARA_NAME ='GLOBAL_PAGE_SIZE' ) /1024)) FREE_SPACE
FROM DBA_FREE_SPACE
GROUPBY TABLESPACE_NAME ) F, ( SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES /1048576)) TOTAL_SPACE
FROM DBA_DATA_FILES
GROUPBY TABLESPACE_NAME ) T, ( SELECT TABLESPACE_NAME,
ROUND(SUM(MAXBYTES /1048576)) TOTAL_MAX_SPACE
FROM DBA_DATA_FILES
GROUPBY TABLESPACE_NAME ) H
WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME AND F.TABLESPACE_NAME = H.TABLESPACE_NAME
查询结果如下,如表空间使用率超过上限需及时扩容:

检查定时作业历史记录是否异常
select * from sysjob.SYSJOBHISTORIES2 ORDER by START_TIME desc;
查询结果如下,有异常结果时候需要及时处理,我的这里是一个异常的任务所以执行失败了

检查集群同步是否正常
使用dmmonitor检查,如下下图这个图就是有异常的需要及时处理dmmonitor path=/dmdbms/dm8_13157/bin/dmmonitorDM_O_Y.ini_0
备份检查
检查定时备份是否正常生成,到指定的备份目录查看备份文件。
示例:
全量备默认文件名的格式为:DM_实例名_FULL_时间戳
增量备份文件名的格式为格式:DM_实例名_INCREMENT_时间戳
数据库与守护日志检查
检查数据库实例的日志与守护进程的日志,通常日志位于$DM_HOME/log目录,日志按月生成。切换到dmdba用户下用可以cat ~/.bash_profile
查看DM_HOME信息。
[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
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
[dmdba@localhost ~]$
数据库实例的日志文件名格式:dm_实例名_年月.log
守护进程的日志文件名格式:dm_dmwatcher_实例名_年月.log
重点排查日志中ERROR和FATAL级信息,告警也需要排查是否影响。
如下示例:
cat dm_DEM_202501.log |grep ERROR
grep -E "ERROR|WAR|FATAL" dm_DEM_202501.log
[dmdba@localhost log]$ grep -E "ERROR|WAR|FATAL" dm_DEM_202501.log
2025-01-02 08:53:04.522 [WARNING] database P0000295115 T0000000000000295172 file dm.key not found, use default license!
2025-01-02 10:03:05.012 [FATAL] database P0000295115 T0000000000000295115 sigterm_handler receive signal 15
2025-01-02 10:35:38.796 [WARNING] database P0000001686 T0000000000000001686 fail to load libgssapi_krb5.so, libgssapi_krb5.so: cannot open shared object file: No such file or directory
2025-01-02 12:26:19.204 [WARNING] database P0000001686 T0000000000000004994 rlog4_write_to_file rlog_pkg[7872096] min_lsn:75917322, max_lsn:76005761, pkg_len:67047424, used time:4452ms
2025-01-02 12:26:21.837 [WARNING] database P0000001686 T0000000000000004994 rlog4_write_to_file rlog_pkg[7872097] min_lsn:76005762, max_lsn:76092910, pkg_len:66547712, used time:2566ms
2025-01-02 12:26:27.243 [WARNING] database P0000001686 T0000000000000004994 rlog4_write_to_file rlog_pkg[7872099] min_lsn:76102006, max_lsn:76180415, pkg_len:66600960, used time:5156ms
2025-01-03 10:35:42.006 [WARNING] database P0000001686 T0000000000000006095 file dm.key not found, use default license!
2025-01-04 10:35:42.439 [WARNING] database P0000001686 T0000000000000006094 file dm.key not found, use default license!
2025-01-05 10:35:42.872 [WARNING] database P0000001686 T0000000000000006080 file dm.key not found, use default license!
2025-01-06 10:35:42.795 [WARNING] database P0000001686 T0000000000000006082 file dm.key not found, use default license
结语
希望以上内容能助大家一臂之力,需要更详细可以咨询笔者,欢迎随时交流探讨,感谢您的关注和支持
往期分享
1.安装部署
分享一个以前搭建主备集群遇到的一个路径乱码案例
给大家分享如何标准化部署达梦单机环境
DM达梦数据库中大写敏感介绍分享
2.数据迁移
分享工作中数据迁移的实用技巧与方法
Oracle迁移DM数据库实践
SQLark迁移实践分享(oracle-达梦数据库)
3.SQL调优
DM 传统行业SQL优化案例分享
DM数据库SQL优化案例分享
如何查询DM 数据库缓存执行计划与清理
使用ob_tools包收集分析oceanbase数据库oracle租户缓慢sql语句
4.工具使用
DataGrip访问国产数据库_datagrip 连接国产数据库
如何使用dbeaver连接达梦数据库





