一、问题原因: 
    11G中有个新特性,当表无数据时,不分配segment,以节省空间

想要给空表也分配segmant,有以下两个办法:

1、insert一行,再rollback就产生segment了。

该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。

2、设置deferred_segment_creation 参数

show parameter deferred_segment_creation 

   NAME                                 TYPE        VALUE 

   ------------------------------------ ----------- ---------- 

   deferred_segment_creation            boolean     TRUE 

   SQL> alter system set deferred_segment_creation=false; 

   系统已更改。 

   SQL> show parameter deferred_segment_creation 

   NAME                                 TYPE        VALUE 

   ------------------------------------ ----------- ---------- 

   deferred_segment_creation            boolean     FALSE 

    该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。 

    需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。 

二、解决方法:

1、先查询一下当前用户下的所有空表

select table_name from user_tables where NUM_ROWS=0; 

2、用以下这句查找空表

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 

把查询结果导出,执行导出的语句

ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;' 

      ----------------------------------------------------------- 

      alter table AQ$_AQ$_MEM_MC_H allocate extent; 

      alter table AQ$_AQ$_MEM_MC_G allocate extent; 

      alter table AQ$_AQ$_MEM_MC_I allocate extent; 

      alter table AQ$_AQ_PROP_TABLE_T allocate extent; 

      alter table AQ$_AQ_PROP_TABLE_H allocate extent; 

      alter table AQ$_AQ_PROP_TABLE_G allocate extent; 

      alter table AQ$_AQ_PROP_TABLE_I allocate extent; 

      alter table AQ$_KUPC$DATAPUMP_QUETAB_T allocate extent; 

      alter table AQ$_KUPC$DATAPUMP_QUETAB_H allocate extent; 

      alter table AQ$_KUPC$DATAPUMP_QUETAB_G allocate extent; 

      alter table AQ$_KUPC$DATAPUMP_QUETAB_I allocate extent; 

3、然后再执行

exp 用户名/密码@数据库名 file=/home/oracle/exp.dmp log=/home/oracle/exp_smsrun.log   成功!

当然了也可以用以下方法:expdp和impdp

create directory expdp_dir as '/data/db';
grant read,write on directory expdp_dir to DRGN_OWNER; expdp DRGN_OWNER/DRGN_OWNER DIRECTORY=expdp_dir DUMPFILE=dbfile.dmp SCHEMAS=DRGN_OWNER logfile=DRGN_OWNERexpdp.log create directory impdp_dir as '/data/db';
grant read,write on directory impdp_dir to DRGN_OWNER; impdp DRGN_OWNER/DRGN_OWNER DIRECTORY=impdp_dir DUMPFILE=dbfile.dmp logfile=DRGN_OWNER.dmpimpdp.log

然已经导入了

对于DBA新建数据库,建议建立了空的数据库后,马上执行

alter system set deferred_segment_creation=flase sscope=spfile;
shutdowm immediate
startup

【小结】

1、自己没有好好学习11g的新特性,导致了这个问题花费了2个小时的 
2、建议客户使用稳定的10.2.0.4,客户拒绝,现在11g已经是主流了,并不是每一个客户都很保守使用稳定版本,而非最新版本 
3、某美 和 某ELL 的项目以后少接触,4年前IBM P570双机Oracle10g的实施问题就折腾的无语。 
4、再次论证了很多甲方和厂商基本都是:事前猪一样,事后诸葛亮。和目前国内流行的砖家叫兽有异曲同工之妙。 
5、做技术果然是一条不归之路

处理Oracle 11g在用EXP导出时,空表不能导出的更多相关文章

  1. Oracle 11g 导库导不出空表问题

    Oracle11g 会遇到这样的问题,用exp整库导出的时候,会遇到这样的问题,库里的空表没办法导出 select * from all_all_tables aa where aa.owner='U ...

  2. Oracle 11G在用EXP 导出时,空表不能导出解决

    Oracle 11G在用EXP 导出时,空表不能导出解决 (转)(.http://wanwentao.blog.51cto.com/2406488/545154 11G中有个新特性,当表无数据时,不分 ...

  3. 解决Oracle 11g在用EXP导出时,空表不能导出

    实践结论可行,看"2.解决办法" 一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生 ...

  4. 【转】解决Oracle 11g在用EXP导出时,空表不能导出

    一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 .insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segme ...

  5. Oracle 11g 在备份导出时缺少表的问题

    ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产 ...

  6. oracle 11g 空表也导出

    查询空表 并导出修改空表语句 select 'alter table '||table_name||' allocate extent;' from user_tables where num_row ...

  7. Oracle11g新特性导致空表不能导出问题

        ORACLE 11G在用EXP导出时,发现空表(没有数据或者没有用过的表)不能导出了.     查了一下资料,说是Oracle 11G中有个新特性,当表无数据时,不分配segment,以节省空 ...

  8. Oracle 11G在用EXP 导入、导出时,若有空表对导入导出中遇到的问题的解决

    11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segmen ...

  9. Oracle 11G R2在用EXP 导出时,空表不能导出解决办法

    11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segmen ...

随机推荐

  1. 再识Quartz

    在之前的项目中使用过Quartz,但都是基于XML配置定义任务的.目前一个项目应用需要对任务进行创建.暂停.删除等动态管理.所以再次在网上翻了翻,再来好好重新认识下Quartz. 名词解释: sche ...

  2. [terry笔记]一个在线美化sql的网站

    http://www.dpriver.com/pp/sqlformat.htm 甚是好用.

  3. CodeForces 362E Petya and Pipes

    Petya and Pipes Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForces. ...

  4. ArrayList 的实现原理

    ArrayList  是List接口的可变数组的实现.实现了所有可选列表的操作,并包括null值在内的所有元素.此类还提供了一些方法来操作内部用来存储列表的数组大小. ArrayList 的是实现: ...

  5. 楼宇自控-BA系统流程总图

    总结一下过程中的节点和技能,希望能对其他人有所帮助

  6. Eclipse 更新Android SDK后,新建项目出现appcompat_v7project的相关问题

    Eclipse 更新Android SDK后,新建项目出现各种问题.网上各种解决方式,搞了好久,总结一下. 1.出现error: Error retrieving parent for item: N ...

  7. Install Rails on ubuntu 12.04 LTS

    There are basically there ways to install Rails development environment on your ubuntu linux system, ...

  8. Resolving Problems installing the Java JCE Unlimited Strength Jurisdiction Policy Files package--转

    原文地址:https://www.ca.com/us/services-support/ca-support/ca-support-online/knowledge-base-articles.tec ...

  9. C# 导出excel的压缩包到浏览器页面

    需求背景:TCX_1710项目产品质量导出功能,客户希望每个总成导出到一个Excel表中 实现分析:客户选择时间段,点击导出按钮,默认导出开始时间当天的数据,每个总成一个Excel,将各个Excel打 ...

  10. 中文版 R-FCN: Object Detection via Region-based Fully Convolutional Networks

    R-FCN: Object Detection via Region-based Fully Convolutional Networks 摘要 我们提出了基于区域的全卷积网络,以实现准确和高效的目标 ...