Oracle 11G 出现EXP-00003: 未找到段 (0,0) 解决办法

来源:互联网 发布:java init方法 编辑:程序博客网 时间:2024/06/14 18:17

Oracle 11G 出现EXP-00003: 未找到段 (0,0) 的存储定义
 oracle 11g数据库表中没有数据在导出数据的时候会遇到的问题,alter system set deferred_segment_creation=false; 该参数意思是当创建对象(如表),初始没有数据,是否立即创建segment。默认是true。这会导致在exp时,没有segment的对象不会导出。
但此命令只对以后的表有效,之前的表没有Segment的还是没有。可以创建表的时候声明立即创建Segment ,create table XXX (XXX  XXX) SEGMENT CREATION IMMEDIATE;
对于已经创建但是还没有Segment的表来说,可以执行alter table TabelName allocate extent来使其创建出Segment,当然也可以插入一条数据,使其创建Segment .
解决方法: 
    1、先查询一下当前用户下的所有空表 
select table_name from user_tables where NUM_ROWS=0;
    2、用以下这句查找空表 
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 ;
    3、把查询结果导出,执行导出的语句 如:
alter table table_name allocate extent;
阅读全文
0 0