oracle11g,在用exp命令备份数据库时,如果表中没有数据报EXP-00011错误,对应的表不存在。这导致对应的空表无法备份。
原因:11g默认创建一个表时不分配segment,只有在插入数据时才会产生(当然也可以强制分配),以节省磁盘空间。
对于已经存在的空表解决办法:
就是想办法让空表有segment,第一种:可以通过插入数据的方式(不想要这些数据可以回滚),只要有insert动作就会分配segment;
第二种:就是强制分配:alter table tablename allocate extent;
如果采用第二种可以用以下方法:
1、用以下这句查找空表:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
2、把查询结果导出,执行导出的语句;
为了后面创建的表能直接分配segment:
用系统账户登录数据库,修改参数deferred_segment_creation(11g新增的)。该参数即指是否延迟创建segment,默认为true。如果想让表创建时就分配segment,那么就应该修改该参数为false即alter system set deferred_segment_creation=false。如下所示:
分享到:
相关推荐
oracle11G-解决空表导出的问题-带实例,操作步骤。
解决Oracle 11G空表数据不能导出[程序/源码]
exp命令导出oracle11g的数据库时,空表会出现错误
oracle 11g R2 新增的特性,exp无法导出空表,可以通过expdp命令导出,具体在附件里。
有效的解决了Oracle数据库中 空表不能导出的问题,大大节省了开发时间。
导出数据不包含空表解决方案。Oracle 11g导出空表、少表的解决办法 ORACLE 11G中有个新特性,当表无数据时,不分配segment,以节省空间。 解决方法: 1)insert一行,再rollback就产生segment了 该方法是在...
解决Oracle导出dmp文件空表导不出问题!可有效的处理到处问题
文档有为什么oracle 11g不能导出空白,导出空表的详细操作方法(很简便哦)
oracle11g导出空表、少表的解决方案
oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出。此资源提供将空表导出的的两种方法。
Oracle导出空表解决办法
Oracle11g使用exp导出空表,解决备份无法导出空表的问题
Oracle 11g R2 执行export导出时 空表无法导出原因及解决方法
oracle11g对于空表用exp不能导出的解决办法.txt
Oracle11g和oracle10g之间数据的导入导出.
oracle expdp impdp 分区表重映射导出导入 数据迁移方案,以SI01用户为例子,将用户分区表导出后,将分区表重映射到新的表空间,完成数据迁移和检查。照方案例子按步去做,一定能成功。
oracle空白表导出的配置操作说明。根据说明进行操作。
oracle11g 数据库库导入导出说明,菜鸟级别数据库导入导出说明
关于R2无法exp出空表的方法。考虑到节省空间,oracle11g r2不给空表分配segment,具体办法见附件。