zoukankan      html  css  js  c++  java
  • oracle11g 导出表报EXP-00011:table不存在。

     

    oracle11g,在用exp命令备份数据库时,如果表中没有数据报EXP-00011错误,对应的表不存在。这导致对应的空表无法备份。

    原因:11g默认创建一个表时不分配segment,只有在插入数据时才会产生(当然也可以强制分配),以节省磁盘空间。

    对于已经存在的空表解决办法:

    就是想办法让空表有segment,第一种:可以通过插入数据的方式(不想要这些数据可以回滚),只要有insert动作就会分配segment;

                                            第二种:就是强制分配:alter table tablename allocate extent;

    如果采用第二种可以用以下方法:

    1、用以下这句查找空表:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

     2、把查询结果导出,执行导出的语句; 

    为了后面创建的表能直接分配segment

    用系统账户登录数据库,修改参数deferred_segment_creation(11g新增的)。该参数即指是否延迟创建segment,默认为true。如果想让表创建时就分配segment,那么就应该修改该参数为false即alter system set deferred_segment_creation=false。如下所示:

     

    https://www.cnblogs.com/yzy-lengzhu/archive/2013/03/11/2953500.html

  • 相关阅读:
    vs c++配置opencv(1)
    vs2013搭建团队版本控制 TFS、SVN
    robomongo
    Node log4js
    node.async.auto
    p2.js物理引擎学习
    pomelo
    Node.mongoose
    Node.Buffer
    Node安装及搭建简单HTTP服务器
  • 原文地址:https://www.cnblogs.com/isme-zjh/p/11389092.html
Copyright © 2011-2022 走看看