Oracle空表开关
设置deferred_segment_creation参数(以下语句可以在cmd里登录数据库后执行):
查看参数:show parameter deferred_segment_creation ;
设置参数:alter system set deferred_segment_creation=false;
exp无法导出空表
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。
2、导出以前导入的空表
a,分析用户下的所有表:将该sql语句查询出的结果都执行一遍(目的为了查询空表)
select ‘analyze table ‘||table_name||’ compute statistics;’ from user_tables;
b,查询该用户下所有的空表:将第二条sql语句的执行结果都执行一遍
select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where num_rows=0;
c,执行之后就可以导出空表了
终极解决办法
expdp