exp 导出空表
1、设置参数 deferred_segment_creation,该参数默认为TRUE,及默认不为空表分配extent。
alter system set deferred_segment_creation=false scope=both;
修改参数后只对先创建的表起作用。
2、分析user_tables中的num_rows,因为该值可能与count(*)不准确。
declare
v_sql varchar2(1000);
begin
for tab in (select table_name from user_tables)
loop
v_sql :='analyze table '||tab.table_name||' estimate statistics';
execute immediate v_sql;
end loop;
end;
3、为空表分配extent
declare
v_sql varchar2(100);
begin
for tab in (select table_name from user_tables where num_rows=0)
loop
v_sql :='alter table '||tab.table_name||' allocate extent';
execute immediate v_sql;
end loop;
end;
1、设置参数 deferred_segment_creation,该参数默认为TRUE,及默认不为空表分配extent。
alter system set deferred_segment_creation=false scope=both;
修改参数后只对先创建的表起作用。
2、分析user_tables中的num_rows,因为该值可能与count(*)不准确。
declare
v_sql varchar2(1000);
begin
for tab in (select table_name from user_tables)
loop
v_sql :='analyze table '||tab.table_name||' estimate statistics';
execute immediate v_sql;
end loop;
end;
3、为空表分配extent
declare
v_sql varchar2(100);
begin
for tab in (select table_name from user_tables where num_rows=0)
loop
v_sql :='alter table '||tab.table_name||' allocate extent';
execute immediate v_sql;
end loop;
end;