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),是最近在工作中遇到一个很坑的问题,甚至已经被坑了不止一次,所以这次痛定思痛,准备把这个问题彻底解决.之所以叫新方法, ...
随机推荐
- C#线程池基础
池(Pool)是一个很常见的提高性能的方式.比如线程池连接池等,之所以有这些池是因 为线程和数据库连接的创建和关闭是一种比较昂贵的行为.对于这种昂贵的资源我们往往会考虑在一个池容器中放置一些资源,在用 ...
- CoreAnimation4-隐式动画和显式动画
事务 Core Animation基于一个假设,说屏幕上的任何东西都可以(或者可能)做动画.动画并不需要你在Core Animation中手动打开,相反需要明确地关闭,否则他会一直存在. 当你改变CA ...
- html-----002
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Set集合中的HashSet集合
HashSet集合的特点:元素是具备唯一性的,每次存储都要先算出哈希值,看有没相同,没有相同的存储到相应的位置,如果相同则再判断存储进来的值是否与被比较的相同,如果相同,则不再存储,不同就存储 pac ...
- 【elasticsearch】(4)centos7 超简单安装elasticsearch 的 jdbc
前言 elasticsearch(下面简称ES)使用jdbc连接mysql比go-mysql-elasticsearch的elasticsearch-river-jdbc能够很好的支持增量数据更新的问 ...
- php的一些数组用法
数组分割 array_chunk(); 比较数组 1. array_diff() array_diff_assoc() 2. array_filter(); functionodd($var){ re ...
- 不同优化选项对ARM下C语言编译的影响
我们知道在C语言编译时,有那么几个常用的优化编译选项,分别是-O0,-O1,-O2,-O3以及-Os.之前一直觉得既然是优化选项,顶多是优化一下逻辑,提高一些效率或者减少一下程序大小而已.很少会觉得它 ...
- SQL脚本小笔记
--表添加字段.说明--- --脚本 alter table 表名 ADD 字段名 FLOAT(类型) NOT NULL Default 0(默认值) EXECUTE sp_addextendedpr ...
- webkit.net使用方法日记
1.首先貌似只有36位的库,所以项目也要修改为X86平台 2.里面的所有dll库文件都要拷贝到项目中去,包括WebKitBrowser.dll.manifest 此文件一定要拷贝过去. 3.然后引用 ...
- int和Integer——个人学习
1.首先要知道Java的八大基本数据类型:short.int.long.float.double.char.byte.boolean. 2.这八种基本数据类型对应的包装类分别为:Short.Integ ...