Oracle11g不能导出空表问题
ORACLE 11g 用exp命令导出库文件备份时,发现只能导出来一部分表而且不提示错误,之前找不到解决方案只能把没导出来的表重新建建立。后来发现是所有的空表都没有导出来。于是想好好查查,因为在以前的10g版本中没有这样的问题。
查资料发现Oracle 11g中有个新特性:新增了一个参数“deferred_segment_creation”含义是段延迟创建,默认是true。
具体是什么意思呢?
如果这个参数设置为true,你新建了一个表Table1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,即表也不分配 segment 以节省空间,所以这些表也没能导出来。在系统表user_tables中也可以看到segment_treated的字段里是“NO”或者“YES”说明了某张表是否分配了segment。说白了是为了可以节省少量的空间。
用下面的SQL语句查询,可以发现没有导出的表其 segment_created 字段值都是 'NO'。
Select segment_created,table_name from user_tables where segment_created = 'NO';
解决方法:需要为每张空表添加如下语句
alter table TableName allocate extent
1,查询当前用户下的所有空表(一个用户最好对应一个默认表空间)。命令如下:
SQL>select table_name from user_tables where NUM_ROWS=0;
2,根据上述查询,可以构建针对空表分配空间的命令语句,如下:
Select 'alter table '||table_name||' allocate extent;' from user_tables where
num_rows=0 or num_rows is null or segment_created = 'NO'
3,执行2中所有语句
转载于:https://www.cnblogs.com/yuyuchen/p/8075709.html
Oracle11g不能导出空表问题相关推荐
- oracle导出dmp空表导不出来,如何解决Oracle11g使用dmp命令无法导出空表问题
如何解决Oracle11g使用dmp命令无法导出空表问题 导出:exp username/password@orcl file=路径 tables=(tb1) //tables=(tb1)可有 ...
- 如何解决Oracle11g使用dmp命令无法导出空表问题
如何解决Oracle11g使用dmp命令无法导出空表问题 导出:exp username/password@orcl file=路径 tables=(tb1) //tables=(tb1)可有 ...
- Oracle11gExp导出空表方法
之前有需求要导入导出数据,每次发现执行exp导出的表都不全,后来发现,原来在11g新特性中,对exp的导出做了限制. Oracle11g 在使用exp 导出数据时会出现空表不能导出的问题,这是因为: ...
- oracle exp空数据表,Oracle11g中Exp空表的问题
数据是从oracle10g导出的,导入oracle11g一切都正常 运行了一段时间, 需要从11g中exp导出 使用这次备份的再次导入到11g时发现少了很多表 还以为是导出有问题哩.通过N次试验和查 ...
- 【Oracle 数据迁移】环境oracle 11gR2,exp无法导出空表的表结构【转载】
今天做数据迁移,但是发现有些空表无法exp,后来找到问题所在. [原文]:http://www.cnblogs.com/wenlong/p/3684230.html 11GR2中有个新特性,当表无数据 ...
- 用exp无法导出空表解决方法/用exp导出数据时表丢失原因
用exp无法导出空表解决方法/用exp导出数据时表丢失原因 最早的一次使用oracle 11g导出数据发现有的表丢失了,感觉莫名其妙的,后来终于找到原因了. 找到问题以后,再看看解决方案. 11GR2 ...
- Oracle 11g用exp无法导出空表的处理方法
Oracle 11G在用EXPORT导出时,空表不能导出. 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment ...
- Oracle 11gR2新特性--延迟段创建(Deferred Segment Creation)和exp不能导出空表
Oracle 11gR2新特性--延迟段创建(Deferred Segment Creation)和exp不能导出空表 真题1. 什么是延迟段创建(Deferred Segment Creation) ...
- oracle数据备份无法导出空表解决办法
解决无法导出空表问题: 1.用下边这句查找所有用户空表: select'alter table '||owner||'.'||table_name||' allocate extent;'from a ...
最新文章
- linux redis数据库安装配置,Linux系统中redis的安装配置步骤
- 【MySQL性能优化】数据库设计三大范式(二)
- java comparator_Java基础之String漫谈(二)
- VS2013 ConsoleApplication1.exe”(Win32):无法查找或打开 PDB 文件。
- SVN可视化管理iF.SVNAdmin+LDAP认证
- vbs基础教程(1)
- linux系统的日历如何改,linux下实现农历的日历
- chm 已取消到该网页的导航,打不开!
- jdk安装 系统找不到文件C:\ProgramData\Oracle\Java\javapath\java.exe
- SSL2706 2017年8月17日提高组T2 考试(贪心)
- 抖音C#版,自己抓第三方抖音网站
- 【号外】马云这次帮了大忙,银行卡再也不用怕被盗刷!
- 基于OpenCV的卡尔曼滤波的设计
- Spring Data Neo4j解除两个节点之间的关系
- Ubuntu的一些实用软件
- 软 RAID 和硬 RAID的比较概览
- EXCEL2010数据挖掘插件 下载地址
- Android StatusBar 黑底白字
- c语言——结构体数组——学生成绩表
- 用C#(入门) 双色球摇奖机 随机数实现