解决:EXP-00003: 未找到段 (0,0) 的存储定义报错
问题说明
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');
将查询出的结果复制执行即可。