在oracle 11g r2中,使用exp有时候会导不出空的表,原因是这些表没有分配空间,手工分配空间即可导出。

----查询当前用户下的所有空表:
select table_name from user_tables where NUM_ROWS=0;

----查询DB_YWYH用户所有未分配Extent的表:

SELECT * FROM DBA_TABLES WHERE OWNER='DB_YWYH'
AND TABLE_NAME NOT IN
(
SELECT T.SEGMENT_NAME
FROM DBA_SEGMENTS T
WHERE OWNER='DB_YWYH'
)


----①使用添加一条记录然后再删除这条数据,此表就可以导出了,此方法太笨拙。
----②使用ALLOCATE EXTENT可以为数据库对象分配Extent。其语法如下:
alter table aTabelName allocate extent


-----如果有很多表都没有分配空间,则用一下方法解决
-----构建批量分配Extent语句

SELECT 'ALTER TABLE '||TABLE_NAME||' ALLOCATE EXTENT;' 

FROM DBA_TABLES 

WHERE OWNER='DB_YWYH'
AND TABLE_NAME NOT IN
(
SELECT T.SEGMENT_NAME
FROM DBA_SEGMENTS T
WHERE OWNER='DB_YWYH'
)

导致空表未及时分配空间的原因是oracle 11g 新增了一个参数:DEFERRED_SEGMENT_CREATION,含义是段延迟创建,默认是true,表示你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配Extent,也就是不占数据空间,只有当你insert数据后才分配空间。这样可以节省少量的空间。

oracle空表导不出来的更多相关文章

  1. oracle11g导出表时会发现少表,空表导不出解决方案

    oracle11g导出表时会发现少表,空表导不出解决方案.   一:背景引入 oracle11g用exp命令导出数据库表时,有时会发现只导出了一部分表时而且不会报错,原因是有空表没有进行导出,之前一直 ...

  2. oracle 11g空表导不出问题

    查询空表 ' 生成分配空间的执行语句 or num_rows is null 复制出来执行即可.

  3. oracle11g导出表时会发现少表,空表导不出解决方案。

    一:背景引入 oracle11g用exp命令导出数据库表时,有时会发现只导出了一部分表时而且不会报错,原因是有空表没有进行导出,之前一直没有找到方法于是用最笨的方法重新建这些空表,当然在我们实际当中表 ...

  4. ORACLE 空表不能导出问题解决

    exp不导出空表,是11g的新特性,当表无数据时,不分配segment,以节省空间,所以exp导出的时候,不导出这些表. 先登录要导出的用户执行以下语句 先执行 select 'alter table ...

  5. oracle空表导出的问题

    之前再做项目的时候下载了一个开源的程序,数据库在移植的时候通过exp/imp导入导出,结果程序在启动时报错,对比过后发现两个数据库表相差了十几个,再排查问题,发现少掉的十几个表全部是空表,查了一下or ...

  6. Oracle空表的分配segment

      1.查询相关参数deferred_segment_creation select * from v$parameter where name='deferred_segment_creation' ...

  7. oracle 空表无法导出

    1.执行该语句   select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;  ...

  8. Oracle空表导出

    执行: Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 执行该命令后产 ...

  9. oracle 空表导出dmp会报错

    步骤一.查找出来的语句全部复制并执行 select 'analyze table '||table_name||' compute statistics;' from user_tables; 步骤二 ...

随机推荐

  1. PAT_1008 数组元素循环右移问题

    题目描述: 一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>=0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN ...

  2. HDU1557权利选举

    /* 思路:遍历所有2^n个集合,对于每个集合求票和,如果满足票为优胜团体,而再对集合每个成员比较,是否满足变成非优胜团体,是的话,对于该成员对应结果+1. 重点:利用二进制思想,所有团体均对应0~2 ...

  3. MFC可编辑的ListCtrl

    近期由于项目的要求,需要一个可以编辑的列表控件,由于MFC提供的列表控件只支持第一行可编辑,无法满足项目需求,故只能自己动手重写一个列表控件.重写列表控件的思想为:当点击列表的某行某列时,在此处创建一 ...

  4. 正则过滤html标签

    var html = "<p>好好学习,<br>天天向上</p>"; var re=/<[^>]+>/g; var text ...

  5. CANoe 入门 Step by step系列(三)简单例子的剖析【转】

    最好的学习方式是什么?模仿.有人会问,那不是山寨么?但是我认为,那是模仿的初级阶段,当把别人最好的设计已经融化到自己的血液里,变成自己的东西,而灵活运用的时候,才是真正高级阶段.正所谓画虎画皮难画骨. ...

  6. Python函数式编程初级学习

    函数式编程即函数可以作为参数传入函数,也可以返回函数. 1.高阶函数     函数可以作为参数传入函数.     def add(x,y,f):         return f(x)+f(y)   ...

  7. 简单python2.7.3安装setuptools模块

    下载setuptools https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg 安装 .6c11- ...

  8. c++中的vector原理

    vectorvector就是动态数组.它也是在堆中分配内存,元素连续存放,有保留内存,如果减少大小后,内存也不会释放.如果新值>当前大小时才会再分配内存. 它拥有一段连续的内存空间,并且起始地址 ...

  9. 十大响应式Web设计框架

    http://www.csdn.net/article/2014-05-13/2819739-responsive-frameworks-for-web-design 对于设计师而言,网站设计中的任意 ...

  10. tcpdump 本机回环,应该用tcpdump -i lo

    tcpdump  本机回环,应该用tcpdump -i lo