半夜收到报警短信,服务器磁盘空间不足,爬起来检查一番,发现由于索引重建导致,而且该磁盘下仍有自动增长的数据文件,由于该服务器上其他盘符有剩余空间,于是打算将该磁盘下的数据文件限制增长,并新增几个数据文件在其他有空闲空间的磁盘下,于是操作步骤如下:

第一步:检查Alwayson各辅助节点的相同盘符是否同样有磁盘空间(可以使用EXEC master..xp_fixeddrives来查看)

第二步:检查各辅助节点下是否存在对应文件夹,没有的手工创建

第三步:在主节点对数据库上新增数据文件。

三步打完手工,顺便检查了下其他服务器,准备回去梦周公的时候,短信又报警了,Alwasyon数据延迟,而且是在同步模式的辅助节点上延迟,顿时小手一哆嗦,差点把电脑给摔了,立马排查原因,辅助节点磁盘空间充足,对应目录也已创建成功,并且其中一个数据库的新增文件已在辅助节点上创建,但还有一个数据库的新增文件没有创建出来,也是怀疑当前时间索引维护导致大量日志积压从而引起Alwasyon延迟,于是果断关闭主节点上的索引维护,继续使用Alwasyon控制面板观察,发现辅助节点的重做队列大小在逐渐增大,看来关闭索引维护并没啥卵用,继续排查问题。。。

问题的表象是日志重做队列在增大,既然排除主节点“生产”大量日志的情况,那么就是辅助节点“消费”这些日志出现问题,接着排查IO压力,辅助节点IO还算正常,唯一导致IO压力的就一个完整备份作业在执行,完整备份作业,这和日志重做似乎没啥冲突,但是别忘了刚才的操作是新增数据文件,罪魁祸首及时完整备份。由于数据库比较大,完整备份需要花费几十分钟才能完成,为保证完整备份能备份所有数据文件的数据,SQL SERVER会在完整备份期间会阻止对数据库新增文件,而辅助节点上“重做”日志便是对数据库新增文件,于是完整备份“阻塞”日志重做,并给我们一个日志“重做”速率赶不上日志“生成”速率的假象。

总结:在Alwasyon的场景下新增数据文件,不仅要考虑辅助节点上的磁盘空间和对应文件目录的问题,还应该检查一下辅助节点是在运行完整备份,并且在操作结束后,一定要注意检查对应文件是否在辅助节点上创建,并Alwayson的同步状态是否正常。

PS: 如果辅助节点处于异步模式,且在辅助节点上没有对应盘符或文件目录,辅助节点重做"新增文件"这部分日志便会出错,导致对应数据库数据库"挂起",处于未同步状态,此时辅助节点不会再向主节点发送"请求",此时观察日志发送队列大小和日志重做队列大小没有任何意义。

PS2: 如果搭建了日志传送,那么还需要考虑新增文件对日志传送的影响,可能需要手动还原特定日志来指定新增文件的还原路径

--================================================================

大半夜干活不容易,没个妹子提神怎么行

Alwasyon环境下增加数据文件需要注意的几点的更多相关文章

  1. Oracle-11g-R2 RAC 环境下 GPnP Profile 文件

    GPnP Profile 文件的作用: GPnP Profile 文件是一个保存于 $GRID_HOME/gpnp/<hostname>/profiles/peer 目录下的小型 XML ...

  2. 通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全。

    通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全. 1.先下手为强!在规划部署阶段就确定数据的隐私保护策略,最好是在将数据放入到Hadoop之前就确定好保 ...

  3. apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法

    apache环境下禁止某文件夹内运行PHP脚本.禁止访问文件或目录执行权限的设置方法   首先我们来看两段对上传目录设置无权限的列子,配置如下: <Directory "要去掉PHP执 ...

  4. ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件

    转自原文 ORA-01653 无法在表空间扩展的解决办法 -- 增加表空间大小或给表空间增加数据文件 当前系统的数据量越来越大的,昨天还运行正常的数据库,突然无法使用了.经过定位发现是"OR ...

  5. python调用另一个文件中的代码,pycharm环境下:同文件夹下文件(.py)之间的调用,出现红线问题

    如何调用另一个python文件中的代码无论我们选择用何种语言进行程序设计时,都不可能只有一个文件(除了“hello world”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等, ...

  6. Oracle非归档模式下脱机数据文件

    正常情况下,要想对数据文件脱机,必须在归档模式下,这是ORACLE自动保护的一种措施,防止在非归档模式下对数据文件脱机,造成数据丢失.如果想在非归档模式下执行数据文件脱机操作,则需要加上“for dr ...

  7. 在windows环境下运行compass文件出现的错误提示解决方案

    在windows环境下运行compass文件出现的错误提示解决方案 例如:经常在项目中运行grunt命令编译scss文件的时候,会出现下面的错误提示 (Encoding::CompatibilityE ...

  8. ORACLE数据库增加表空间大小或给表空间增加数据文件

    转载 2017年11月24日 11:00:28 ----查询表空间使用情况--- SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GRO ...

  9. UNICODE环境下读写txt文件操作

    内容转载自http://blog.sina.com.cn/s/blog_5d2bad130100t0x9.html UNICODE环境下读写txt文件操作 (2011-07-26 17:40:05) ...

随机推荐

  1. id不连续

    解决办法 Alter TABLE jf_day_pv_classify Drop id; Alter TABLE jf_day_pv_classify ADD id INT NOT NULL PRIM ...

  2. ark是什么

    https://github.com/QuadHex/ARK/releases 0.8.0版本网络使用evpp 调用 https://www.jianshu.com/p/9f09928829ba

  3. Spring Boot REST(一)核心接口

    Spring Boot REST(一)核心接口 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) SpringBoot RE ...

  4. [AI]AI章2 框架比较

    深度学习框架比较 神经网络一般包括:训练,测试两大阶段.训练:就是把训练数据(原料)和神经网络模型:如AlexNet.RNN等“倒进” 神经网络训练框架例如cafffe等然后用 CPU或GPU(真火) ...

  5. 生活类App原型制作分享-AnyList

    AnyList是一款可以帮你创建购物清单,并且帮助你整理食谱的生活工具App,前面引导页采用图片+文字的方式,介绍App的用法,登录注册采用选项卡切换的方式,减少了页面切换的繁琐操作,在Mockplu ...

  6. 利用PHP脚本辅助MySQL数据库管理5-检查异常数据

    <?php $dbi = new DbMysql; $dbi->dbh = 'mysql://root:mysql@127.0.0.1/coffeetest'; $map = array( ...

  7. 哈希与字典树与KMP

    hash讲解 主要记录hash的公式: ; i<=len; i++) { Hash[i]=(Hash[i-]*)%mod)%mod; } 求hash的公式是这个,怎么求一小段的hash值呢? ; ...

  8. lambda表达式和表达式树(深入理解c#)

    1.Lambda形式 1). Lambda表达式最冗长的形式: (显式类型的参数列表)=>{语句} 2). 大多数时候,都可以用一个表达式来表示主体,该表达式的值是Lambda的结果,在这些情况 ...

  9. clion配置c/c++环境

    打开这个界面  点击添加Cygwin选择下载的Cygwin在进行下面的配置 去网站https://www.cygwin.com/选择路径即可(这里只写了配置过程中的关键步骤并且附上IDE的链接直接安装 ...

  10. sql相同项求和

    select (SELECT O2.ORG_NAME           FROM OUTSOURCE_ORG O2          where o2.org_id = oo.parent_id) ...