oracle11g导出dmp文件时不能导出空表,导致缺表

来源:互联网 发布:电子狗升级软件 编辑:程序博客网 时间:2024/06/07 01:01

1、设置deferred_segment_creation参数(以下语句可以在cmd里登录数据库后执行):

查看参数:show parameter deferred_segment_creation ;

设置参数:alter system set deferred_segment_creation=false;


需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。

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,执行之后就可以导出空表了

原创粉丝点击