(FAQ)Oracle 11g 数据库用exp导出数据空表不导出

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

(FAQ)Oracle  11g 数据库用exp导出数据空表不导出

(FAQ)Oracle 11g 数据库用exp导出数据空表不导出
原因分析: 1.exp导出数据空表不导出属于Oracle 11g数据库软件本身设计的问题,经metalink查询相关资料,资料上说Oracle 11g以后的数据库已慢慢开始不支持exp这种方式来导出备份数据,将用数据泵expdp/impdp的方式来导出与导入数据进行备份。 2.Oracle为了节约空间,对空表创建时不分配segment ,只有往表里插入一行数据后才分配段,分配了段的表可以导出。 解决方法: (一)Oracle 11g版本仍用exp方式导出含空表数据的方法: 1. insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 2.设置deferred_segment_creation参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。 需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。 修正语句: alter system set sec_case_sensitive_logon = false; alter system set deferred_segment_creation=false; (二)Oracle 11g版本用数据泵expdp/impdp方式来备份数据,代替exp/imp方式 简易导出数据样例: SQL> create directory tmpdir as '/backup'; SQL> grant read, write on directory tmpdir to system; sql>expdp system/kingdee SCHEMAS=easupdate directory=tmpdir DUMPFILE=easupdate_expdp.dmp LOGFILE=easupdate_expdp.log job_name=exp_oracle 简易导入数据样例: impdp system/kingdee directory=tmpdir SCHEMAS=easupdate dumpfile=easupdate_expdp.dmp logfile=easupdate_impdplog parallel=2 job_name=imp_oracle 导入重定向用户或数据表空间样例: impdp system/oracle remap_schema=lk:lk123 remap_tablespace=EAS_D_LK_STANDARD:EAS_D_LK123_STANDARD directory=expdp_dump parallel=2 dumpfile=lk.dmp logfile=LK123.LOG 性能表现: 有数据行的表会导出,空行的表不导出。 关键字 ORACLE 11g exp

(FAQ)Oracle 11g 数据库用exp导出数据空表不导出

(FAQ)Oracle 11g 数据库用exp导出数据空表不导出原因分析:1.exp导出数据空表不导出属于Oracle 11g数据库软件本身设计的问题,经metal...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息