Alwasyon环境下增加数据文件需要注意的几点
半夜收到报警短信,服务器磁盘空间不足,爬起来检查一番,发现由于索引重建导致,而且该磁盘下仍有自动增长的数据文件,由于该服务器上其他盘符有剩余空间,于是打算将该磁盘下的数据文件限制增长,并新增几个数据文件在其他有空闲空间的磁盘下,于是操作步骤如下:
第一步:检查Alwayson各辅助节点的相同盘符是否同样有磁盘空间(可以使用EXEC master..xp_fixeddrives来查看)
第二步:检查各辅助节点下是否存在对应文件夹,没有的手工创建
第三步:在主节点对数据库上新增数据文件。
三步打完手工,顺便检查了下其他服务器,准备回去梦周公的时候,短信又报警了,Alwasyon数据延迟,而且是在同步模式的辅助节点上延迟,顿时小手一哆嗦,差点把电脑给摔了,立马排查原因,辅助节点磁盘空间充足,对应目录也已创建成功,并且其中一个数据库的新增文件已在辅助节点上创建,但还有一个数据库的新增文件没有创建出来,也是怀疑当前时间索引维护导致大量日志积压从而引起Alwasyon延迟,于是果断关闭主节点上的索引维护,继续使用Alwasyon控制面板观察,发现辅助节点的重做队列大小在逐渐增大,看来关闭索引维护并没啥卵用,继续排查问题。。。
问题的表象是日志重做队列在增大,既然排除主节点“生产”大量日志的情况,那么就是辅助节点“消费”这些日志出现问题,接着排查IO压力,辅助节点IO还算正常,唯一导致IO压力的就一个完整备份作业在执行,完整备份作业,这和日志重做似乎没啥冲突,但是别忘了刚才的操作是新增数据文件,罪魁祸首及时完整备份。由于数据库比较大,完整备份需要花费几十分钟才能完成,为保证完整备份能备份所有数据文件的数据,SQL SERVER会在完整备份期间会阻止对数据库新增文件,而辅助节点上“重做”日志便是对数据库新增文件,于是完整备份“阻塞”日志重做,并给我们一个日志“重做”速率赶不上日志“生成”速率的假象。
总结:在Alwasyon的场景下新增数据文件,不仅要考虑辅助节点上的磁盘空间和对应文件目录的问题,还应该检查一下辅助节点是在运行完整备份,并且在操作结束后,一定要注意检查对应文件是否在辅助节点上创建,并Alwayson的同步状态是否正常。
PS: 如果辅助节点处于异步模式,且在辅助节点上没有对应盘符或文件目录,辅助节点重做"新增文件"这部分日志便会出错,导致对应数据库数据库"挂起",处于未同步状态,此时辅助节点不会再向主节点发送"请求",此时观察日志发送队列大小和日志重做队列大小没有任何意义。
PS2: 如果搭建了日志传送,那么还需要考虑新增文件对日志传送的影响,可能需要手动还原特定日志来指定新增文件的还原路径
--================================================================
大半夜干活不容易,没个妹子提神怎么行

Alwasyon环境下增加数据文件需要注意的几点的更多相关文章
- Oracle-11g-R2 RAC 环境下 GPnP Profile 文件
GPnP Profile 文件的作用: GPnP Profile 文件是一个保存于 $GRID_HOME/gpnp/<hostname>/profiles/peer 目录下的小型 XML ...
- 通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全。
通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全. 1.先下手为强!在规划部署阶段就确定数据的隐私保护策略,最好是在将数据放入到Hadoop之前就确定好保 ...
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法 首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...
- ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件
转自原文 ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件 当前系统的数据量越来越大的,昨天还运行正常的数据库,突然无法使用了.经过定位发现是"OR ...
- python调用另一个文件中的代码,pycharm环境下:同文件夹下文件(.py)之间的调用,出现红线问题
如何调用另一个python文件中的代码无论我们选择用何种语言进行程序设计时,都不可能只有一个文件(除了“hello world”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等, ...
- Oracle非归档模式下脱机数据文件
正常情况下,要想对数据文件脱机,必须在归档模式下,这是ORACLE自动保护的一种措施,防止在非归档模式下对数据文件脱机,造成数据丢失.如果想在非归档模式下执行数据文件脱机操作,则需要加上“for dr ...
- 在windows环境下运行compass文件出现的错误提示解决方案
在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...
- ORACLE数据库增加表空间大小或给表空间增加数据文件
转载 2017年11月24日 11:00:28 ----查询表空间使用情况--- SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GRO ...
- UNICODE环境下读写txt文件操作
内容转载自http://blog.sina.com.cn/s/blog_5d2bad130100t0x9.html UNICODE环境下读写txt文件操作 (2011-07-26 17:40:05) ...
随机推荐
- mysql错误日志
cat /etc/my.cnf
- Linux 开启定时计划任务
1.crontab 编辑“crontab -e # m h dom mon dow command30 18 * * * lynx -dump http://admin.koala.xxx 30 18 ...
- file-downloader相关问题
2017-05-24 file-downloader框架中,如果你想用FileDownloader中的createAndStart(String url, String saveDir, String ...
- JavaScript调用wcf服务,并且处理返回的字典集合
1.第一步创建wcf服务的方法 using System;using System.Collections.Generic;using System.Linq;using System.Runtime ...
- IOS初级:app的启动图像
1,准备若干张适合不同设备满屏幕的图像 这里补充说明一下图像的命名方法: iphone4屏幕 Default@2x.png iphone5屏幕 Default-568h@2x.png (568*2即 ...
- Notepad++ tab替换为4个空格
- 【转】先说IEnumerable,我们每天用的foreach你真的懂它吗?
[转]先说IEnumerable,我们每天用的foreach你真的懂它吗? 我们先思考几个问题: 为什么在foreach中不能修改item的值? 要实现foreach需要满足什么条件? 为什么Linq ...
- 【Web】CSS实现绝对定位元素水平垂直居中
网页中常常需用让绝对定位元素水平垂直居中,下面介绍2种方法: 一 元素宽度未知 <!DOCTYPE html> <html lang="en"> <h ...
- C++ cout
cout.flush() cout.put() 输出一个字符 char* p = "hello"; cout.write(p,sttrlen(q)-3) 输出字符串,能够选定长度. ...
- c# 抽象类和抽象方法
参考:http://www.runoob.com/csharp/csharp-polymorphism.html https://zhidao.baidu.com/question/587686949 ...