在11g中ORACLE为了性能,加了一个新特性,当表无数据项时,不分配表空间。以免浪费空间。
- 首先登入你所使用的数据库。
- 执行以下语句
begin for c in (select 'alter table '||table_name|| ' allocate extent ' sqlstr from user_tables where num_rows=0 or num_rows is null) loop --in里面的select无分号 execute immediate c.sqlstr; end loop; end;
- 执行导出语句即可。
总结:写一个循环语句,依据条件给予当前用户下的空数据的表分配空间。