EXP在导出11G的库的时候,与过去10G,9I的版本有很大的差别. 就是没有数据的表是不会分配空间的.

从Oracle 11.2.0.1版本开始,Oracle又提供了一种新的空间分配方法: Create一个非分区表时,这个Table Segment并没有立刻创建, 而是直到有第一行记录插入的时候才去创建这个Segment,这和我们以前的Segment的创建和空间分配方法是不一样.这样的段也被称为延迟段.

Deferred segment 的优点:

(1)降低空间的开销:当一次创建成百上千个表时,因为很多表短时间内根本不会用到,所以可以节约大量的磁盘开销

(2)加快应用的部署:因为没有分配Segment,所以建表的时候仅仅是操作数据字典而已,不设计空间的分配,所以效率自然就高了很多

2、设置deferred_segment_creation 参数

show parameter deferred_segment_creation

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     TRUE
SQL> alter system set deferred_segment_creation=false;

系统已更改。

SQL> show parameter deferred_segment_creation

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation            boolean     FALSE

该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用

当启用deferred segment 之后,如果有空表,在使用exp进行导出时, 会报:EXP-00011: 'Table Name' does not exist。即空表不被导出。

如果想在创建表时就分配segment,可以使用如下SQL:     createtable b_tab (id number, text varchar2(10)) segment creation immediate;

空表: user_talbes的rows=0   ,分配的段是user_segments

select'altertable '||table_name ||'allocate extent size 64K;'from user_tableswhere table_name not in(select segment_name from user_segments where segment_type ='TABLE')

转载于:https://www.cnblogs.com/suncoolcat/p/3357860.html

ORACLE 11G EXP导出空表方法相关推荐

  1. Oracle11gExp导出空表方法

    之前有需求要导入导出数据,每次发现执行exp导出的表都不全,后来发现,原来在11g新特性中,对exp的导出做了限制. Oracle11g 在使用exp 导出数据时会出现空表不能导出的问题,这是因为: ...

  2. oracle gENT,Oracle 11g r2 新建空表不分配semgent

    Oracle 11g r2的新特性,延迟段创建 ,就是说从11GR2开始默认创建的表不会立及分配segment,不会占用磁盘空间,这听上去也是很合 Oracle 11g r2的新特性,延迟段创建 ,就 ...

  3. 解决Oracle数据库不能导出空表的问题

    标题的描述不太确切,应该是没有插入过数据的表(即:插入过数据,之后删除的行数为0的表是可以导出的) 解决办法: 1. 执行SQL: select 'alter table '||table_name| ...

  4. oracle无法删除em,Oracle 11g EM删除重建的方法

    虚拟机里的Oracle 11g好长时间没用了,突然打开之后发现EM无法访问了,EM可以重建,于是也不打算查找原因了,直接使大招 OS:Windows Server 2012 Oracle:11g R2 ...

  5. oracle导出dmp空表导不出来,如何解决Oracle11g使用dmp命令无法导出空表问题

    如何解决Oracle11g使用dmp命令无法导出空表问题 导出:exp  username/password@orcl file=路径 tables=(tb1)    //tables=(tb1)可有 ...

  6. Oracle 11g用exp无法导出空表的处理方法

    Oracle 11G在用EXPORT导出时,空表不能导出. 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment ...

  7. 用exp无法导出空表解决方法/用exp导出数据时表丢失原因

    用exp无法导出空表解决方法/用exp导出数据时表丢失原因 最早的一次使用oracle 11g导出数据发现有的表丢失了,感觉莫名其妙的,后来终于找到原因了. 找到问题以后,再看看解决方案. 11GR2 ...

  8. Oracle 11gR2新特性--延迟段创建(Deferred Segment Creation)和exp不能导出空表

    Oracle 11gR2新特性--延迟段创建(Deferred Segment Creation)和exp不能导出空表 真题1. 什么是延迟段创建(Deferred Segment Creation) ...

  9. 【Oracle 数据迁移】环境oracle 11gR2,exp无法导出空表的表结构【转载】

    今天做数据迁移,但是发现有些空表无法exp,后来找到问题所在. [原文]:http://www.cnblogs.com/wenlong/p/3684230.html 11GR2中有个新特性,当表无数据 ...

最新文章

  1. windows 下使用composer
  2. 基于RYU应用开发之负载均衡(源码开放)
  3. thinkphp3.0部分总结
  4. java flex xml_FLEX与JAVA的交互问题 -DOM4J-xml
  5. idea 快捷键获取类的全限定类名(包名+类名)
  6. spring+mybatis 框架搭建
  7. Makefile:.d依赖文件
  8. Java基础教程:JavaArrays工具类
  9. Visio 使用心得
  10. 用metasploit(msf)复现MS17-010(经典的永恒之蓝)SMB漏洞
  11. Java 服务接入 OpenTracing(1)--从 Tracing 到 OpenTracing
  12. html消除冒泡,取消冒泡.html
  13. gd32f103 调试 ad7606
  14. KMP 看毛片算法原理及其实现
  15. AlexNet模型详细分析
  16. 一款针对百某盘的神器
  17. Skynet中环境变量的 skynet.getenv 和 skynet.setenv 的实现
  18. 山茶花粉中咖啡因酪氨酸酶抑制剂活性的研究
  19. Core Dump 核心转储-进程异常分析jmap命令
  20. c++入门笔记自己整理+代码分析附目录(下)

热门文章

  1. ALTERA产品型号命名
  2. 在原有AXIS WEBSERVICE基础如何制作不依赖AXIS并在WAS发布的WEBSERVICE
  3. ISO 5 Lecture for Micro-Macro Interactions
  4. 文科生的数据分析:亲测有效,真香!!!
  5. how you can go to attend eap freely?
  6. mac GitHub上面如何在原有仓库的基础上增加文件呢?
  7. 和身体和谐相处的经验
  8. 从《跨过鸭绿江》中看程序员的时间管理实践
  9. 关于python编码的问题
  10. 利用 Selenium 自动化 web 测试【步骤详解】