温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Oracle 11g 使用exp命令导出表不全的解决方案

发布时间:2020-08-09 23:30:16 来源:ITPUB博客 阅读:193 作者:G8bao7 栏目:关系型数据库
    今天在做迁移数据库,从11.2.0.1迁移到11.2.0.4,用exp导出一个用户下所有的对象,在做imp导入的时候发现表少了很多,看日志后分析是部分空表没有导出。在网上查了一下,发现是11G中新特性,当表无数据时,不分配segment,以节省空间。而使用exp命令时,无Segment的表不会被导出。
    解决方案的文章:
     http://wenku.baidu.com/view/7beb56f57c1cfad6195fa702.html
   最后我们采取了第三种:
   用SQL拼接一个语句: select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
 :
  alter table BUSEXTINFO allocate extent;
  alter table BUSCHECKINFO allocate extent;
  alter table HOMEMEMBER allocate extent;
  alter table BUSASSEMBLYINFO allocate extent;
  alter table BUSASSEMBLYHISTORY allocate extent;
  alter table ASGNEMPDUTYPLUS allocate extent;
  alter table JX_MAINTAINPEOPLELD allocate extent;
  alter table MCBUSOILSTANDARDGS allocate extent;
  alter table MCBUSOILSTDDETAILDGS allocate extent;
  alter table FDISARRSEQUENCETIMELD allocate extent;
  alter table FDISARRSEQUENCETMPLD allocate extent;
  .......
最后执把这些语句执行一遍就OK了!
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI