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

Oracle数据泵详解

[日期:2014-07-25] 来源:Linux社区  作者:qytag [字体: ]

数据泵与常规方式对比:Oracle 10g开始引入数据泵,与传统exp/imp相比,数据泵可以作业分离,允许挂起和恢复导入导出任务,可以从失败点重新启动失败的作业,还可以控制导入导出的版本(version)
1、expdp命令:
    1>常用参数:

content :导出数据还是只导出元数据(表和索引创建语句等),选项有:ALL、DATA_ONLY、METADATA_ONLY
directory:dumpfile和logfile的目录对象
dumpfile/logfile
exclude:不导出指定的对象(与这些对象有依赖的也不会导出)eg:exclude=table:"like'DBA_%'"
include:导出指定的对象,与exclude功能相反,用法相同 
job_name:定义导出作业的名称
attach:附加到已经在运行的现有作业,用于管理作业
full:默认值为n,full=y表示导出所有对象 
nologfile:=y表示不写expdp的日志文件,默认值为n
tables/tablespaces:运行导出指定表/表空间,包括与这个表/表空间有依赖关系的所有对象
version:限制要导出的对象到指定版本的数据库
    2>举例:
      --创建导出目录及相关用户赋权
      create or replace directory dumpdir as '/data/backup';
      grant all on directory dumpdir to system;
      grant EXPORT FULL DATABASE to system;

      --导出全库:导出数据库所有对象
      expdp system/pwd@ip/ORACLE_SID dumpfile=dumpdir:db_%U.dmp logfile=dumpdir:db_exp_%U.log job_name=exp_db full=y
      --导出指定表空间:导出指定表空间的对象
      expdp system/pwd@ip/ORACLE_SID tablespaces=tbs dumpfile=dumpdir:tbs_01.dmp logfile=dumpdir:tbs_exp_01.log job_name=exp_tbs
      --导出特定对象:导出指定对象(如下例的function、procedure和XT开头的表)
      expdp system/pwd@ip/ORACLE_SID include=function include=procedure include=table:"like'XT%'" dumpfile=dumpdir:tab_01.dmp nologfile=y job_name=exp_tab
      --导出表:导出指定表的对象
      expdp system/pwd@ip/ORACLE_SID tables=XTCS,XTDW dumpfile=dumpdir:tab_02.dmp nologfile=y job_name=exp_tab01

2、 impdp命令:
    1>常用参数:

content :导入数据还是只导入元数据(表和索引创建语句等),选项有:ALL、DATA_ONLY、METADATA_ONLY
directory:dumpfile和logfile的目录对象
dumpfile/logfile
include:导入指定的对象,eg:exclude=table:"like'DBA_%'"
job_name:定义导入作业的名称
attach:附加到已经在运行的现有作业,用于管理作业
full:默认值为n,full=y表示导出所有对象 
nologfile:=y表示不写expdp的日志文件,默认值为n
tables/tablespaces:运行导出指定表/表空间,包括与这个表/表空间有依赖关系的所有对象
table_exists_action:定义当表已经存在时执行的操作,可选项:

                              =skip(默认值)不加载数据直接跳过当前对象并处理下一个
                              =append追加在当前表的数据之后写入
                              =replace先删除表,再创建表并加载数据
                              =truncate先清除所有数据行,再写入
    2>举例:
      --创建导入目录及相关用户赋权
      create or replace directory pumpdir as '/data/backup';
      grant all on directory pumpdir to system;
      grant IMPORT FULL DATABASE to system;

      --导入全库:导入数据库所有对象
      impdp system/pwd@ip/ORACLE_SID dumpfile=pumpdir:db_01.dmp logfile=pumpdir:db_imp_%U.log job_name=imp_db full=y
      --导入指定表空间:导入指定表空间的对象
      impdp system/pwd@ip/ORACLE_SID tablespaces=tbs dumpfile=pumpdir:tbs_01.dmp logfile=pumpdir:tbs_imp_01.log job_name=exp_tbs table_exists_action=truncate
      --导入特定对象:导入指定对象(如下例的function、procedure和XT开头的表)
      impdp system/pwd@ip/ORACLE_SID include=function include=procedure include=table:"like'XT%'" dumpfile=pumpdir:tab_01.dmp nologfile=y job_name=imp_tab
      --导入表:导入指定表的对象
      impdp system/pwd@ip/ORACLE_SID tables=XTCS,XTDW dumpfile=pumpdir:tab_02.dmp nologfile=y job_name=imp_tab01

Linux-6-64下安装Oracle 12C笔记 http://www.linuxidc.com/Linux/2013-07/86805.htm

RHEL6.4_64安装单实例Oracle 12cR1 http://www.linuxidc.com/Linux/2013-08/88510.htm

Oracle 12C新特性之翻页查询 http://www.linuxidc.com/Linux/2012-10/72611.htm

解读 Oracle 12C 的 12 个新特性 http://www.linuxidc.com/Linux/2012-10/72083.htm

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

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-07/104701.htm

linux
相关资讯       Oracle数据泵 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

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