Oracle导出dmp文件,Oracle11g导出dmp有空表

Oracle11g导出dmp有空表

今天在用plsql导出dmp的时候命令行输出有些表显示没有导出成功,查了下这些表发现都是空表,也就是说plsql在导出这些表的时候空表是不导出的。经过查询,以下为解决方案:

1 首先使用下面的sql语句查询一下当前用户下的所有空表(语句不用修改)

select table_name from user_tables where NUM_ROWS=0;

2 然后用以下SQL语句执行查询(语句不用修改)

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

3 把上一步得到的查询结果,如:
alter table T_CF_EX_TEMPLATE allocate extent;
这样的sql执行一遍即可。

原因应该是Oracle在判断出这些表是空表后为了节约空间,就不为他们做导出了。这时候需要让segment知道有新的表

你可能感兴趣的:(oracle-11g,oracle,空表,plsql)