十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近在用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 的导出命令就可以了