无法导出空表的解决办法

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

创新互联公司 - 雅安服务器托管,四川服务器租用,成都服务器租用,四川网通托管,绵阳服务器托管,德阳服务器托管,遂宁服务器托管,绵阳服务器托管,四川云主机,成都云主机,西南云主机,雅安服务器托管,西南服务器托管,四川/成都大带宽,服务器机柜,四川老牌IDC服务商

  • 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 的导出命令就可以了


当前文章:无法导出空表的解决办法
本文来源:http://ybzwz.com/article/ihpcij.html