ORACLE 11G EXP导出空表方法
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_tables
where table_name not in
(select segment_name from user_segments where segment_type ='TABLE')
ORACLE 11G EXP导出空表方法的更多相关文章
- [转载]oracle 11g不能导出空表的多种解决方法
原文地址:11g不能导出空表的多种解决方法">oracle 11g不能导出空表的多种解决方法作者:Anlin_Yang ORACLE 11g 用exp命令导出库文件备份时,发现只能导出 ...
- 解决 Oracle 11g 不能导出空表的问题
--解决 Oracle 11g 不能导出空表的问题 --执行下面语句,查询数据库中的空表,同时产生分配空间.把生成的结果复制出来并执行. select 'alter table '||table_na ...
- Oracle 11G无法导出空表的解决办法
11G中有个新特性,当表无数据时,不分配segment,以节省空间解决方法:1.insert一行,再rollback就产生segment了.该方法是在在空表中插入数据,再删除,则产生segment.导 ...
- oracle 11g不能导出空表的解决方法
在oracle 11g r2中,发现传统的exp居然不能导出空的表,然后查询一下, 发现需要如下的步骤去搞,笔记之. oracle 11g 新增了一个参数:deferred_segment_c ...
- Oracle11g的exp导出空表提示EXP-00011: 不存在
刚lg问我11g无法导出空表,实验了下,果真如此. 原因:11g默认创建一个表时不分配segment,只有在插入数据时才会产生(当然也可以强制分配),以节省磁盘空间. 对于已经存在的空表解决办法: 就 ...
- 转 一个oracle11g 使用exp导出空表丢失的问题分析及解决办法
用exp无法导出空表解决方法 最早的一次使用oracle 11g导出数据发现有的表丢失了,感觉莫名其妙的,后来终于找到原因了. 找到问题以后,再看看解决方案.11GR2中有个新特性,当表无数据时,不分 ...
- Oracle 数据库 Only 导出空表的方法
1. 之前因为oracle11.2.0.1 的bug(deferred_segment_creation) 引起无法将空表导出. 有时给同事解释上半个小时他们也不知道 如何处理 或者是 他们不会用ex ...
- Oracle11g使用exp导出空表
1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是 ...
- oracle 11g设置打开空表extent储存块
sql>alter system set deferred_segment_creation=false; sql>show parameter deferred_segment_crea ...
随机推荐
- TextView控件
1.手动创建(不建议): TextView tv = new TextView(this); tv.setContent("你好"); setContentView(tv); 2. ...
- import uno 错误
安装aeroolib 模块后,提示没有 uno 相关段一些模块, 原因是这些模块是 openoffice 中段,需要先安装 openoffice. 1:清除所有 libreoffice 软件, su ...
- 常用的gnuradio 模块
---恢复内容开始--- 参考:http://gnuradio.org/redmine/projects/gnuradio/wiki/TutorialsWritePythonApplications ...
- ACM竞赛常用STL(一)
全排列函数next_permutation STL 中专门用于排列的函数(可以处理存在重复数据集的排列问题) 头文件:#include <algorithm> using namespac ...
- eclipse问题解决(maven插件link方式安装失败)
一.link方式安装eclipse的一款插件:maven (附:若不熟悉link方式,则进入此处:link方式安装eclipse插件) 其间,只弹出警告,大概意思是:部分内容,未经授权,谨慎使 ...
- mapreduce (五) MapReduce实现倒排索引 修改版 combiner是把同一个机器上的多个map的结果先聚合一次
(总感觉上一篇的实现有问题)http://www.cnblogs.com/i80386/p/3444726.html combiner是把同一个机器上的多个map的结果先聚合一次现重新实现一个: 思路 ...
- Can deep learning help you find the perfect girl?
Can deep learning help you find the perfect girl? One of the first things I did when I moved to Mont ...
- JavaScript的应用
DOM, BOM, XMLHttpRequest, Framework, Tool (Functionality) Performance (Caching, Combine, Minify, JSL ...
- cf B Bear and Strings
题意:给你一个字符串,然后找多少区间内含有“bear”,输出数目: #include <cstdio> #include <cstring> #include <algo ...
- Android Wear开发 - 数据通讯 - 第三节 : 事件处理
http://developer.android.com/training/wearables/data-layer/events.html 以下是本人在学习官方开发文档时的笔记,主要是翻译为主,并在 ...