解决11g导出时,空表不能导出问题

--根据上述查询,可以构建针对空表分配空间的命令语句,如下:
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 d:/dropobj.sql;
--Select ‘alter table ‘||table_name||‘ allocate extent;‘ from user_tables where num_rows=0;
Select ‘alter table ‘ || table_name || ‘ allocate extent;‘ From user_tables where segment_created= ‘NO‘;
spool off;

--执行C:\createsql.sql,命令如下:
@@d:/dropobj.sql;
host del d:/dropobj.sql;

原文地址:https://www.cnblogs.com/li-sx/p/9328434.html

时间: 2024-10-13 06:41:14

解决11g导出时,空表不能导出问题的相关文章

oracle 11g exp默认空表不导出 原因及解决方法

在oracle11g中,每张表在起初创建时,默认是不分配区段给此对象. 当首次插入数据时,会分配对应的区段. 对应控制参数为 deferred_segment_creation=true 如果要保持跟低版本保持一致的属性,可以设定此参数值为flase alter system set deferred_segment_creation=false scope=both; 在后续创建的新表中,会默认分配区段. 如果参数值设定为true,即使在创建表时指定具体的存储参数来获取初始区段大小,也不会分配

Oracle 11G在用EXP 导出时,空表不能导出解决[转]

转自:http://wanwentao.blog.51cto.com/2406488/545154 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME         

解决Oracle 11g在用EXP导出时,空表不能导出

一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME                                 TYPE        VALU

Oracle 11G在用EXP 导出时,空表不能导出解决

一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 SQL> show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ---

处理Oracle 11g在用EXP导出时,空表不能导出

一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间 想要给空表也分配segmant,有以下两个办法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ----------------

Oracle 11g 在备份导出时缺少表的问题

ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间. 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2)设置deferred_segment_creation参数 SQL> show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------

【原创】关于oracle11G空表无法导出问题的解决方法

在网上搜索了相关资料后,结合自己的实际情况,总结了一下解决方法,具体如下: 1.先批量分析统计各表总记录数: --批量分析统计表记录总数 begin for obj in (select 'analyze table '||table_name|| ' compute statistics ' sqlstr from user_tables) loop --in里面的select无分号 execute immediate obj.sqlstr; end loop; end; 2.再批量分配ext

解决Oracle11g空表无法导出的问题

Oracle11g 新增參数deferred_segment_creation  ,建库的时候默认值为true,意思是延时载入,当表中不存在数据的时候,不为这个表创建空间,当你导出的时候会发现非常多表不存在 使用show parameter deferred deferred_segment_creation; 命令能够查看deferred_segment_creation的值.假设想让空表导出 方法一:像库表中插入值 方法二:1.运行sql改动deferred_segment_creation

Oracle11g新特性导致空表不能导出问题

    ORACLE 11G在用EXP导出时,发现空表(没有数据或者没有用过的表)不能导出了. 查了一下资料,说是Oracle 11G中有个新特性,当表无数据时,不分配segment,以节省空间,所以这些表也没能导出来.用下面的SQL查询,发现不能导出的表, segment_created 字段值都是 'NO'. Select segment_created,table_name from user_tables where segment_created = 'NO'; 解决的办法: 设置de