OracleGR用exp无法导出空表解决方法.docVIP

OracleGR用exp无法导出空表解决方法.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OracleGR用exp无法导出空表解决方法

Oracle 11G在用EXPORT导出时,空表不能导出   11GR2中有个新特性,当表无数据时,不分配segment,以节省空间   解决方法: 一、??insert一行,再rollback就产生segment了。   该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 二、??设置deferred_segment_creation 参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。修改SQL语句: alter system set deferred_segment_creation=false scope=both; ?   需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。 三、??用以下这句查找空表   selectalter table ||table_name|| allocate extent; from user_tables where num_rows=0;   把查询结果导出,执行导出的语句,强行修改segment值,然后再导出即可导出空表, 注意:数据库插入数据前,修改11g_R2参数可以导出空表 查找空表 select altertable ||table_name|| allocate extent; from user_tables where num_rows=0 ? 四、??Oracle 10g以后增加了expdp和impdp工具,用此工具也可以导出空的表 oracleexpdp/impdp?用法详解 1)??创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。 createdirectory db_bak as d:\test\dump; ? 2)??查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * fromdba_directories; ? 3)??给system用户赋予在指定目录的操作权限,最好以system等管理员赋予。 grantread,write on directory db_bak to system; ? 4)??导出数据 l??按用户导 expdp system/manager@orclschemas=system dumpfile=expdp.dmp DIRECTORY=db_bak? l??并行进程parallel expdp system/manager@orcldirectory=db_bak dumpfile=system3.dmp parallel=40 job_name=system3 l??按表名导 expdp system/manager@orclTABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=db_bak; l??按查询条件导 expdp system/manager@orcldirectory=db_bak dumpfile=expdp.dmp Tables=emp query=WHERE deptno=20; l??按表空间导 expdpsystem/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmpTABLESPACES=temp,example; l??导整个数据库 expdpsystem/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y ? 5)??五、还原数据 l??1)导到指定用户下 impdp system/managerDIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=system; l??2)改变表的owner impdpsystem/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp TABLES=system.deptREMAP_SCHEMA=system:system; l??3)导入表空间 impdpsystem/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=example; l??4)导入数据库 impdbsystem/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y; l??5)追加数据 impdpsystem/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=systemTAB

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档