原因:oralce_11g 中有个新特性,当表无数据时,不分配 segment,以节省空间,这也就导致了 exp 在导出表时,没有数据的表会被忽略 方法一:我们可以向表中插入数据,在删除,这样数据表就分配了 segment,就可以导出了 (该方法比较麻烦,不推荐) 方法二:我们可以停用 oracle_11g 中的特性,但是这需要数据库管理员权限,指令如下 sqlplus / as sysdba show parameter deferred_segment_creation; -- 查看是否启用…
Oracle11g 新增參数deferred_segment_creation  ,建库的时候默认值为true,意思是延时载入,当表中不存在数据的时候,不为这个表创建空间,当你导出的时候会发现非常多表不存在 使用show parameter deferred deferred_segment_creation; 命令能够查看deferred_segment_creation的值.假设想让空表导出 方法一:像库表中插入值 方法二:1.运行sql改动deferred_segment_creation…
Oracle 11G在用EXP 导出时,空表不能导出解决 (转)(.http://wanwentao.blog.51cto.com/2406488/545154 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred…
实践结论可行,看"2.解决办法" 一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME                           …
一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 .insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. .设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------…
轻松解决oracle11g 空表不能exp导出的问题 [引用 2012-9-22 18:06:36]     字号:大 中 小 oracle11g的新特性,数据条数是0时不分配segment,所以就不能被导出. 共两种解决方法,推荐使用第二种(最简单).一.修改数据库参数alter system set deferred_segment_creation=false; 修改后,也不会导出空表,只有新建的空表才会导出,不适用,只有新建数据库时,修改此参数才比较有用.二.sql语句1.先查询一下哪些…
查询空表 并导出修改空表语句 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null; 如果表存在分区 alter table 表名 modify partition 分区名 allocate extent;…
一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ --------…
11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表.不推荐这种方法. 2.设置deferred_segment_creation 参数 设置deferred_segment_creation 参数为FALSE来禁用"段推迟创建"(也就是直接创建segment),无论是空表还是非空表,都分配segment. 查询该权限…
一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间 想要给空表也分配segmant,有以下两个办法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ----------------…
在使用exp备份数据库,然后使用imp导入的时候出现了好多表或者视图不存在的错误信息. 究其原因,是11G中增加了一个新的特性:数据条数是0时不分配segment,所以就不能被导出. 解决思路:就是向空表中增加一行数据.但是如果有很多空表,一行一行的导入就好出现问题.下面是终极解决方案: 在命令行执行: select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 将查询出来的语句…
http://www.jb51.net/article/43894.htm 一.不能导出空表的原因 1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment. 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 查看: SQL>…
11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creationNAME                                 TYPE        VALUE ---------…
通过exp进行数据导出的时候,如果表的数据为空,则会出现警告,并且表也不会导出,不利于数据恢复. 可以通过以下方法进行解决: 一.使用ALLOCATE EXTENT,可以导出之前已经存在的空表 --查询当前用户中所有记录数为0的表 ; --拼接SQL字符串 or num_rows is null --将查询出来的数据进行执行,更改表信息 --例如:alert table t_1 allocate extendt; --说明: --ALLOCATE EXTENT语法描述: ALLOCATE EXT…
exp不导出空表,是11g的新特性,当表无数据时,不分配segment,以节省空间,所以exp导出的时候,不导出这些表. 先登录要导出的用户执行以下语句 先执行 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; 后执行 SET FEEDBACK OFF set heading off set pagesize 1000 spool d:\allocateemptyta…
 oracle11g 新增加了 deferred_segment_creation 的属性在创建的数据库表中,如果表中没有数据,并且这个参数是true的话,并不是直接就在数据文件中的增加相应的segment,而是会延迟占用空间,可以用来节省相应的数据库空间. 这时候就会造成问题 exp进行导出时 segment里面没有的表 就不进行导出就会造成一些空白没有进行备份,这个时候就需要修改一下参数的属性置为false alter system set deferred_segment_creation…
11G中有个新特性,当表无数据时,不分配segment,以节省空间解决方法:1.insert一行,再rollback就产生segment了.该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment.需注意的是:该值设置后对以前已经存在的空表不…
    ORACLE 11G在用EXP导出时,发现空表(没有数据或者没有用过的表)不能导出了.     查了一下资料,说是Oracle 11G中有个新特性,当表无数据时,不分配segment,以节省空间,所以这些表也没能导出来.用下面的SQL查询,发现不能导出的表, segment_created 字段值都是 'NO'. Select segment_created,table_name from user_tables where segment_created = 'NO';       解…
一.引言: 在看<收获,不止Oracle>的神奇,走进逻辑体系世界一章时,需要新建一张表查看Extents的情况,由于该书的环境是ORACLE10G的,因此新建空表以后立刻就分配Segment,而我使用的是Oracle11gR2,新建空表后没有立即分配Segment.这就是11GR2的新特性,延迟段创建,就是说从11GR2开始默认创建的表不会立即分配segment,不会占用磁盘空间,当第一条数据insert时才会分配空间. 二.实验模拟: SQL> select * from v$ver…
转自:http://www.2cto.com/database/201109/105931.html oracle11g的新特性,数据条数是0时不分配segment,所以就不能被导出. 解决方法: 1插入一条数据(或者再删除),浪费时间,有时几百张表会累死的.2创建数据库之前使用代码: Sql代码 alter system set  deferred_segment_creation=false;  调整再建表这两种方都不好下面是终极方法: 先查询一下哪些表是空的: Sql代码 select t…
解决方法: 1插入一条数据(或者再删除),浪费时间,有时几百张表会累死的.2创建数据库之前使用代码: Sql代码 alter system set  deferred_segment_creation=false;  调整再建表这两种方都不好下面是终极方法: 先查询一下哪些表是空的: Sql代码 select table_name from user_tables where NUM_ROWS=0;   下面我们通过select 来生成修改语句:Sql代码 select 'alter table…
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null…
1.执行该语句   select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;    2.展开所有数据,,点击列,选中所有数据,CTRL+C  复制   3.打开新窗口,粘贴,执行.   4.再导出即可  …
一般的添加非空列的步骤是:先add可以为空的列,然后update该列为一个值(比如0),最后modify该列的类型 但是遇到类型为clob的就不行了.在modify这步时报错:ORA-22296:invalid ALTER TABLE option for conversion of Long datatype to LOB,于是去找了下22296错误的详细信息:(http://docs.oracle.com/cd/E11882_01/server.112/e17766/e19999.htm#O…
C:\Users\Administrator>sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 星期日 8月 17 19:24:29 2014 Copyright (c) 1982, 2010, Oracle.  All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production Wi…
select 'alter table '||table_name||' allocate extent(size 64k);' from tabs t where not exists (select segment_name from user_segments s where s.segment_name=t.table_name);…
一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME                                 TYPE        VALU…
Oracle 11G在用EXPORT导出时,空表不能导出. 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 alter system set deferred_segment_creation=false; 该参数值默认是TRUE,当改为FALSE时,无论…
如何解决Oracle11g使用dmp命令无法导出空表问题 导出:exp  username/password@orcl file=路径 tables=(tb1)    //tables=(tb1)可有可无,方便导出指定表 导入:imp username/password@orcl file=路径 tables=(tb1)  full=y 在用plsql导出dmp的时候,没有数据的表显示没有导出成功 解决 1执行 alter system set deferred_segment_creation…
Oracle 11G在用export导出时,空表不能导出,11G R2中有个新特性,当表无数据时,不分配segment,以节省空间. 那么我们应该如何导出空表: 利用如下语句生成alter语句,未每个空表分配segment select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; 粘贴运行结果sql直接运行: 然后直接使用plsql导出数据表即可.…