exp报错以及exp无法导出某些表结构的原因是什么?
11G中有一个新功能。当表没有数据时,不会分配。节省空间
解决方案:
设置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服务。
显示参数 deferred_segment_creation
NAME--------------- ---------- ------------------------- - -----
deferred_segment_creation boolean TRUE
SQL> alter system set deferred_segment_creation=false;
系统已更改。
SQL> 显示参数 deferred_segment_creation
名称 ---------------- ---------- --- ----------------------- -----
DEFERRERD_SEGMENT_CREATION BOOLEAN FALSE
该参数值为真的。当改为False时,无论是空表还是非空表。
需要注意的是,设置该值后,不会对之前导入的空表产生任何影响,并且仍然无法导出。它只能对以后新添加的表起作用。如果需要导出之前的空表,只能使用第一种方法。
尝试了很久,终于找到了这个方法。
首先查询当前用户下的所有空表
select table_name from user_tables where NUM_ROWS=0;
使用以下语句查找空表
选择“alter table '||table_name||”分配范围;' from user_tables where num_rows=0 oregment_created='NO'
导出查询结果并执行导出的语句
'ALTERTABLE'||TABLE_NAME|| 'ALLOCATEEXTENT;'
和
expdp 错误:ora-39127“WMSYS”
原因:
LT_EXPORT_PKG 在 10.2.0.4 之前应该处于 SYS 模式,但在 10.2.0.4 及之后,软件包已移至 WMSYS 模式。
检查 EXPPKGACT$ 表内容 < /p>
select * from sys.exppkgact$ wherepackage='LT_EXPORT_PKG';
解决方案:
创建表sys.exppkgact$_backup asselect * from sys.exppkgact $; --备份表
删除fromsys.exppkgact$ where package ='LT_EXPORT_PKG'; --删除表中值为LT_EXPORT_PKG的数据
到这里,相信大家对“exp报错以及为什么exp无法导出某些表结构”有了更深入的了解,你还不如在实践中去做呢!这是网站。更多相关内容,您可以进入相关渠道进行查询。关注我们并继续学习!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > exp报错以及exp无法导出某些表结构的原因是什么?