一种数据迁移过程中产生快照过旧问题的解决方法

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:facexy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]随着大型数据库系统的应用和实施,在数据库部署过程中经常需要进行数据迁移,数据迁移是数据整合中保证系统平滑升级和更新的关键部分,在新旧系统的切换过程中,必然要面临数据迁移。然而目前企业级的海量数据迁移在数据库层面会产生快照过旧的问题,本文主要论述一种海量数据迁移过程中产生快照过旧问题的解决方法。
  中图分类号:TP311.13 文献标识码:A 文章编号:1009-914X(2016)09-0099-01
  1、引言
  目前企业级海量数据存储大部分都使用Oracle数据库,Oracle官方提供了数据泵工具来进行数据迁移。数据泵工具支持并行处理导入导出任务,导入导出时提供了非常细粒度的对象控制,通过Include/Exclude以及Query等参数可以详细制定是否包含或不包含某个对象。利用Oracle数据泵工具对系统超大数据表进行数据迁移,迁移过程中由于数据量过大而回滚段空间不足,会产生快照过旧(ORA-01555)的问题,尤其在数据表中字段类型为BLOB类型(该字段类型常用来存储图片、声音等大数据文件)时,经常会产生快照过旧的问题导致数据迁移中断。
  2、现象描述
  在对系统非结构化数据表 (该表中存在类型为BLOB的字段)进行迁移时,由于系统回滚表空间(undo tablespace)空间不足而导致数据迁移失败,产生如下错误:
  ORA-01555:snapshot too old:rollback segment number 18 with name ‘_SYSSMU168’ is too small.
  ORA-22924:snapshot too old
  分析产生该错误的主要原因为回滚段设置太小,通常在UNDO回滚段中会保留数据库在某个时间点的数据,用来保证数据的一致性读。而在用户利用数据泵工具执行导出数据表操作时,又有其它用户对该表进行了修改,如果修改提交后UNDO中无足够空间,之前保存在UNDO中的数据资料就会被覆盖,从而依赖于这些数据资料的操作就无法获得一致性读,导致数据迁移过程产生以上报错。而且Oracle由参数undo_retention指定时间去释放UNDO回滚段,所以如果数据迁移时长超过undo_retention指定时间也会导致快照过旧的问题产生。
  但是调整回滚段的大小并不能从根本上解决该问题,而且回滚段的大小也不能无限增大,undo_retention指定时间也有最大值限制,故针对系统超大数据表的迁移,我们采用了一种典型的解决方法来处理迁移过程中产生的快照过旧问题。
  3、解决方法和步骤
  针对非结构化数据表迁移过程中产生的快照过旧问题,我们进行了深入的分析,首先从报错提示入手,查看了系统表空间的使用率,调整了系统参数undo_retention指定时间的大小,仍无法解决文中报错。后续我们进行了多次尝试调整,总结出了定位并解决该问题的一套思路和方法,即按照数据库参数ROWID和ROWNUM先将记录进行排序预处理,然后将数据按照排列好的顺序分批导出,解决了快照过旧(ORA-01555)的问题。具体步骤如下:
  首先,查看报错提示为系统表空间回滚段过小,通过脚本查看系统表空间的使用率得知,系统UNDO表空间使用率未超过80%,回滚段是循环使用的,其表空间使用率不高说明目前回滚段的大小足够大,足以保证被提交的数据信息保存足够长的时间去完成大事务的一致性读取,判断并非由于UNDO回滚段过小导致该问题。故考虑增加undo_retention参数的大小,使得在undo_retention规定时间内,Oracle都无法释放UNDO表空间,任何其它事务都不能覆盖当前数据。使用以下语句来修改undo_retention参数值的大小:
  alter system set undo_retention=36000 scope=both;
  通过以上语句将undo_retention参数值设置为10个小时(36000秒),然后利用数据泵工具进行数据迁移,结果发现继续产生快照过旧的问题。分析发现该数据表的迁移数据量共计881G,在undo_retention规定时间内并不能完成数据迁移,而将undo_retention设置过大又会影响系统性能。故我们利用Oracle数据库的ROWID和ROWNUM对表中数据排序后进行分批迁移,首先需要查询系统的非结构化数据表中共有多少条记录,将其记录为total_record。查询出数据表的记录总数后可以根据公式计算出数据迁移的数据集个数expdp_set_num=total_record/set_record_num(其中set_record_num表示单个数据集中的记录数,本文中采用的数值为100000条)。本文中total_record=756653,故数据迁移可以分为8个数据集进行,每个数据集100000条记录(其中最后一个数据集中有56653条记录),平均每个数据集的大小是110G,对每个数据集的迁移可以根据服务器当时的负载和网络情况并行处理。然后使用以下语句查询出该非结构化数据表中前100000条记录:
  select * FROM (SELECT ROWNUM PNUM,rowid prowid, T.* FROM MW_SYS.MWT_OM_FSDATA T ORDER BY rowid) TT WHERE PNUM between 1 and 100000;
  其中MW_SYS.MWT_OM_FSDATA为系统的非结构化数据表,以此类推就可以查询出表中其它数据集中的数据。接下来就需要使用数据泵工具的query参数来进行数据迁移脚本的编写。本次数据迁移的第一条到第100000条记录可以使用以下数据泵参数来进行导出:
  TABLES=MW_SYS.MWT_OM_FSDATA
  QUERY= MW_SYS.MWT_OM_FSDATA:"where rowid in(select prowid FROM (SELECT ROWNUM PNUM,rowid prowid, T.* FROM MW_SYS.MWT_OM_FSDATA T ORDER BY rowid) TT WHERE PNUM between 1 and 100000)"
  采用以上方法顺利完成了系统非结构数据表的迁移,成功解决了由于超大数据表迁移产生的ORA-01555快照过旧问题。
  4、浅谈经验
  在实际的数据迁移过程中,我们需要根据系统情况和用户需求来对数据泵工具的相关参数进行设置,并同时考虑系统性能和数据迁移的时效性,对数据迁移的时间和空间进行合理的规划。本文提供了一种海量数据迁移过程中产生快照过旧问题的解决方法,在迁移过程中发生报错时及时进行了处理,确保数據迁移工作的正常进行。
  作者简介
  杨恒翔,出生于1987.06,研究生毕业于天津大学,计算机科学与技术专业。目前从事信息运维工作。
  王涛,出生于1987.05,研究生毕业于河北工业大学,计算机科学与技术专业。目前从事信息运维工作。
