暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DM日常巡检分享

55

 

随着春节的脚步日益临近,喜庆的氛围逐渐浓厚,前两天刚好有许多小伙伴想学习日常简单巡检技能的念头。为了让大家能够更好地掌握这项实用技能,特意整理了一些关日常使用的常用命令与重要关注项同时需要做好相关监控哦,及时检查处理节假日期间快乐玩耍。

操作系统资源检查

检查磁盘空间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) /10242) "USED" ,
       CASEWHEN H.TOTAL_MAX_SPACE ==0THEN ROUND(F.FREE_SPACE /10242ELSE ROUND((H.TOTAL_MAX_SPACE -(T.TOTAL_SPACE - F.FREE_SPACE)) /10242END "FREE_MAX" ,
       CASEWHEN H.TOTAL_MAX_SPACE ==0THEN ROUND(T.TOTAL_SPACE /10242ELSE ROUND(H.TOTAL_MAX_SPACE /10242END "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 /10242) "FREE" ,
       ROUND(T.TOTAL_SPACE /10242) "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连接达梦数据库

 


文章转载自国产数据库学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论