热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

存储空间容量优化

在某电力用户营销系统数据库运维的过程中,常常遇到这样的问题,系统运行一段时间之后,基础数据平台数据库存储增速很快,导致营销基础存储已无多余的存储,而存储已经无法扩容,如果不做相应的

存储空间不足?一个严重但普遍存在的问题

在某电力用户营销系统数据库运维的过程中,常常遇到这样的问题,系统运行一段时间之后,基础数据平台数据库存储增速很快,导致营销基础存储已无多余的存储,而存储已经无法扩容,如果不做相应的处理,极有可能由于表空间不足造成业务停运!

问题发生的原因

1、大量的可清理数据

营销基础数据平台数据库存储增速过快,部分表及索引已经超过1T,而大量数据都是从营销相关的系统抽取过来的,经过清理分析后部分数据已经无任何存在的价值。完全可以清理掉。

2、表空间可用率低

一方面大部分营销基础数据平台表空间可用率都低于10%,甚至不足1%;另一方面部分表空间空间使用率不足1%,完全是空闲的表空间,浪费比较多空间,完全可以回收。

3、表碎片严重

部分表的碎片非常严重,例如:某张结果表在etl过程中频繁的被dml语句操作,可能导致整个表的碎片激增,占用的空间放大到10倍以上。

肿么办——多种方式并用,分析+优化

案例:实战中是这样处理的

招数1 数据分析及历史数据清理

运维工程师和系统应用人员对大表的数据讨论、分析和总结,保留了原有表结构,清理2013年以前的数据(约50G)。对2013年前的表分区进行trunc,以达到空间释放的效果。经过清理,部分巨大的表空间使用率大幅度下降,使用率由95%以上下降到了60%以下。大部分1T以上表清理后仅仅剩余不到500G。

招数2 表空间使用情况分析与回收

经过数据清理之后,部分表空间可用率得到显著上升,但仍然存在部分小的表空间可用率比较低,需要扩容,但是ASM磁盘空间并没有回收,空间剩余不足800G,非常紧张。因此resize使用率低于20%的数据文件,回收 ASM磁盘空间。回收完成后,ASM磁盘剩余空间达到5.5 T。足够半年使用率。

招数3 碎片整理分析及重建

一般地,经过以上处理之后,ASM磁盘剩余空间将满足系统使用,如果希望继续优化,可以考虑表move 存储。方法为:先对数据库的碎片严重的表进行分析统计,再用碎片整理脚本进行move处理。处理后预计可获得3-5T空间。

效果:存储空间回来了!

优化前后表空间空间释放情况统计(仅含关键表空间):

 

TABLESPACE_NAME

总容量

(MB)

优化前空闲容量

(MB)

优化后空闲容量

(MB)

SHAREDATA

10388205

1709440.69

4809839

CACHE_FK_DATA

5914491

977220.38

4305221

CACHE_YX_DATA

1533913

310064.63

325059

SHAREIDX

1331165

471248.44

280078

CACHE_YX_IDX

1310680

211219.25

332193

UNDOTBS2

1021252

129867.63

983274

CACHE_PT3_DATA

906215

170223

350284

CACHE_PT1_DATA

906215

172394.63

344947

SHARE_PT1_DATA

880615

190168.06

247428

CACHE_CJ_IDX

1000422

145883.25

813668

SHARE_PT2_DATA

818154

141511.25

212017

CACHE_PT4_DATA

797674

144461

316867

CACHE_PT2_DATA

813034

119682.56

271228

CACHE_PT5_DATA

755693

131709

350037

SHARE_PT6_DATA

771053

114376.31

187583

SHARE_PT3_DATA

728046

151147.5

238717

SHARE_PT5_DATA

735213

128449.88

239070

SHARE_PT4_DATA

735213

107636.44

239683

总计

31347253

5526703.9

14847193

释放空间

9320489.1

 

总计释放空间9.3T,占总空间的40%左右!

 

优化前后ASM磁盘空间释放情况(未进行碎片处理)

 

DISKGROUP NAME

总计大小

优化前剩余空间

优化后剩余空间

Data

37T

800G

5.5T

价值解读

避免系统停运

首先,对系统使用者来说,系统停运所面临的损失是最严重的。通过优化成功避免了系统停运。

提高性能

在上文的案例中,相当比例的表中存在大量垃圾数据,部分表空间根本没有使用。清理整理优化后,空间释放率40%以上,节约存储10T以上,系统性能得到显著提高。

节约成本

经过优化得到的10T空间。以目前的市场情况估计,硬盘购置费用约15万,存储其他配件约15万,每年的电费等其他维护费用20万。每年节约的费用总计可达50万。

服务创造价值!

试试优化您的存储空间,保障业务系统持续稳定运行,有备无患。

联系海天起点:010-58701010  专注于IT运维和SaaS,助力提升系统性能和用户体验,实现您的业务价值。

长按并关注

 

 



推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 从Oracle安全移植到国产达梦数据库的DBA实践与攻略
    随着我国对信息安全和自主可控技术的重视,国产数据库在党政机关、军队和大型央企等行业中得到了快速应用。本文介绍了如何降低从Oracle到国产达梦数据库的技术门槛,保障用户现有业务系统投资。具体包括分析待移植系统、确定移植对象、数据迁移、PL/SQL移植、校验移植结果以及应用系统的测试和优化等步骤。同时提供了移植攻略,包括待移植系统分析和准备移植环境的方法。通过本文的实践与攻略,DBA可以更好地完成Oracle安全移植到国产达梦数据库的工作。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • DSP中cmd文件的命令文件组成及其作用
    本文介绍了DSP中cmd文件的命令文件的组成和作用,包括链接器配置文件的存放链接器配置信息、命令文件的组成、MEMORY和SECTIONS两个伪指令的使用、CMD分配ROM和RAM空间的目的以及MEMORY指定芯片的ROM和RAM大小和划分区间的方法。同时强调了根据不同芯片进行修改的必要性,以适应不同芯片的存储用户程序的需求。 ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • 本文介绍了在PostgreSQL中批量导入数据时的优化方法。包括使用unlogged表、删除重建索引、删除重建外键、禁用触发器、使用COPY方法、批量插入等。同时还提到了一些参数优化的注意事项,如设置effective_cache_size、shared_buffer等,并强调了在导入大量数据后使用analyze命令重新收集统计信息的重要性。 ... [详细]
  • 1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
author-avatar
博瑞装饰王龙骏
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有