`
hello_player
  • 浏览: 152516 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

数据迁移过程中 delete 不释放表空间问题解决

SQL 
阅读更多

      在一个应用中如果数据量比较大,开始影响到页面 sql 执行效率的时候,我们通常会考虑到将历史数据搬迁到一个历史库中,以此来提高当前系统的性能,但往往有时候可以发现搬迁了以后效率并没有提升或者反而有一定的下降。

 

      其中一个主要的原因就是我们在操作的时候通常都是用 delete 语句来删除一些历史数据,但 delete 语句是不会释放表空间占用的数据块,也就是说数据是删掉了,但位置还保留着,这块空着的表空间只能由以后再 insert 进来的时候填充。很显然这不是我们想要的效果,我们想要的就是减少表空间,提高 sql 的执行效率。

 

      下面说下解决的办法,思路就是用 alter table XX move tablespace XX; 语句将表先移到一个空闲的表空间上再移回来,网上也有人通过查 user_tables 里面的 block 字段来观察 move 表空间前后的占用的块,那个里面只是一个统计的结果,不能作为实际考量,因为在 move tablespace 的时候所有字段的 rowid 都是重新创建的,没有数据的那些块自然也就丢掉了,再 move 回来。可以理解成类似于在其他表空间创建一个临时表,把当前的表删掉重新建回来。

 

      还有一点要注意的就是,move 的同时既然 rowid 是重新创建的,那么该表上的索引自然也就失效了,再 move 回来以后别忘了把索引重新再建一下,要不然 sql 会报错无法执行。

      最后别忘了分析下表。analyze table XX compute statistics;

分享到:
评论
2 楼 hello_player 2009-12-31  
那请问下什么情况下会误操作把表空间删掉的?
1 楼 binlaniua 2009-12-30  
哈哈 小心清理磁盘空间把 表空间删掉的话

够你受的哦

相关推荐

    本表数据迁移

    表数据迁移 表中的数据量在几亿以下

    shell脚本实现mysql从原表到历史表数据迁移

    放入centos服务器中解压,可配置化进行mysql从某张表到历史表的数据迁移。该脚本可根据表中日期进行数据的定时迁移

    数据库优化--局部数据迁移

    然后,逐个执行存储过程,将原来数据迁移到新的表中。 5,删除存储过程,清理临时过程。 6,删除第1步中重命名的表。 7,分析新创建的表,生成表的统计信息 8,删除新创建的分区表。 9,创建原来存储过程使用的临时...

    DataX数据的迁移(MySQL、HDFS,Hive)

    1.数据迁移的过程中,由于hive的Null值存储为"\N",Mysql存储为NULL值,二者转换时需要注意,再数据迁移json模板中,"nullFormat": "\\N", 该配置信息就是解决了数据迁移是存在的Null值。 2.如果hive中没有数值DataX...

    大数据-数据迁移-hive、hbase、kudu迁移

    由于大数据里面涉及到非关系型数据库如hive、kudu、hbase等的数据迁移,目前涉及到的迁移工具都没有支持hive数据库的事务表的迁移,如果hive库里面存在大量的事务表的时候,目前的工具都是不支持的,例如华为的CDM,...

    数据库表数据迁移

    该代码通过配置的方式将mysql中的表数据迁移到oracle表中,代码可以灵活扩展,从而实现将blob、clob、text等字段的数据迁移。

    表空间(数据文件)迁移.docx

    Oracle表空间数据文件过大,如何进行迁移以便扩容

    oracle 数据库数据迁移解决方案

    去年年底做了不少系统的数据迁移,大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁移,有一些心得体会,与大家分享。  首先说说迁移流程,在迁移之前,写好方案,特别是实施的方案步骤一定...

    oracle11g expdp impdp 分区表重映射导出导入数据迁移方案

    oracle expdp impdp 分区表重映射导出导入 数据迁移方案,以SI01用户为例子,将用户分区表导出后,将分区表重映射到新的表空间,完成数据迁移和检查。照方案例子按步去做,一定能成功。

    oracle迁移达梦常见问题汇总

    迁移过程中失败任务数低于5%,大部分对象和数据都能够保证正常迁移。其中对于出错的任务,主要有导表和导函数包两部分。其中主要棘手的在与迁移函数包等对象时的问题。 2、迁移错误详解 2.1、通用问题 说明:对于...

    数据迁移 说明 oracle 数据迁移完整手册

    oracle 数据迁移技术汇总,各种姿势都行。需要数据迁移的技术完整手册

    数据迁移和数据集成

    数据迁移和数据集成

    数据迁移服务V200R100C00----VMware虚拟机数据迁移方案.doc

    数据迁移服务V200R100C00----VMware虚拟机数据迁移方案.doc

    Oracle导Mysql适用于百、千万级别数据迁移

    Oracle导Mysql适用于百、千万级别数据迁移,速度是kettle的10倍以上数据库迁移 数据迁移 千万级 亿万级数据,MySQL oracle关系型 现需要开发一套程序用来快速迁移数据库,要求如下: 1.使用人员可以指定迁移数据库...

    阿里巴巴开源的Oracle数据迁移同步工具yugong.zip

    整个数据迁移过程,分为两部分:全量迁移增量迁移过程描述:增量数据收集 (创建oracle表的增量物化视图)进行全量复制进行增量复制 (可并行进行数据校验)原库停写,切到新库架构说明: 一个Jvm Container对应多个...

    数据库迁移 数据迁移 千万级 亿万级数据MySQL oracle关系型

    现需要开发一套程序用来快速迁移数据库,要求如下: 1.使用人员可以指定迁移数据库类型 如:(orcal,sqlServer,csv 迁移至mysql) 2.在迁移数据库时,可以只迁移指定字段. 3.开发多任务的平台,按权重去执行任务,如:...

    Redis集群数据迁移操作文档

    1、新旧redis集群迁移 2、支持redis集群的存量和增量数据迁移 3、支持redis集群数据的离线迁移

    据库存储空间整理之表空间迁移步骤

    Oracle回收数据表空间需要将老的数据表空间对象迁移到新创建的表空间,然后删除老的表空间,其存储空间才得以释放。

    AIX数据迁移.txt

    AIX数据迁移

    直接拷贝数据文件实现Oracle数据迁移

    Oracle 数据迁移是比较麻烦的,对菜鸟来说更是如此。最近由于更换服务器,需要将Oracle迁移到另外一台机器,在两个服务器环境相同,以及 Oracle版本相同的前提下,通过直接拷贝数据文件到新服务器,就可以直接迁移...

Global site tag (gtag.js) - Google Analytics