exp报错与exp为何导不出某些表结构原因是什么
本篇内容主要讲解“exp报错与exp为何导不出某些表结构原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“exp报错与exp为何导不出某些表结构原因是什么”吧!
11G中有个新特性,当表无数据时,不分配segment,以节省空间
解决方法:
设置deferred_segment_creation 参数
修改配置参数
sqlplus /nolog
SQL>connect system/password as sysdba;
SQL>show parameter deferred_segment_creation;
你会看到它默认为true,修改。
SQL>alter system set deferred_segment_creation=false;
重启oracle服务。
show parameter deferred_segment_creation
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
SQL> alter system set deferred_segment_creation=false;
系统已更改。
SQL> show parameter deferred_segment_creation
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean FALSE
该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。
需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。
搞了我好久,最后查到这个方法。
先查询一下当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;
用以下这句查找空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or segment_created='NO'
把查询结果导出,执行导出的语句
'ALTERTABLE'||TABLE_NAME||'ALLOCATEEXTENT;'
与
expdp报错:ora-39127“WMSYS”
原因:
LT_EXPORT_PKG在10.2.0.4之前,应该在SYS模式下,但在10.2.0.4及之后,该包已经移到WMSYS模式下.
检查EXPPKGACT$表内容
select * from sys.exppkgact$ wherepackage='LT_EXPORT_PKG';
解决方法:
create table sys.exppkgact$_backup asselect * from sys.exppkgact$; --备份表
delete fromsys.exppkgact$ where package ='LT_EXPORT_PKG'; --删除表里值为 LT_EXPORT_PKG 这个的数据
到此,相信大家对“exp报错与exp为何导不出某些表结构原因是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341