用exp导数据经常会遇到0行的表导不出来的情况

用exp导数据经常会遇到0行的表导不出来的情况:


        在oracle 11g里面exp.exe在导出数据时,发现行数为0的表,exp工具会提示表不存在,从而导不出来,这令我常感到非常困惑。


         对于这个问题我现在用的办法是:通过 批量修改行数为0,或者块为空的表

         select 'alter table '||table_name ||' 
         allocate extent;' from user_tables t where t.num_rows=0 and t.num_freelist_blocks is  null;  


        allocate extent状态在临时表里面不能修改,因为临时表没有这个状态。

        如果还导不出来,建议 lz 先检查一下 user_segments 视图中是否存在此表对应的段。

select * from user_segments where segment_name='ONLINE1';

oracle 11g 在创建新表时默认是不会立即为表分配段的,直到用户开始向表中插入记录。

你可能感兴趣的:(oracle学习)