批量转换分区表为普通表
今天数据迁移的小组找到我,希望我能够重新构建一些测试环境,其中测试环境中的一些分区表都需要去掉分区,转换成普通表的形式,因为他们在做一些工作的时候碰到了问题,而且希望必要的约束等都保留,这个需求听起来倒不复杂,很清晰,我看了下需要转换的表,一看有将近100多个,而且重构好几套环境,想想都头疼。这个需求...
海量数据迁移之通过shell估算数据量
在数据迁移的时候,需要根据用户量来评估需要在表空间理添加的空间大小。比如迁移5百万的用户和迁移200万,两者需要添加的数据量差别很大,在资源有限的情况下,需要一些比较合理的估算,毕竟在生产环境中做数据加载的时候报了空间不足的问题就是准备太不充分了,稍后的数据修复任务就难上加难。比如我们现在客户提供了如...
使用utl_file做选择性数据导出
在平时的数据导出中使用exp/expdp能够满足绝大部分的数据导出任务。如果有一些表的数据不多,但是查询条件要复杂一些,使用exp/expdp就很吃力了。或者在和外部系统的交互中,使用xml或者文本文件是一个很兼容的选择,这个时候使用exp/expdp也满足不了要求。这个时候可以考虑使用utl_file的提供的一些功能来做选择性的数据...
使用dbms_metadata生成建表语句
有时候在工作中,可以使用exp/imp得到表的创建语句。如果想得到关于table,index,constraint的语句,可以考虑使用dbms_metadata来实现。我们可以使用如下的脚本来得到建表语句,对应的索引语句,和ref_constraint语句。建表语句就不多说了,关于索引的部分,过滤了主键和唯一性索引的部分,这些语句会和建表语句中的cons...
一个普通数据库用户所能查到的"意料之外"的信息
有时候限于工作环境的情况,大多数开发人员只得到了一个权限收到限制的数据库用户。可能你都不知道你所拥有的数据库用户都能查到哪些你想象不到的数据库信息,其实你知道还是不知道,哪些东西就在那儿:)假定现在给你一台机器,让你在一个已经登录的sqlplus环境下自己探索一把,在短时间内完成下面的工作,你心里有底吗?...
生产环境sql语句调优实战第七篇
在数据迁移完成之后,开始了例行的后期数据库维护,早上一来就发现了一个sql执行时间很长了。达到了37279秒。最后在改进调优之后执行速度在1分钟以内。这个速度是毫无疑问的性能问题,但是是否是因为数据迁移直接导致的呢,通过简单的脚本分析,得出了如下的图表。显示了同样的sql语句在7月份至今的执行情况,还真是奇怪...