Oracle 11G在用EXP 导出时,空表不能导出解决
发布时间:2020-12-12 12:38:23 所属栏目:百科 来源:网络整理
导读:? 【问题产生】 11G中有个新特性,当表无数据时,不分配 segment ,以节省空间。导致空表不能导出 ? 【解决方法】 ① insert 一行,再 rollback 就产生 segment 了。 该方法是在在空表中插入数据,再删除,则产生 segment 。导出时则可导出空表。 ? ②设置 d
? 【问题产生】11G中有个新特性,当表无数据时,不分配segment,以节省空间。导致空表不能导出 ? 【解决方法】①insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 ? ②设置deferred_segment_creation 参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。 ? 打开Command Window
执行SQL> show parameter deferred_segment_creation;
?执行SQL> alter system set deferred_segment_creation=false;
查看修改 ? ??处理之前的空表无法导出问题 A、先查询一下当前用户下的所有空表 select table_name from user_tables where NUM_ROWS=0; ? B、用以下这句查找拼接空表SQL select ‘alter table ‘||table_name||‘ allocate extent;‘ from user_tables where num_rows=0
C、把查询结果导出,执行导出的语句(Command Window)。
? D、然后再执行exp数据库导出命令,这样就能把之前空的表也导出来了 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |