数据库运维之路——关于tempdb暴增实战案例
转眼间,2021年的第一个季度已经到了最后一个月了,由于疫情原因,最近一段时间一直在北京,基本上没有出差,每天上班下班的日子感觉时间过的好快,新的一年继续努力奋斗啊。
仔细回想一下,自己踏入到sql server的领域也已经三年之久了,从刚开始只会简单的增删该查,到现在2020年自己支持的一百多家客户的日常数据库运维,现在回想一下,还是成长蛮多的(小夸自己一下)
现在想通过博客记录一下我的日常工作状态,回顾下这几年来在数据库遇到的各种各样的问题,给大家分享一下,欢迎各路大神前来指点。废话不多说,接下来直接步入主题,---------我在sql server数据库的各种实战问题。
这个问题我相信大家都遇到过很多次,那就是大家经常谈的tempdb数据库log文件暴增问题,稍不注意,就涨到了几百个G,甚至更大,严重的话还有可能撑爆磁盘,导致业务停止。在日常维护当中,这是个重点关注的问题。
举例:
下面是我在2020国庆前期给客户巡检发现的问题(还好有巡检),tempdb的log文件从9月21日开始增长,截止到9月30日已经从几百兆涨到了500G(想想好可怕),如果国庆前不做这次巡检,怕不是国庆要出大事情哦。

看到这一现象,第一时间怀疑就是数据库中有未提交的事务,导致tempdb的log文件一直暴增,不释放。这里边就有两种情况了,一种是已经休眠的会话(sleeping)带事务,另外就是有一类大的操作用到临时对象、且做了排序之类的操作。带着这两个方向就开始找问题的原因啦。
先看看近期有没有休眠的长时间的会话,点开空闲会话之后,就看到有两条长时间未提交事务的会话,点开第二条,再看看事务开始的时间,当时心里就想,80%就是它了,9月21日凌晨3点开始的事务,是一个人为的查询窗口,



跟客户沟通了之后把这个会话杀掉了,tempdb的log文件立马就掉下来了,通过上面的IP地址找到这台机器,查询窗口还在,确实是有人在里边开启了事务,做的相应的操作,最后也忘记关闭窗,既没有commit也没有roll back。所以才导致了这次tempdb的log文件的暴增

