`
guy19867
  • 浏览: 90163 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics