您的位置:首页 > 数据库 > Oracle

Oracle 11g exp不能导出的空表处理方法

2013-10-27 20:36 239 查看
ORACLE 11G在用EXP导出时,空表不能导出。
  11G中有个新特征,当表无近据时,不分配segment,以节省空间

  处理方法:

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

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

  2、配置deferred_segment_creation 参数

           如:1、alter system set deferred_segment_creation=false; 

                   2、show parameter deferred_segment_creation;

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

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

       3、这种方法也是有点笨拙,但当前只想到这个方法

          (1)找到有哪些空表   如:select table_name from user_tables where NUM_ROWS=0;

          (2)在执行下面的SQL,有多少张空表就执行多少次。如:alter table 表名 allocate extent;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle 数据 oracle 11g