你好,游客 登录 注册 搜索
背景:
阅读新闻

Oracle下的exp/imp 浅谈

[日期:2017-06-12] 来源:Linux社区  作者:jim123 [字体: ]

  在平时做Oracle的备份的时候一般都是做逻辑热备份,而做逻辑热备份一般都是使用exp/imp,在这里就简单的说一说。
  使用exp导出数据imp导入数据操作如下:
exp username/password owner=backup file=backup.dmp
imp username/password file=backup.dmp ignore=y full=y

在这里解释一下其中ignore=y表示忽略创建错误,继续后面的操作,这个参数在full=y表示全部导入包括表约束这些内容,这个参数在导入时比较重要。

  不过在这里需要注意的一点是在Oracle 11g版本开始后添加了一个新特性当表无数据时,不分配segment,以节省空间,而缺省下这个功能都是开启的,可以通过以下方法查看:

sql> show parameter deferred_segment_creation;

所以在11g的版本后要使用exp导出时还需要做相应的检查,当然因为这个特性使得在11g版本使用exp导出时遇到空表就不会导出,这个问题在也有很多的解决方案,当然个人比较认可的方法应该是在导出前关闭deferred_segment_creation的功能然后检查所有的空表,然后再给找到的所有空表分配空间,操作如下:
sql> alter system set  deferred_segment_creation=false;
sql> select table_name from user_tables where NUM_ROWS=0;
sql> select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

此时再用exp导出即可

----------------------------华丽丽的分割线----------------------------

Oracle导入导出expdp IMPDP详解 http://www.linuxidc.com/Linux/2014-04/99932.htm

Oracle 10g expdp导出报错ORA-4031的解决方法 http://www.linuxidc.com/Linux/2014-04/99842.htm

Oracle 10gr2 rac expdp 报错UDE-00008 ORA-31626 http://www.linuxidc.com/Linux/2014-03/98984.htm

Oracle中利用expdp/impdp备份数据库的使用说明 http://www.linuxidc.com/Linux/2014-01/95568.htm

Oracle备份还原(expdp/impdp) http://www.linuxidc.com/Linux/2014-06/102789.htm

exp/imp与expdp/impdp区别 http://www.linuxidc.com/Linux/2016-08/133899.htm

Oracle 导出导入 expdp/impdp/exp/imp用法  http://www.linuxidc.com/Linux/2017-05/143474.htm
 
----------------------------Expdp/Impdp的相关参数----------------------------

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-06/144631.htm

linux
相关资讯       EXP/IMP 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款