论文部分内容阅读
摘?要 本文简述了商务新动力短信平台由于数据库过大出现问题的故障处理方案,及以此引出的数据库日常维护如利用数据库计划任务进行数据库自动备份、自动收缩和删除日志,以及可能发生的数据库迁移制定简单的方案。
关键词 商务新动力短信平台;数据库维护
中图分类号 TN914 文献标识码 A 文章编号 1673-9671-(2012)082-0136-01
随着信息技术的发展,各种网络应用都面临数据库大量增加影响程序性能,所以解决数据量过大对数据库性能的影响变得非常重要,但经过优化的数据库常伴随着原有数据的删除,而旧数据对平台的日常维护关系密切,所以对数据库日常的备份以及还原变得非常重要。为了避免影响到平台内用户短信的正常发送,我们需要为数据库制定相应的计划任务使其能够自动清理日志文件以及压缩数据库,而为了以后维护的需要还需要制定相应的计划任务对数据进行日常的备份,以备今后维护过程中调用旧数据。
1 现象
商务新动力短信平台每日都要发送大量的短信,相关账务、日志信息均储存在数据库内,随着时间增加,当商务新动力短信平台数据库空间占用达到13G以上,日志空间超过5G以上,在数据库自动进行扩充时,会影响数据库操作性能,从而影响到短信的正常发送。
2 分析
首先需要找到占用空间较大的数据表,并分析其重要性以及日常增长情况,以便为下一步进行数据库大小限制以及数据库的备份做准备,如存储发送记录表、预处理计费记录表、计费成功记录表、关联符记录表、预处理计费账户日志表、预处理计费账户表、短信通知记录表等是短信平台的核心记录,这些表的数据增加对整个数据库增加造成直接影响,同时影响比重依大小进行排列。
对于这些表的数据进行合理的维护,将对数据库空间大小进行有效的控制,同时也会对数据库性能有所提升。
3 解决方案
3.1 数据库大小维护
结合3中对数据库表作用和用途的分析,通过各种手段限制平台数据库的大小。
3.1.1 直接设定数据库大小
可以对商务新动力短信平台数据库空间大小进行直接的设定,来满足短信平台短期内数据增长的要求,以后采用数据库维护方式收缩数据库到指定的大小。若数据记录变化较大,可以再进行重新设定。
3.1.2 设定计划任务定期自动对数据库进行收缩操作
通过对数据库中各表的重要性及原有数据库增长的规律,将计划任务设定为每3个月自动收缩一次数据库,经设定后每3个月数据库会自动删除大部分的数据库日志文件,日志信息对日常维护排除故障有一定的帮助,所以设定为每3个月清理一次保证在短期内平台数据库出现故障可以方便的排查出来,对长期维护的意义不大。
3.1.3 定时人工监控
在现有没有完善的系统监控软件的情况下,以人工手段每天对数据库数据文件以及日志文件大小进行监视,当可用数据库文件所在盘符空间过小时,需要对数据库空间进行扩充和维护操作:一方面手动进行数据库收缩清理日志文件;另一方面为短信平台数据库的数据库文件所在盘符通过磁盘工具将其他盘符闲置空间扩充到数据库所在盘符。
3.1.4 取消自动扩充空间
日常平台运营中,数据库自动检索到没有足够空间时,会执行根据原有数据库空间大小基础上按10%自动扩充空间,基数越大,单次增长空间越大。同时数据库引擎会对数据索引进行重新操作,占用大量的系统资源,会对数据库服务器的整体性能产生影响,造成反应缓慢甚至无响应。因此建议取消自动扩充,改为采用人工方式在访问量低的时段进行数据库空间扩充,以最大限度的排除在用户高峰期进行自动空间扩展从而影响系统性能。
3.1.5 人工数据库扩充
人工扩充空间设置在当日0:3。
扩充条件,检测到空间达到扩充条件(参见3.1.3监控内容),或者估计一天以后将有可能达到需要扩充的条件。
首先检测是否有大数据量短信发送,如果没有发现数据库内有大量活动数据,则可以进行数据库空间的扩充操作,修改数据库数据文件以及日志文件大小;如果发现有大量短信发送数据,可将时间进行适当推迟,可把握在0:30-6:30之间。
3.1.6 数据的手工删除
由于短信平台每个月的6日进行出账,所以在每月6日,完成出账操作以后,将对上一个月的数据进行备份,之后将原数据库以往的数据记录进行删除,操作时间为凌晨2:00。
删除条件为操作日志在上个月的1日0:00到本月1日0:00前的记录。
删除数据后,可以对数据库进行收缩操作,收缩后将会节省出很大的数据库空间,同时再执行一次数据库大小维护以保证数据库良好运行。
3.2 日常维护
由于现有服务器磁盘空间有限,会经常删除旧数据以保证短信平台数据库的正常运行,而就数据对于日常维护和排除故障有很重要的作用,所以需要定期对数据进行备份。
3.2.1 手工备份
手工备份主要发生在人工压缩数据库和删除人工删除旧数据之前,在每次数据库人工清理操作前先对数据库进行一次完整备份,尽量将备份文件放置在其他服务器或存储设备,以保证数据的安全。
3.2.2 设定计划任务
设定计划任务每天晚上0:00对数据库进行自动的增量备份,备份的目的设备应为其他的服务器的磁盘或存储设备(主要是磁盘阵列)
3.2.3 数据库还原
数据库还原发生在两种情况下,第一种是短信平台数据库损坏时需要以最新的数据库备份文件尽心恢复;第二种是日常排查故障或查询以往记录时,将数据库还原到操作人员本地的设备上进行查询操作。
4 数据库迁移
此方案只适用于数据库所在硬盘甚至服务器不能满足于数据库增长要求时。
1)确定数据库迁移时间,制定割接计划。并提前通知所有有相互接口的平台或系统,在指定时间内将无法短信发送操作。
2)在迁移时间到来时,首先停止短信服务。
3)分离数据库文件。
4)将数据库文件迁移到其他的硬盘或安装有sqlserver数据库引擎的服务器。
5)将分离出的数据库文件附加到数据库。
6)进行相关的程序配置。
7)启动短信服务,进行短信发送测试并生成测试报告。
8)通知所有接口客户短信运行情况并进行联合测试。
9)生成割接报告。
5 结束语
随着数据量的不断增加很多平台都可能会遇到数据库存储空间不足的情况,考虑到了旧数据的安全便于今后维护和查询,同时利用手工和自动计划任务交叉进行,更好的保证数据的准确性。按照以上方案可以暂时的解决数据库存储空间不足的难题,且一般的维护人员都可以完成操作。
6 意义
有很多比较旧的平台数据量越来越大,而平台的投入并没有跟上,提供更大空间的服务器或者存储设备可能需要较长的一段时间,在这段时间里使用这里介绍到的一些简单操作就可以使平台能够正常运行,直到新设备到位后再按照割接计划进行割接,在实际维护工作中具有实际的可操作性和意义。
作者简介
魏琳(1980—),男,汉族,天津静海人,现任中国铁通集团有限公司河北分公司市场营销部主管。
关键词 商务新动力短信平台;数据库维护
中图分类号 TN914 文献标识码 A 文章编号 1673-9671-(2012)082-0136-01
随着信息技术的发展,各种网络应用都面临数据库大量增加影响程序性能,所以解决数据量过大对数据库性能的影响变得非常重要,但经过优化的数据库常伴随着原有数据的删除,而旧数据对平台的日常维护关系密切,所以对数据库日常的备份以及还原变得非常重要。为了避免影响到平台内用户短信的正常发送,我们需要为数据库制定相应的计划任务使其能够自动清理日志文件以及压缩数据库,而为了以后维护的需要还需要制定相应的计划任务对数据进行日常的备份,以备今后维护过程中调用旧数据。
1 现象
商务新动力短信平台每日都要发送大量的短信,相关账务、日志信息均储存在数据库内,随着时间增加,当商务新动力短信平台数据库空间占用达到13G以上,日志空间超过5G以上,在数据库自动进行扩充时,会影响数据库操作性能,从而影响到短信的正常发送。
2 分析
首先需要找到占用空间较大的数据表,并分析其重要性以及日常增长情况,以便为下一步进行数据库大小限制以及数据库的备份做准备,如存储发送记录表、预处理计费记录表、计费成功记录表、关联符记录表、预处理计费账户日志表、预处理计费账户表、短信通知记录表等是短信平台的核心记录,这些表的数据增加对整个数据库增加造成直接影响,同时影响比重依大小进行排列。
对于这些表的数据进行合理的维护,将对数据库空间大小进行有效的控制,同时也会对数据库性能有所提升。
3 解决方案
3.1 数据库大小维护
结合3中对数据库表作用和用途的分析,通过各种手段限制平台数据库的大小。
3.1.1 直接设定数据库大小
可以对商务新动力短信平台数据库空间大小进行直接的设定,来满足短信平台短期内数据增长的要求,以后采用数据库维护方式收缩数据库到指定的大小。若数据记录变化较大,可以再进行重新设定。
3.1.2 设定计划任务定期自动对数据库进行收缩操作
通过对数据库中各表的重要性及原有数据库增长的规律,将计划任务设定为每3个月自动收缩一次数据库,经设定后每3个月数据库会自动删除大部分的数据库日志文件,日志信息对日常维护排除故障有一定的帮助,所以设定为每3个月清理一次保证在短期内平台数据库出现故障可以方便的排查出来,对长期维护的意义不大。
3.1.3 定时人工监控
在现有没有完善的系统监控软件的情况下,以人工手段每天对数据库数据文件以及日志文件大小进行监视,当可用数据库文件所在盘符空间过小时,需要对数据库空间进行扩充和维护操作:一方面手动进行数据库收缩清理日志文件;另一方面为短信平台数据库的数据库文件所在盘符通过磁盘工具将其他盘符闲置空间扩充到数据库所在盘符。
3.1.4 取消自动扩充空间
日常平台运营中,数据库自动检索到没有足够空间时,会执行根据原有数据库空间大小基础上按10%自动扩充空间,基数越大,单次增长空间越大。同时数据库引擎会对数据索引进行重新操作,占用大量的系统资源,会对数据库服务器的整体性能产生影响,造成反应缓慢甚至无响应。因此建议取消自动扩充,改为采用人工方式在访问量低的时段进行数据库空间扩充,以最大限度的排除在用户高峰期进行自动空间扩展从而影响系统性能。
3.1.5 人工数据库扩充
人工扩充空间设置在当日0:3。
扩充条件,检测到空间达到扩充条件(参见3.1.3监控内容),或者估计一天以后将有可能达到需要扩充的条件。
首先检测是否有大数据量短信发送,如果没有发现数据库内有大量活动数据,则可以进行数据库空间的扩充操作,修改数据库数据文件以及日志文件大小;如果发现有大量短信发送数据,可将时间进行适当推迟,可把握在0:30-6:30之间。
3.1.6 数据的手工删除
由于短信平台每个月的6日进行出账,所以在每月6日,完成出账操作以后,将对上一个月的数据进行备份,之后将原数据库以往的数据记录进行删除,操作时间为凌晨2:00。
删除条件为操作日志在上个月的1日0:00到本月1日0:00前的记录。
删除数据后,可以对数据库进行收缩操作,收缩后将会节省出很大的数据库空间,同时再执行一次数据库大小维护以保证数据库良好运行。
3.2 日常维护
由于现有服务器磁盘空间有限,会经常删除旧数据以保证短信平台数据库的正常运行,而就数据对于日常维护和排除故障有很重要的作用,所以需要定期对数据进行备份。
3.2.1 手工备份
手工备份主要发生在人工压缩数据库和删除人工删除旧数据之前,在每次数据库人工清理操作前先对数据库进行一次完整备份,尽量将备份文件放置在其他服务器或存储设备,以保证数据的安全。
3.2.2 设定计划任务
设定计划任务每天晚上0:00对数据库进行自动的增量备份,备份的目的设备应为其他的服务器的磁盘或存储设备(主要是磁盘阵列)
3.2.3 数据库还原
数据库还原发生在两种情况下,第一种是短信平台数据库损坏时需要以最新的数据库备份文件尽心恢复;第二种是日常排查故障或查询以往记录时,将数据库还原到操作人员本地的设备上进行查询操作。
4 数据库迁移
此方案只适用于数据库所在硬盘甚至服务器不能满足于数据库增长要求时。
1)确定数据库迁移时间,制定割接计划。并提前通知所有有相互接口的平台或系统,在指定时间内将无法短信发送操作。
2)在迁移时间到来时,首先停止短信服务。
3)分离数据库文件。
4)将数据库文件迁移到其他的硬盘或安装有sqlserver数据库引擎的服务器。
5)将分离出的数据库文件附加到数据库。
6)进行相关的程序配置。
7)启动短信服务,进行短信发送测试并生成测试报告。
8)通知所有接口客户短信运行情况并进行联合测试。
9)生成割接报告。
5 结束语
随着数据量的不断增加很多平台都可能会遇到数据库存储空间不足的情况,考虑到了旧数据的安全便于今后维护和查询,同时利用手工和自动计划任务交叉进行,更好的保证数据的准确性。按照以上方案可以暂时的解决数据库存储空间不足的难题,且一般的维护人员都可以完成操作。
6 意义
有很多比较旧的平台数据量越来越大,而平台的投入并没有跟上,提供更大空间的服务器或者存储设备可能需要较长的一段时间,在这段时间里使用这里介绍到的一些简单操作就可以使平台能够正常运行,直到新设备到位后再按照割接计划进行割接,在实际维护工作中具有实际的可操作性和意义。
作者简介
魏琳(1980—),男,汉族,天津静海人,现任中国铁通集团有限公司河北分公司市场营销部主管。