故障012:定时备份作业-6007悬案

DM技术交流QQ群:940124259

1. 问题描述

诡异的现象总是伴随着隐藏的功能被打开,可能耽误你很长时间找原因,可费劲!!
本案例发生很久,题材准备已久,迟迟未准备文字描述,今天专门整理成文,同大家分享曲折的过程。
本次产生的问题是定时备份作业总是执行失败,备份路径下只存在空内容的备份集文件夹名,翻看dm_BAKRES_年月.log日志,错误代码-6007(网络通讯异常),当时挠头想本机发起定时备份,网络流量未流出本网卡,不存在中间网络安全设备的拦截,那么调转焦点到本机,排除本地各种安全软件的可能性,哔哩啪啦,回到数据库本身。
在这里插入图片描述


2. 解决过程

2.1 大胆推想

既然定时备份作业徘徊在30分钟执行失败,换个思路,手工执行一次备份或手工调度一次备份任务,效果如何?
实验的结论:手工执行备份和手工调度备份任务,均正常(截图忘了,省略)。暂时陷入死胡同,解决思路再换一下,去日志找线索。

-- 手工执行一次备份
backup database full backupset '/dmdata/dmbak/FSFULL202306'

-- 手工调度备份任务
select * from sysjob.sysjobsteps;
call sp_dbms_job_run(jobid);

2.2 找规律

万事万物皆有规律,没找到规律,一般是认知有限,不能发现规律。

从备份日志入手找共性,发现近几次的备份失败出奇的一致,执行半小时左右,程序则中断。
在这里插入图片描述
在这里插入图片描述

2.3 尝试换掉AP

得了,先换掉AP辅助插件,利用dmserver本身机制来实现联想备份。

call sp_set_para_value(2, 'BAK_USE_AP, 2);
/opt/dmdbms/bin/DmServiceDB1 restart

-- 修改下作业调度,再观察备份作业触发,执行半小时也是失败的。

2.4 检查资源限制

结论越来越清晰,只有定时调度备份作业才会失败。该检查下各账户的资源限制情况。

-- 查询用户资源限制项(CPU、内存、读取页数)
SELECT
        B.NAME AS "用户名",
        A.CPU_PER_CALL AS "用户的一个请求能够使用的 CPU 时间上限(秒)",
        A.CPU_PER_SESSION AS "一个会话允许使用的 CPU 时间上限(秒)",
        A.MEM_SPACE AS "会话占有的私有内存空间上限(MB)",
        A.READ_PER_CALL AS "每个请求能够读取的数据页数",
        A.READ_PER_SESSION AS "一个会话能够读取的总数据页数上限",
        A.INFO1 AS "一个会话连接、访问和操作数据库服务器的时间上限(10分钟)"
FROM
        SYSRESOURCES A,
        SYSOBJECTS B
WHERE
        B.TYPE$   ='UR'
    AND B.SUBTYPE$='USER'
    AND B.ID      = A.ID;
    
 ALTER USER SYSDBA 
  LIMIT CONNECT_TIME UNLIMITED
;    

在这里插入图片描述

好家伙,SYSDBA账户被设置30分钟的资源访问限制。ok,那我们修改下资源配置,放开它。

在这里插入图片描述

2.5 资源放宽SYSDBA

alter user sysdba limit connect_time unlimited;

在这里插入图片描述
在这里插入图片描述

du -hd1 --time /dmdata/dmbak | sort -t$‘\t’ -k2

在这里插入图片描述


3. 精神感悟

这坑爹的备份故障,花了一周的晚上空闲时间排查,本来云环境的存储IO很拉胯,每天顶多测试两次备份,持续到周末晚上十一点,总算找到原因。
然而资源访问限制SYSDBA账户,无辜躺着中枪,根本不会第一时间联想过来。估摸着,某些人手欠,可能是使用管理工具时不小心点到(这种可能30%),
另一种可能是在学习达梦,不了解参数含义,试着修改,没有明显出错,没人在乎,还有一种可能等保测评改了没改回去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值