ORACLE EXP-00011:表不存在的分析和解决方案
解决方法:
~~看下数据库的延迟段创建参数
SQL> show parameter DEFERRED_SEGMENT_CREATION
NAME TYPE VALUE
----------------------------------- -------------------- --------------------
deferred_segment_creation boolean TRUE
首先先说下 对DEFERRED_SEGMENT_CREATION 的讲述
在 ORACLE 11g R2 版本时提供deferred segment creation延长段(空间分配法:创建非分区表,表的table segment不会创建,直到insert 数据时自动创建个segment)
优点:
创建大量表时,暂时不用的表,节约大量的磁盘开销,减少存储空间:降低空间开销
没分配segment,create table仅操作数据字典,不涉及空间分配,提高效率:加快应用的部署
缺点:
在exp、imp的时候。这些表被当成不存在的表(以下有解决方法)
注意:该特性不适用sys/sysdba用户 --> ∵DBA用户会自动在创建表的时候直接创建segment,普通/system用户不会
deferred_segment_creation true :那么表的segments和相关的对象(索引,lobs)都会在insert 之后才创建。目的:减少对磁盘空间的占用和创建时间
false :禁用此功能,对改后的table生效
exp 不支持deferred segment ∴进行导出时, 会报:EXP-00011: 'Table Name' does not exist。(Expdp/impdp对deferred segment是支持的)建议使用数据泵导入导出
要是数据库报此错误延迟段参数= true的话就可能有空表,没有分配segment
--首先查看未分配segment的表
select table_name from tabs t where not exists (select segment_name from user_segments s where s.segment_name=t.table_name);
解决EXP-00011方法:
1、在创建表时就分配segment
createtable table1 (id number)) segment creation immediate;
2、也可以通过改deferred_segment_creation为false:
SQL> alter system set deferred_segment_creation=false;-->只对改后的表生效
--调整deferred_segment_creation为默认值(true):
SQL> alter system reset deferred_segment_creation;
3、对于已存在的空表,通过手动的分配segment/直接向空表里insert一条数据的方法
SQL> alter table table_name move; 缺点索引要重建
SQL> alter table table_name allocate extent;
对于多得表查询执行(select 'alter table '||table_name||' allocate extent(size 64k);' from tabs t where not exists (select segment_name from user_segments s where s.segment_name=t.table_name) and rownum=1;)
--查看segment分配情况
select segment_name fromuser_segments where segment_name in ('tname1','tname2...');
Export started on 2013-1-29 19:02:44
E:oracleproduct10.2.0db_1BINexp.exe parfile=C:DOCUME~1ADMINI~1LOCALS~1Tempplsexp.par
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过直接路径...
. . 正在导出表 BASE_DEMO_MODEL导出了 0 行
成功终止导出, 没有出现警告。
Export finished on 2013-1-29 19:02:46
OK了
ORACLE EXP-00011:表不存在的分析和解决方案的更多相关文章
- ORACLE中seq$表更新频繁的分析
在分析ORACLE的AWR报告时,发现SQL ordered by Executions(记录了按照SQL的执行次数排序的TOP SQL.该排序可以看出监控范围内的SQL执行次数)下有一个SQL语句执 ...
- 记一次ORACLE的UNDO表空间爆满分析过程
这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...
- oracle EXP导出一张表时使用query参数指定where条件
oracle exp 导出一个表的部分内容,使用query参数可加上SQL的where条件进行过滤 注意:如果需要使用到日期字符串格式等单引号,需要使用双引号将where条件括起来,而且双引号要用\做 ...
- oracle 11g空表不能exp导出问题解决方案
oracle 11g空表不能exp导出问题解决方案 最近由于要进行迁移服务器代码和数据库,突然发现导出的表少了,通过排查发现空表尽然没有exp导出,真是郁闷啊,虽然是空表没数据,但也不能没有啊,如何是 ...
- oracle exp 无法导出空表
oracle exp 无法导出空表 select 'alter table '|| a.table_name ||' allocate extent;' from user_tables a wh ...
- Oracle的外部表
一.外部表特性 数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.ORACLE的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用D ...
- Oracle 之 外部表
一.外部表概述 外部表只能在Oracle 9i 之后来使用.简单地说,外部表,是指不存在于数据库中的表. 通过向Oracle 提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数 据库表 ...
- Oracle包被锁定的原因分析及解决方案
http://blog.csdn.net/jojo52013145/article/details/7470812 在数据库的开发过程中,经常碰到包.存储过程.函数无法编译或编译时会导致PL/SQL ...
- Oracle 导出空表的新方法(彻底解决)
背景 使用Exp命令在oracle 11g 以后不导出空表(rowcount=0),是最近在工作中遇到一个很坑的问题,甚至已经被坑了不止一次,所以这次痛定思痛,准备把这个问题彻底解决.之所以叫新方法, ...
随机推荐
- Masonry等比缩放
第一种: CGFloat width = CGRectGetWidth([[UIScreen mainScreen] bounds]); CGFloat aspectRatio = 1 ...
- 类库探源——System.Exception
一.MSDN描述 Exception 类: 表示在应用程序执行期间发生的错误 命名空间 : System 程序集: mscorlib.dll 继承关系: 常用属性(含字段)和方法: 1. 属性Me ...
- PC110304/UVA850
这题目WA了好几次,主要是我没有理解清楚No solution.这个情况. 如果在match原文做好了,基本map一下就能过了. 与原句match的条件就是: 1.出现了26个字母 2.该空格的地方要 ...
- 解决打不开jar包
Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件,其跨平台特性使得很多工具软件都用jar方式来部署分发,比如用于H ...
- Linux的cat、more、less的区别
cat命令功能用于显示整个文件的内容单独使用没有翻页功能因此经常和more命令搭配使用,cat命令还有就是将数个文件合并成一个文件的功能. more命令功能:让画面在显示满一页时暂停,此时可按空格健继 ...
- 『重构--改善既有代码的设计』读书笔记----Change Reference to Value
如果你有一个引用对象,很小且不可改变,而且不易管理,你就需要考虑将他改为一个值对象.在Change Value to Reference我们说过,要在引用对象和值对象之间做选择,有时候并不容易,有了重 ...
- ToString函数用法
// C 货币 2.5.ToString("C"); // ¥2.50 // D 10进制数 25.ToString("D5"); // 25 ...
- php 常用几个函数
function foo($arg){ $arg_num = func_num_args(); // 获取函数参数的个数 $args = func_get_args(); // 获取 ...
- hadoop 异常处理实例(一)hadoop内存配置项
Exception in thread "main" java.io.IOException: Job failed! at org.apache.hadoop.mapred.Jo ...
- bzoj 2152: 聪聪可可 树的点分治
2152: 聪聪可可 Time Limit: 3 Sec Memory Limit: 259 MBSubmit: 485 Solved: 251[Submit][Status] Descripti ...