Session引起的备份失效处理

简介:

上周月底检测各个系统运行状态的时候突然发现,文件服务器上缺少了几天ERP系统的备份数据,ERP系统数据备份是日常工作中非常重要的一项,所以对这个问题进行了分析和处理,在此过程中学到一些新的知识,留此文以备以后查阅。

一、故障现象

9.1日检查文件服务器异机备份情况发现,ERP系统备份数据只有8.24日前的数据(下图),其后一周的备份数据均消失,由于ERP系统是重要的业务数据,所以立马动手检查。

image

二、故障分析

先来说说我们的备份方式, 首先我们在文件服务器上(下称File)上建立网络共享提供备份空间,其次在ERP上建立定期批处理任务进行备份,备份脚本首先使用net use建立File到本地的磁盘映射,然后执行SQL备份语句备份ERP系统的业务数据到本地,最后脚本使用XCOPY将ERP的业务数据复制到映射磁盘中。

鉴于此故障点可能出现在:A.文件服务器 B.ERP服务器 C.备份脚本

A.近期没有对File上的共享进行过调整,另外两个备份目录数据备份和上传均正常,为全公司提供集中共享的目录也运行正常,最后检查了ERP备份目录的NTFS权限/共享权限,均无异常,所以排除了文件服务器的原因

B.在此备份过程中,ERP服务器主要完成定期任务的执行。登录ERP系统检查了计划和任务列表,发现设定的备份任务在故障期间均有运行,所以排除了计划任务失败的原因。

C.备份脚本本身已经固化,从部署之初就没有进行过调整,检查脚本后也未发现任何异常。

感觉毫无头绪的时候,突然想到备份脚本设置了日志来记录脚本的运行状态,于是打开8.24日的备份脚本运行日志,发现如下错误:

image

分析脚本日志后发现,脚本中的SQL备份语句运行正常,只是在备份成功后上传至File失败,而且是在8.24日的第二次备份时上传失败。

由此分析故障可能出现在脚本建立磁盘映射的net use或者上传的XCOPY阶段,尝试在ERP端使用net use z: \\ip\sharename 建立磁盘映射,这时系统提示“已达到计算机的连接数最大值,无法再同此远程计算机连接” ,无法建立磁盘映射那么后续的上传将无法执行。

image

三、故障处理

摆渡后得知,出现此项错误提示很有可能和Session有关,所以分别在File和ERP端运行 net session /list查看当前的session情况,发现ERP端会话数量为空,File端存在大量无效的session.同时检查File端备份目录发现同时允许共享用户数量设置为100,找到问题的原因就好处理了。

1.可以加大FILE端备份目录允许的共享用户数量

2.可以在File端执行net session /del 清楚所有会话数连接即可

四、结论

其实服务器端操作系统的共享session是很大的,只是由于当时设置共享的时候没有考虑周全,所以设置的量较小,当脚本运行了一段时间过后现有的session数量达到了File端的限制值,新的session就无法创建了;其次,由于Session在建立过后,如果建立端的双方不关闭连接,那么会话会一直存在。从此次File上的session list上可以看到,ERP和File之间建立了大量的session,并且长时间存在,最长的session 闲置时间达到了 16D 01H 18M;最后,综合以上因素,首先加大File备份目录的“同时允许共享的用户数”,其次在File端建立如下批处理定期清理过期和无效的session。

image


image

本文转自OnMyWay博客51CTO博客,原文链接http://blog.51cto.com/active/980943如需转载请自行联系原作者

yab109


相关文章
|
1月前
|
存储 运维 数据库
如何定期清理数据库中的无效数据?
学习如何定期清理数据库中的无效数据,以提高数据库性能并节省存储空间。了解如何利用NineData的数据归档功能实现自动化数据清理,简化DBA工作,降低成本,提高数据库操作效率。通过定期执行归档任务,企业可以优化数据库空间管理,避免无效数据堆积引发的性能问题,实现降本增效。
23 0
|
1月前
|
数据库
ash 数据库刷新时间
ash 数据库刷新时间
11 0
|
消息中间件 存储 canal
到底是先更新数据库还是先更新缓存?
很多小伙伴最近都在问我,在系统中引入缓存后,当向数据库中写入数据时,是先写数据库还是先写缓存呢?先写数据库和先写缓存有什么区别吗?今天,我们就一起来聊聊这个话题。
209 0
到底是先更新数据库还是先更新缓存?
|
Web App开发
PAC文件失效?
PAC文件失效怎么办? 方法1: PAC->编辑本地pac.txt文件,将以下网址内容复制到pac.txtwhitelist.pac 方法2: PAC->从GFWList更新本地PAC 嗯...更推荐方法1哟... 代理自动配置 英语:Proxy auto-config,简称PAC,是一种网页浏览器技术。
2770 0
|
NoSQL Linux 数据库
探索Redis设计与实现9:数据库redisDb与键过期删除策略
Redis源码阅读笔记--数据库redisDb 2017年03月04日 00:29:26阅读数:701 一. 数据库 Redis的数据库使用字典作为底层实现,数据库的增、删、查、改都是构建在字典的操作之上的。