oracle空表导出的问题
之前再做项目的时候下载了一个开源的程序,数据库在移植的时候通过exp/imp导入导出,结果程序在启动时报错,对比过后发现两个数据库表相差了十几个,再排查问题,发现少掉的十几个表全部是空表,查了一下oracle11g的特性,发现当数据条数是0时不分配segment,所以就不能被导出!我勒个擦!坑爹有木有!
但是总不能每个表插入一条数据再导出吧,作为一个程序猿总不能上手工课吧,于是继续查,找到了一个解决办法,特此记录,以儆效尤!
第一种解决办法:
在创建数据库之前,先将数据库segment属性进行修改,SQL语句如下:
alter system set deferred_segment_creation=false;
含义如下:deferred_segment_creation,含义是段延迟创建,默认是true。如果这个参数设置为true,你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,只有当你insert数据后才分配空间。这样可以节省少量的空间。设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment。需要注意的是,该值设置后只对后面新增的表产生作用,对之前建立的空表不起作用,在修改后需要重新启动数据库参数才能生效
第二种解决办法:
先查一下哪些表是空的,然后使用ALLOCATE EXTENT为数据库对象分配Extent,SQL如下:
查询空表:select table_name from user_tables where NUM_ROWS=0;
生成修改语句:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 ;
执行生成修改语句的SQL后会生成一堆的ALTER的SQL语句,将生成的语句执行后,再进行exp数据导出,就可以导出所有数据了!
oracle空表导出的问题的更多相关文章
- Oracle空表导出
执行: Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 执行该命令后产 ...
- oracle 空表导出dmp会报错
步骤一.查找出来的语句全部复制并执行 select 'analyze table '||table_name||' compute statistics;' from user_tables; 步骤二 ...
- ORACLE 空表不能导出问题解决
exp不导出空表,是11g的新特性,当表无数据时,不分配segment,以节省空间,所以exp导出的时候,不导出这些表. 先登录要导出的用户执行以下语句 先执行 select 'alter table ...
- oracle 11g 空表导出
背景 oracle9用了一段时间,10用了一段时间,11现在算是主流了.11g也是坑人,空表竟然不导出,解决方法到时很多.这里只是记录下,知道有这个事情. 9的特点是还要用客户端管理工具链接服务器 1 ...
- Oracle11g空表导出方法
今天凌晨在客户现场进行一个Oracle11g的数据库迁移,习惯性的用了exp/imp,然后在新的数据库发现,空表根本没有exp出来,然后查资料,发现了如下信息:[ORACLE 11G在用EXPORT导 ...
- oracle空表导不出来
在oracle 11g r2中,使用exp有时候会导不出空的表,原因是这些表没有分配空间,手工分配空间即可导出. ----查询当前用户下的所有空表: select table_name from us ...
- Oracle空表的分配segment
1.查询相关参数deferred_segment_creation select * from v$parameter where name='deferred_segment_creation' ...
- 【EXP】Oracle多表导出问题
有些时候,需要导入某个用户的一些相关表.但是不知道用户的用户名和密码.这样就很尴尬 但是如果手上有dba权限的用户的话,就很方便的能导出了 先要知道多表导出的语句 exp system/123456 ...
- oracle 空表无法导出
1.执行该语句 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; ...
随机推荐
- php dirname(__FILE__) 获取当前文件的绝对路径 (转)
比如当前文件是放在(d:\www\)下,文件名是test.php. 测试的代码如下: 复制代码 代码如下: <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\ ...
- (转)javascript匿名函数的写法、传参和递归
(原)http://www.veryhuo.com/a/view/37529.html (转)javascript匿名函数的写法.传参和递归 http://www.veryhuo.com 2011-0 ...
- docker 源码分析 一(基于1.8.2版本),docker daemon启动过程;
最近在研究golang,也学习一下比较火的开源项目docker的源代码,国内比较出名的docker源码分析是孙宏亮大牛写的一系列文章,但是基于的docker版本有点老:索性自己就git 了一下最新的代 ...
- C语言实现双向循环链表
#include <stdio.h> #include <stdlib.h> #include <string.h> struct list_head { stru ...
- Oracle的内存结构
备注:本图片截图自“炼数成金” Oracle的体系结构分为内存结构.进程,磁盘文件. 内存结构分为SGA, PGA.SGA是系统全局区,是所有的用户共享区,PGA是某个用户的私有区. SGA分为sha ...
- segues的类型
Name Interface Builder symbol Description Show Present the content in the detail or master area depe ...
- Android Sudoku应用挂掉的问题
在真机上测试数独游戏时发现,快速点击屏幕时,游戏偶尔出现挂死的情况,Log如下 04-08 15:35:00.838 7317-7356/org.elvalad.sudoku D/OpenGLRend ...
- 黑马程序员:Java编程_反射技术
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== Java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性 ...
- Swift基础语法 、 元组(Tuple)
字符串的使用 1.1 问题 Swift的String和Character类型提供了一个快速的,兼容Unicode的方式来处理代码中的文本信息.创建和操作字符串的语法与C语言中字符串类似.本案例将学习如 ...
- 用python+selenium将腾讯首页今日话题的内容自动发表到自己cnblog里
目的:使用pyhton下的unittest单元测试框架并结合selenium的webdriver来实现将腾讯首页的今日话题下的内容自动发表达到自己的cnblog里. 思路:创建QQDailyTopic ...