问题说明
DB服务器oracle版本:11.2.0.4.0
最近在客户端用exp命令导出部分表时报错,如题。搜索了一下,找到以下解决方案:
问题原因
Oracle 11g 有一个参数deferred_segment_creation,默认是true。
意思是当你create某个表但没有插入任何数据时,不会给这个表分配存储空间。
解决方案
那我们就手动找出那些空表,去批量分配空间。相当于初始化一个存储空间。
select 'alter table '||table_name||' allocate extent(size 64k);'
from user_tables where table_name not in (select segment_name from user_segments where segment_type = 'TABLE');
将查询出的结果复制执行即可。
本文详细介绍了在使用Oracle 11g的exp命令导出部分表时遇到的错误,并提供了解决方案。问题源于deferred_segment_creation参数默认为true,导致未插入数据的表不分配存储空间。通过执行特定SQL语句,可以批量分配空间给空表,解决导出问题。
2万+

被折叠的 条评论
为什么被折叠?



