之前有需求要导入导出数据,每次发现执行exp导出的表都不全,后来发现,原来在11g新特性中,对exp的导出做了限制。
Oracle11g 在使用exp 导出数据时会出现空表不能导出的问题,这是因为:
1、Oracle11g 默认对空表不分配segment,故使用exp 导出Oracle11g 数据库时,空表不
会导出。
2、默认设置deferred_segment_creation 参数为TRUE,空表不分配segment。
处理方法:
在 sqlplus 中,执行如下命令:
SQL>alter system set deferred_segment_creation=false;
查看:
SQL>show parameter deferred_segment_creation;
该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用。
3、可以使用手工为空表分配Extent的方式,来解决导出之前建立的空表的问题。说明如下:
3.1 使用ALLOCATE EXTENT的说明
使用 ALLOCATE EXTENT可以为数据库对象分配Extent。其语法如下:
-----------
ALLOCATE EXTENT { SIZE integer [K | M] | DATAFILE 'filename' | INSTANCE integer }
-----------
可以针对数据表、索引、物化视图等手工分配Extent。
ALLOCATE EXTENT使用样例:
ALLOCATE EXTENT
ALLOCATE EXTENT(SIZE integer [K | M])
ALLOCATE EXTENT(DATAFILE 'filename')
ALLOCATE EXTENT(INSTANCE integer)
ALLOCATE EXTENT(SIZE integer [K | M] DATAFILE 'filename')
ALLOCATE EXTENT(SIZE integer [K | M] INSTANCE integer)
针对数据表操作的完整语法如下:
-----------
ALTER TABLE [schema.]table_name ALLOCATE EXTENT [({ SIZE integer [K | M] |
DATAFILE 'filename' | INSTANCE integer})]
-----------
故,需要构建如下样子简单的SQL命令:
-----------
alter table aTabelName allocate extent
-----------
3.2 构建对空表分配空间的SQL命令,
查询当前用户下的所有空表(一个用户最好对应一个默认表空间)。命令如下:
-----------
SQL>select table_name from user_tables where NUM_ROWS=0;
-----------
根据上述查询,可以构建针对空表分配空间的命令语句,如下:
-----------
SQL>Select 'alter table '||table_name||' allocate extent;' from user_tables where
num_rows=0
-----------
批量输出上述生成的SQL语句,建立C:\createsql.sql,其内容如下:
-----------
set heading off;
set echo off;
set feedback off;
set termout on;
spool C:\allocate.sql;
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
spool off;
-----------
执行 C:\createsql.sql,命令如下:
-----------
SQL>@ C:\createsql.sql;
-----------
执行完毕后,得到C:\allocate.sql文件。
打开该文件会看到,已经得到对所有空表分配空间的命令SQL语句。
3.4 执行SQL命令,对空表分配空间:
执行 C:\allocate.sql,命令如下:
-----------
SQL>@ C:\allocate.sql;
-----------
执行完毕,表已更改。
3.4 此时执行exp 命令,即可把包括空表在内的所有表,正常导出。
另外:Oracle11g 中,对密码是大小写敏感的,即密码中的字母是区分大小写的。
在 Oracle10g 中及以前,密码中的字母大小写无所谓。

Oracle11gExp导出空表方法相关推荐

  1. ORACLE 11G EXP导出空表方法

    EXP在导出11G的库的时候,与过去10G,9I的版本有很大的差别. 就是没有数据的表是不会分配空间的. 从Oracle 11.2.0.1版本开始,Oracle又提供了一种新的空间分配方法: Crea ...

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

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

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

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

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

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

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

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

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

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

  7. 如何解决Oracle11g使用dmp命令无法导出空表问题

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

  8. oracle数据备份无法导出空表解决办法

    解决无法导出空表问题: 1.用下边这句查找所有用户空表: select'alter table '||owner||'.'||table_name||' allocate extent;'from a ...

  9. Oracle11g不能导出空表问题

    ORACLE 11g 用exp命令导出库文件备份时,发现只能导出来一部分表而且不提示错误,之前找不到解决方案只能把没导出来的表重新建建立.后来发现是所有的空表都没有导出来.于是想好好查查,因为在以前的 ...

最新文章

  1. leetcode算法题--二叉树中和为某一值的路径
  2. mongodb转json
  3. bzero, memset ,setmem 区别【转】
  4. 答TOGAF企业架构的一些问题
  5. 关于一道数据库例题的解析。为什么σ age22 (πS_ID,SCORE (SC) ) 选项是错的?
  6. Win7下硬盘安装Redhat双系统
  7. MySQL InnoDB Engine--数据预热
  8. [转] python提取计算结果的最大最小值及其坐标
  9. Arcgis Android - HelloWorld
  10. 安卓输入法 车机版_触宝输入法HD
  11. 数据库索引与视图实验
  12. 中兴盒子ZTE-B860AV1.1T、AV2.1-通刷-线刷固件
  13. 申请软件著作权步骤如下
  14. 如何安装服务器操作系统 HP服务器系统安装
  15. 一个中年SAP自由职业者的2020年终总结
  16. 【C++刷LeetCode套路1】Array题型: 双指针Two Pointers套路
  17. Volatility使用与实战
  18. hadoop 2.7.3 版本下载
  19. 少儿学编程好还是奥术好
  20. 【Spring】ApplicationContext和beanfactory区别

热门文章

  1. 【Google Play】声明广告权限 ( you must declare the AD_ID Permission when your app targets Android 13 )
  2. 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 Category 分类注入方法 )
  3. 【Flutter】开发 Flutter 包和插件 ( 开发 Dart 插件包 | 发布 Dart 插件包 )
  4. 【错误记录】安卓编译错误 ( Could not find xxx.tools.build:aapt2 )
  5. 【Android RTMP】音频数据采集编码 ( 音频数据采集编码 | AAC 高级音频编码 | FAAC 编码器 | Ubuntu 交叉编译 FAAC 编码器 )
  6. 用WORD2010写博客,并发送至博客园
  7. 修改Linux root用户名 后提示network manager启动失败修复
  8. idea2019的安装与激活
  9. 正则介绍_grep上 grep中 grep下
  10. 如何把VS Code的Language Server Protocol整合到Eclipse中来