ITPub博客

首页 > Linux操作系统 > Linux操作系统 > EXP-00011:

EXP-00011:

原创 Linux操作系统 作者:os-ora 时间:2010-11-23 16:43:08 0 删除 编辑

oracle11.2.0版本

rhel5.5版本

在某用户下新建的表,未使用,表中没有任何数据。

exp时报EXP-00011:错误,找不到该表。

但是数据库中明明存在该表。

在11gR2中如果这些表是新创建的没有插入过任何一条记录,那么将会碰到上面这样的错误。
原因在于11gR2中的新功能 – Deferred Segment Creation(延迟段创建),默认情况下这个功能是启用的。

SQL> show parameter deferred_segment_creation;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     TRUE

延迟段创建的含义是当此新创建一个可能会有Segment的对象时(比如表、索引、物化视图等),如果这个对象中还没有任何记录需要消耗一个Extent,那么将不会在创建对象时自动创建Segment,这样做的好处无疑是在创建对象时大大提高了速度。

我们在创建结束就立刻检查DBA_SEGMENTS视图,会发现没有任何记录。

SQL> select segment_name from user_segments where segment_name='T2'; 
no rows selected

解决方法:

1. 设置DEFERRED_SEGMENT_CREATION为FALSE,这样创建对象时就会自动创建Segment
2. 在创建对象时,明确指定立刻创建Segment

create table t2 (n number) SEGMENT CREATION IMMEDIATE;
3. 使用expdp替代exp(Datapump本身就是Oracle10g以后的推荐工具)

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

上一篇: 常用日期格式
下一篇: 动态建表
请登录后发表评论 登录
全部评论

注册时间:2010-01-12

  • 博文量
    148
  • 访问量
    410401