用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 在创建新表时默认是不会立即为表分配段的,直到用户开始向表中插入记录。