首页 > 代码库 > Oracle 11G 笔记:无法导出空表的解决办法

Oracle 11G 笔记:无法导出空表的解决办法

最近在用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 的导出命令就可以了


Oracle 11G 笔记:无法导出空表的解决办法