这个案例呢,其实也没有涉及到很复杂的技术,造成这个问题的原因主要有两点,第一点是人为管控,在数据库管理上要有相应的规章制度。第二呢,就是信息管理人员没有每天对自己的数据库做巡检,还有就是这类的暴增问题也是可以设置告警的,也不会等到我们重要节日前的巡检,才发现此类问题。
当然,关于数据库运维中还有遇到很多的真实场景,以后会继续跟大家分享。
--------------博客地址-----------------------------------------------------------------------------
原文地址: https://www.cnblogs.com/xiong-01/
如有转载请保留原文地址!
数据库运维之路——关于tempdb暴增实战案例的更多相关文章
- 数据库实战案例—————记一次TempDB暴增的问题排查
前言 很多时候数据库的TempDB.日志等文件的暴增可能导致磁盘空间被占满,如果日常配置不到位,往往会导致数据库故障,业务被迫中断. 这种文件暴增很难排查,经验不足的一些运维人员可能更是无法排查具体原 ...
- 有赞MySQL自动化运维之路—ZanDB
有赞MySQL自动化运维之路—ZanDB 一.前言 在互联网时代,业务规模常常出现爆发式的增长.快速的实例交付,数据库优化以及备份管理等任务都对DBA产生了更高的要求,单纯的凭借记忆力去管理那几十 ...
- 有赞 MySQL 自动化运维之路 — ZanDB
转自:https://tech.youzan.com/youzan-mysql-auto-ops-road/ 一.前言 在互联网时代,业务规模常常出现爆发式的增长.快速的实例交付,数据库优化以及备份管 ...
- 数栈运维实例:Oracle数据库运维场景下,智能运维如何落地生根?
从马车到汽车是为了提升运输效率,而随着时代的发展,如今我们又希望用自动驾驶把驾驶员从开车这项体力劳动中解放出来,增加运行效率,同时也可减少交通事故发生率,这也是企业对于智能运维的诉求. 从人工运维到自 ...
- Oracle数据库运维优化六脉神剑口诀
我们知道数据库性能是数据库运维中至关重要的一个部分,据传在Oracle数据库的江湖中也有威力无比的六脉神剑技能,下面与大家免费分享Oracle大师们广为流传的六脉神剑口诀,一般人我不告诉他哦:) 少商 ...
- MySQL数据库运维课程
MySQL数据库运维课程 http://www.dataguru.cn/article-4834-1.html?union_site=comm100 课程大纲 第一课:机器选型.系统规划 第二课:安装 ...
- 一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011
一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011 内存扩容 16G->64G ,调大bp后,凌晨说监控物理内存有余量情况下,开吃swap,内存泄露措施1 定时 ...
- MySQL数据库运维的五大指标
如何评价一个公司数据库运维水平的高低?用什么来进行横向与纵向对比?自动化平台建设的目标是什么?必须有相应的指标体系来指导,此指标体系必须满足以下条件: • 可以用数字来测算和衡量 • 最终指标,而不是 ...
- 安全之路:Web渗透技术及实战案例解析(第2版)
安全之路:Web渗透技术及实战案例解析(第2版)
随机推荐
- 使用Rclone将Onedirve挂载到Linux本地
1. centos挂载onedrive时, 需要安装fuse. # 安装fuse yum -y install fuse 2. 安装完fuse后使用rclone进行挂载 #创建挂载目录 mkdir - ...
- Redis集群搭建 三主三从
Redis集群介绍 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存.Redis在3.0版本之前只支持单实例模式 虽然支持主从模式,哨兵模式 ...
- c++ 平衡树
平衡树的性质 它其实就是一个 BST(Binary Search Tree 二叉搜索树). 当然,不同的平衡树会有自己的特性 BST 的性质 只有一个:任意一个节点的左子树的所有节点都比它的优先级高, ...
- 手把手教学~基于element封装tree树状下拉框
在日常项目开发中,树状下拉框的需求还是比较常见的,但是element并没有这种组件以供使用.在这里,小编就基于element如何封装一个树状下拉框做个详细的介绍. 通过这篇文章,你可以了解学习到一个树 ...
- SAP -熟练使用T-Code SHD0
SHD0 业务顾问和开发顾问都非常熟悉的一个T-Code, 如果能合理使用它,可以省去许多增强和程序修改工作. 当我需要时,我在这里找不到任何相关文档,这就是为什么我想借此机会向我们自己的SCN提供内 ...
- SAP Web Dynpro-版本管理
您可以使用版本管理来管理对象的旧版本,比较版本,也可以重置它们. 在版本管理中,您可以存储ABAP开发对象的不同版本. 在ABAP工作台中,您可以比较不同版本的- 视图 视窗 控制器 您也可以存储对象 ...
- Lydon 分解与最小表示法
我们定义一个串是 \(\text{Lyndon}\) 串,当且仅当这个串的最小后缀就是这个串本身. 该命题等价于这个串是它的所有循环表示中字典序最小的. 引理 1:如果 \(u\) 和 \(v\) 都 ...
- Nacos 的安装与服务的注册
Nacos 的安装与服务的注册 我们都知道naocs是一个注册中心,那么注册中心是什么呢? 什么是注册中心? 它类似与一个中介角色(不收费的良心中介), 在微服务中起纽带的作用,它提供了服务和服务地址 ...
- CF1132D Stressful Training
题目链接 题目 见链接. 题解 方法一 知识点:贪心,优先队列,二分. 显然,这道题可以用二分答案做.check 函数可以用小根堆,让维持时间最小的先充电. 但是不优化这道题会炸.有两个关键优化:一个 ...
- Ant Design Vue 走马灯实现单页多张图片轮播
最近的项目有个需求是,这种单页多图一次滚动一张图片的轮播效果,项目组件库是antd 然而用了antd的走马灯是这样子的 我们可以看到官网给的api是没有这种功能,百度上也多是在css上动刀,那样也就毕 ...