Oracle11GR2用exp无法导出空表解决方法..docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle 11G R2 用exp无法导出空表解决方法 Oracle 11G在用EXPORT导出时,空表不能导出原因:11G R2中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 设置deferred_segment_creation 参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。修改SQL语句: alter system set deferred_segment_creation=false scope=both; 需注意的是:该值设置后对以前导入的空表不产生作用,仍不能导出,只能 对后面新增的表产生作用。如需导出之前的空表,只能用第一种方法。 用以下这句查找空表 select alter table ||table_name|| allocate extent; from user_tables where num_rows=0; 把查询结果导出,执行导出的语句,强行修改segment值,然后再导出即可导出空表, 注意:数据库插入数据前,修改11g_R2参数可以导出空表 查找空表 select alter table ||table_name|| allocate extent; from user_tables where num_rows=0 Oracle 10g以后增加了expdp和impdp工具,用此工具也可以导出空的表 oracle expdp/impdp 用法详解 创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等 管理员创建。 create directory db_bak as d:\test\dump;查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * from dba_directories; 给system用户赋予在指定目录的操作权限,最好以system等管理员赋予。 grant read,write on directory db_bak to system; 导出数据按用户导 expdp system/manager@orcl schemas=system dumpfile=expdp.dmp DIRECTORY=db_bak 并行进程parallel expdp system/manager@orcl directory=db_bak dumpfile=system3.dmp parallel=40 job_name=system按表名导 expdp system/manager@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=db_bak; 按查询条件导 expdp system/manager@orcl directory=db_bak dumpfile=expdp.dmp Tables=emp query=WHERE deptno=20; 按表空间导 expdp system/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=temp,example; 导整个数据库 expdp system/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y 还原数据导到指定用户下 impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=system; 改变表的owner impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp TABLES=system.dept REMAP_SCHEMA=system:system; 导入表空间 impdp system/manager DIRECTORY=db_bak DUMPFILE=tablespace.dmp TABLESPACES=example; 导入数据库 impdb system/mtmadmin DIRECTORY=db_bak DUMPFILE=full.dmp FULL=y; 追加数据 impdp system/manager DIRECTORY=db_bak DUMPFILE=expdp.dmp SCHEMAS=system TABLE_

文档评论(0)

tiangou + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档