Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 11g 11.2.0.1.0 使用exp无法导出空表的解决办法

Oracle 11g(11.2.0.1.0)中有bug,当表无数据时,不分配segment解决方法:1、insert一行,再rollback就产生segment了。该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。2、设置deferred_segment_creation 参数SQL>show parameter deferred_segment_creationNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------deferred_segment_creation            boolean     TRUESQL> alter system set deferred_segment_creation=false;改变后只对之后的表起作用,并且需要重启oracle服务才能生效3、手动给空表分配空间
  1. DECLARE  
  2.   CURSOR EMPTY_TABLES IS  
  3.     SELECT TABLE_NAME FROM USER_TABLES WHERE NUM_ROWS = 0;  
  4. BEGIN  
  5.   FOR TAB IN EMPTY_TABLES LOOP    
  6.     EXECUTE IMMEDIATE "alter table " || TAB.TABLE_NAME || " allocate extent";  
  7.   END LOOP;  
  8. END;  
  9. /  
11g(11.2.0.2.0)这个bug好像就修复了,建议用expdb 命令导出。Oracle使用select语句复制表配置phpMyAdmin连接多台MySQL相关资讯      Oracle 11g 
  • Oracle 11g导入到10g引起的错误  (11/16/2015 10:55:27)
  • Oracle 11g 导库导不出空表问题  (08/19/2015 19:55:58)
  • Oracle 11g统计信息收集--多列统计  (07/24/2015 10:32:39)
  • Oracle 11gClone安装方法  (08/24/2015 20:25:41)
  • Oracle 11g中和SQL TUNING相关的新  (08/12/2015 11:22:52)
  • Oracle 11g数据泵详解  (07/08/2015 08:29:51)
本文评论 查看全部评论 (0)
表情: 姓名: 字数