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

在oracle11g中,每张表在起初创建时,默认是不分配区段给此对象。

当首次插入数据时,会分配对应的区段。

对应控制参数为 deferred_segment_creation=true

如果要保持跟低版本保持一致的属性,可以设定此参数值为flase

alter system set deferred_segment_creation=false scope=both;

在后续创建的新表中,会默认分配区段。

如果参数值设定为true,即使在创建表时指定具体的存储参数来获取初始区段大小,也不会分配对应区段。

eg:

create table A_ALLOCAT_EXTENT

(

userno   NUMBER,

username VARCHAR2(20 CHAR)

)

tablespace USERS

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

SQL> select * from user_extents t where t.segment_name = ‘A_ALLOCAT_EXTENT‘;

no rows selected

在设定参数值为false后,需要把没有分配区段的表,增加区段。

获取没有分区的表名:

select table_name from user_tables

minus

select segment_name from user_segments

然后执行分区语句进行分配:

alter table A_ALLOCAT_EXTENT allocate extent (size 8K); -- 大小自己定义

时间: 2024-08-03 02:55:32

oracle 11g exp默认空表不导出 原因及解决方法的相关文章

【原创】关于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

oracle 11g 64位使用PL/SQL无法登陆的解决方法(转)

因为要用PL/SQL,所以今天刚安装oracle 11g 64位,结果打开之后PL/SQL没有自动自动配置,登录不了. 然后网上找了如下博文,按照步骤问题解决.分享下博文内容 1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载instantclient-basic-win32-11.2.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安

旗正规则引擎内存表出错的原因及解决方法分享

1        内存表 1.1     汇总 1.1.1       错误 汇总列中必须包含分组列所属部门 1.1.2       解决方案 点击图片中的"sum(基本工资)",弹出窗体,将所属部门加入.引发该问题的原因是,分组列存在的字段,必须要包含在汇总列中. 1.2     更新 1.2.1       错误 数组个数小于取值位置:-1 1.2.2       解决方案 出现该错误的原因是内存表中没有数据.可能性有两个,一.内存表真没有数据,二.更行的时候字段的英文名称没有对应

使用旗正规则引擎内存表出错的原因及解决方法

1        内存表 1.1     汇总 1.1.1       错误 汇总列中必须包含分组列所属部门 1.1.2       解决方案 点击图片中的“sum(基本工资)”,弹出窗体,将所属部门加入.引发该问题的原因是,分组列存在的字段,必须要包含在汇总列中. 1.2     更新 1.2.1       错误 数组个数小于取值位置:-1 1.2.2       解决方案 出现该错误的原因是内存表中没有数据.可能性有两个,一.内存表真没有数据,二.更行的时候字段的英文名称没有对应,导致没有

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,以节省空间 想要给空表也分配segmant,有以下两个办法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ----------------

Oracle 11g初始安装后空表导出的问题

Oracle 11g初始化安装之后注意以下几点1.密码大小写的问题.2.空表无法导出问题.[R2版本才有的特性]3.默认密码有效期为180天. 解决方式:运行 sqlplus /nolog connect / as sysdbaalter system set sec_case_sensitive_logon=false; --修改密码大小写alter system set deferred_segment_creation=false; --段不延迟创建,空表就能导出了.alter profi

mysql 直接从date 文件夹备份表,还原数据库之后提示 table doesn`t exist的原因和解决方法

补充:正常情况下,建议数据库备份最好用工具进行备份,通过拷贝数据库表进行数据迁移,不同的环境会出现各种不同的意外问题. 背景:今天在整理一个网站的时候,操作系统由于系统自动更新导致一直出现系统蓝屏死机,唉,悲剧了,于是重新安装了系统 windows server 2008 enterprise 32bit. 详情: 系统安装完成后,重新配置之前那个网站,appache服务配好之后,再配置数据的时候是这样做的,将原来Mysql 文件夹(C:\Windows.old\ProgramData\MySQ