其他文献
[摘 要]随着市场情况变化,“四大难题”日渐凸显,增长压力越来越大,烟草行业需深入推进精益管理,转变增长方式,降本增效,向管理要效益。作为卷烟工业企业,要在精益管理思想统领下,转变观念,强化成本意识,抓好预算管理、采购管理、消耗控制,全面、严格控制成本费用,提升管理水平,增创管理效益,促进企业持续、健康发展。  [关键词]精益管理;成本控制;管理效益  中图分类号:F406.72 文献标识码:A
期刊
[摘 要]金属材料加工与人们的生活和社会的发展息息相关,其中最难的环节是金属材料热处理。当前我国金属材料热处理问题较多,在節能方面尚需加强。本文针对金属材料热处理节能新技术应用进行简要分析。  [关键词]金属材料;热处理节能;新技术;应用  中图分类号:TG156 文献标识码:A 文章编号:1009-914X(2016)09-0096-01  1 导言  随着金属材料种类日益繁多,金属材料加工成为
期刊
[摘 要]随着经济的快速发展,我国的生产和生活用电在急速攀升,给电力企业提出了越来越高的要求。在进行电网管理时,要遵循预防为主的原则,实施风险管理,从而实现电力企业的战略目标。本文将对电网管理中应用风险管理进行研究。  [关键词]电网管理;风险管理;促进作用  中图分类号:F426.61;F274 文献标识码:A 文章编号:1009-914X(2016)09-0083-01  1 引言  随着社会
期刊
[摘 要]现阶段我国的经济有了蓬勃发展,人们的生活水平也有了大幅提升,对电力需求以及要求等也有了提高,所以这就对电力行业的发展也带来了很大挑战。要想将电力行业的发展得到良好运行,就要能够在电力电气设备的安全稳定运行层面得以保障,并要能够对电力电气设备检修技术的运用能够灵活性的呈现。基于此,本文主要就电力电气设备检修技术的应用重要性以及实际应用现状进行分析,然后结合实际就电力电气设备检修技术的具体化
期刊
[摘 要]本文用电化学置换法制备出金溶胶,然后通过电泳将Au纳米溶胶负载到沉积有氧化石墨烯(GO)的钛片上,与R6G混合后,测定其SERS光谱,结果显示,单独的金溶胶并没有显示出分子的拉曼信号,而钛片上GO与金溶胶的复合材料具有明显的SERS增强效应,其对R6G的增强归因于Au纳米颗粒等离子体共振所引起的物理增强和Au颗粒与染料分子及GO之间电子转移所引起的化学增强机理共同作用的结果。  [关键词
期刊
[摘 要]随着油田精细化开采的不断推进,对注聚质量提出更高要求。目前,油田数据采集、上报、汇总、分析工作量倍增。为了提高数据资料应用管理水平,我们首先从一線着手,开发了注入站报表系统,并在多个注入站应用,取代了手工计算、填写报表。在此基础上,为了进一步提高动态数据分析应用水平,我们开发了油田数据分析报表系统,对注入、配制、分层测试等动态数据进行整合分析。在开发和应用过程中,为了完善Web报表功能,
期刊
[摘 要]互联网用不到十年的时间颠覆了人们传统的生活模式,现在它正用更短的时间颠覆传统金融。近年银行拿着所有中国人民的钱疯狂的积攒楼盘,人们对于银行慢慢出现了信任危机,就在这个时刻,云计算的生产出现,给人们带来新的选择。现在人们有了新的选择,纷纷涌向互联网,如今短短数日互联网的大军已经兵临城下,传统金融行业受到的冲击变大,本文将通过各种角度分析传统金融行业受到冲击,并且分析传统金融业应该如何应对云
期刊
[摘 要]在地层压力作用下,井下作业会存在井涌和井喷等现象,这就需要在井下作业施工中能严格做好井控工作,保障作业安全。本文主要是从井控中存在的问题以及发生井喷的原因入手进行分析,针对相关原因探讨合理的应对策略,实现井下作业的安全、高效。  [关键词]井控;井下作业;安全  中图分类号:TE28 文献标识码:A 文章编号:1009-914X(2016)09-0093-01  井下作业的过程中,由于复
期刊
[摘 要]XX油田针对目前每年钻井都在600口井以上,钻关控注对产量的影响也越来越大,特别是高台子油层注水井,钻关时间长,钻控恢复慢。而且固井优质率只在60%左右,不同油层固井质量差异较大,对钻关控注的要求也越来越高。因此,如何最大限度地减少钻关对产量的影响,提高固井优质率,需要开展钻井控注方法研究,进行单井个性化钻关设计。  [关键词]钻控 钻关 固井优质率  中图分类号:TE357.6 文献标
期刊
[摘 要]应用新材料、光纤通信具有电绝缘性能高,抗干扰能力强,容量大、传输质量高等优点,提高了电力通信能力,文章论述了光纤通讯技术的简得、特点,实现程序与应用及发展前景等内容  [关键词]光纤通讯技术;电力系统;应用;研究  中图分类号:TN929.11 文献标识码:A 文章编号:1009-914X(2016)09-0103-01  在电力系统中应用光纤通信技术,就可以实现系统的高效、安全和稳定运
期刊