ITPub博客

首页 > 数据库 > Oracle > 11g exp导出时部分表导不出来的解决

11g exp导出时部分表导不出来的解决

原创 Oracle 作者:zuoluo2003 时间:2014-07-25 13:54:21 0 删除 编辑
生产库oracle 11g,为了搭建测试环境建了个11g的测试库。数据用exp、imp导出导入,发现测试库有部分表没有,发现11g的新特性deferred_segment_creation。这个参数等于true的时候建表以后如果不插入数据,在dba_segments中不存在,也就是不分配空间。这个会影响exp/imp,但是不会影响expdp\impdp。
解决办法很多:
1、alter table xxx move;  --这种方式会锁表,并使索引失效。不过没数据无所谓了
2、alter table xxx allocate extent;
3、建表的时候分配空间:create table xx(xx xxx) segment creation immediate;

查询那些表没有分配空间:
select * from tab t where not exists (select 'x' from dba_segments b where b.segment_name=t.tname) and T.TABTYPE='TABLE';

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/76103/viewspace-1226985/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: rlwrap介绍
请登录后发表评论 登录
全部评论

注册时间:2014-06-16

  • 博文量
    50
  • 访问量
    158135