欢迎光临
我们一直在努力

无法导出空表的解决办法

最近在用ORACLE 11G 。对数据导出导入的时候发现一个问题:oracle 不会对无数据的空表进行导出。查资料发现,原来这种情况只出现在Oracle 11g 中,处理办法如下:

  • sqlcommand:  alter system set deferred_segment_creation=false; 

    意思是禁止推迟创建表的段,也就是表创建后不管有没有数据都要分配空间。该参数修改后对该时间点以前创建的表无用。所以还是要对以前的表分配空间。

  • sql:  Select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where num_rows=0 or num_rows is null

    以上拼出来的SQL可以批量生成修改分配空间为空的表。将查询的结果执行以下即可。现在再进行EXP 或者  EXPDP 的导出命令就可以了

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。