`
frank1998819
  • 浏览: 751458 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

oracle数据泵备份(Expdp命令)[转]

 
阅读更多
Oracle备份方式主要分为数据泵导出备份、热备份与冷备份三种,今天首先来实践一下数据泵备份与还原。数据泵导出/导入属于逻辑备份,热备份与冷备份都属于物理备份。oracle10g开始推出了数据泵(expdp/impdp),可以使用并行参数选项,因此,相对于传统的exp命令来说,执行效率更高。

  一、知晓expdp命令
C:\>expdp -help
Export: Release 11.1.0.7.0 - Production on 星期六, 28 9月, 2013 10:21:52
Copyright (c) 2003, 2007, Oracle.  All rights reserved.
数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。该实用程序可以使用以下命令进行调用:
示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp
您可以控制导出的运行方式。具体方法是: 在 'expdp' 命令后输入各种参数。要指定各参数, 请使用关键字:
   格式: expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
   示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scot
        或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表
USERID 必须是命令行中的第一个参数。
关键字               说明 (默认)
---------------------------------------------------------------------------
ATTACH                连接到现有作业, 例如 ATTACH [=作业名]。
COMPRESSION           减小转储文件内容的大小, 其中有效关键字  值为: ALL, (METADATA_ONLY), DATA_ONLY 和 NONE。
CONTENT              <SPAN style="COLOR: #ff0000"> 指定要卸载的数据, 其中有效关键字  值为: (ALL), DATA_ONLY 和 METADATA_ONLY。</SPAN>  --默认值为ALL                   
DATA_OPTIONS          数据层标记, 其中唯一有效的值为: 使用CLOB格式的 XML_CLOBS-write XML 数据类型
DIRECTORY             <SPAN style="COLOR: #ff0000">供转储文件和日志文件使用的目录对象</SPAN>。
DUMPFILE              <SPAN style="COLOR: #ff0000">目标转储文件 (expdat.dmp) 的列表,例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d
</SPAN>ENCRYPTION            <SPAN style="COLOR: #ff0000">加密部分或全部转储文件, 其中有效关键字值为: ALL, DATA_ONLY, METADATA_ONLY,ENCRYPTED_COLUMNS_ONLY 或 NONE。</SPAN>
ENCRYPTION_ALGORITHM  指定应如何完成加密, 其中有效关键字值为: (AES128), AES192 和 AES256。
ENCRYPTION_MODE       生成加密密钥的方法, 其中有效关键字值为: DUAL, PASSWORD 和 (TRANSPARENT)。
ENCRYPTION_PASSWORD   用于创建加密列数据的口令关键字。
ESTIMATE              计算作业估计值, 其中有效关键字值为: (BLOCKS) 和 STATISTICS。
ESTIMATE_ONLY         在不执行导出的情况下计算作业估计值。
EXCLUDE               <SPAN style="COLOR: #ff0000">排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。--EXCLUDE=[object_type]:[name_clause],[object_type]:[name_clause]<BR></SPAN>FILESIZE              以字节为单位指定每个转储文件的大小。
FLASHBACK_SCN         用于将会话快照设置回以前状态的 SCN。 --指定导出特定SCN时刻的表数据<BR>FLASHBACK_TIME        用于获取最接近指定时间的 SCN 的时间。--指定导出特定时间点的表数据,注意FLASHBACK_SCN和FLASHBACK_TIME不能同时使用<BR>FULL                  <SPAN style="COLOR: #ff0000">导出整个数据库 (N)。</SPAN>
HELP                  显示帮助消息 (N)。
INCLUDE               包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。
JOB_NAME              要创建的导出作业的名称。
LOGFILE               <SPAN style="COLOR: #ff0000">日志文件名 (export.log)。
</SPAN>NETWORK_LINK          链接到源系统的远程数据库的名称。
NOLOGFILE             不写入日志文件 (N)。
PARALLEL              <SPAN style="COLOR: #ff0000">更改当前作业的活动 worker 的数目。</SPAN>
PARFILE               <SPAN style="COLOR: #ff0000">指定参数文件</SPAN>。
QUERY                 <SPAN style="COLOR: #ff0000">用于导出表的子集的谓词子句。--</SPAN>QUERY = [schema.][table_name:] query_clause<BR>REMAP_DATA            <SPAN style="COLOR: #ff0000">指定数据转换函数,例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。
</SPAN>REUSE_DUMPFILES       覆盖目标转储文件 (如果文件存在) (N)。
SAMPLE               <SPAN style="COLOR: #ff0000"> 要导出的数据的百分比;
</SPAN>SCHEMAS               <SPAN style="COLOR: #ff0000">要导出的方案的列表 (登录方案)。
</SPAN>STATUS                在默认值 (0) 将显示可用时的新状态的情况下,要监视的频率 (以秒计) 作业状态。
TABLES                <SPAN style="COLOR: #ff0000">标识要导出的表的列表 - 只有一个方案。--[schema_name.]table_name[:partition_name][,…]<BR></SPAN>TABLESPACES          <SPAN style="COLOR: #ff0000"> 标识要导出的表空间的列表。
</SPAN>TRANSPORTABLE         指定是否可以使用可传输方法, 其中有效关键字值为: ALWAYS, (NEVER)。
TRANSPORT_FULL_CHECK  验证所有表的存储段 (N)。
TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。
VERSION               <SPAN style="COLOR: #ff0000">要导出的对象的版本, 其中有效关键字为:(COMPATIBLE), LATEST 或任何有效的数据库版本。
</SPAN><BR>下列命令在交互模式下有效。
注: 允许使用缩写
命令               说明
---------------------------------------------------------------------------
ADD_FILE              向转储文件集中添加转储文件。
CONTINUE_CLIENT       返回到记录模式。如果处于空闲状态, 将重新启动作业。
EXIT_CLIENT           退出客户机会话并使作业处于运行状态。
FILESIZE              后续 ADD_FILE 命令的默认文件大小 (字节)。
HELP                  总结交互命令。
KILL_JOB              分离和删除作业。
PARALLEL              更改当前作业的活动 worker 的数目。PARALLEL=<worker 的数目>。                     <BR>REUSE_DUMPFILES       覆盖目标转储文件 (如果文件存在) (N)。
START_JOB             启动/恢复当前作业。
STATUS                在默认值 (0) 将显示可用时的新状态的情况下,要监视的频率 (以秒计) 作业状态。STATUS[=interval]
STOP_JOB              顺序关闭执行的作业并退出客户机。STOP_JOB=IMMEDIATE 将立即关闭数据泵作业。
<BR><SPAN style="COLOR: #ff0000">备注:红颜色标记的字体,表示是expdp命令常用的命令选项,这个需要大家掌握理解并能灵活运用。()括号括起来的代表是expdp命令的默认选项</SPAN>

 二、准备工作

  1、查询路径信息

   查看已经创建的路径信息:

    SELECT * FROM dba_directories;

  2、创建路径

  创建路径需要sys权限,需要有create any directory权限才可以创建路径。

  选项:DIRECTORY=directory_object

  Directory_object用于指定目录对象名称。需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS目录。

  eg: CREATE OR REPLACE directory backup_path AS 'D:\APP\ORADATA\db_backup'; --创建路径名为dackup_path的路径,并指向硬盘的指定位置

  对新创建的路径进行授权操作:

  eg:grant read,write on directory backup_path to orcldev; --将对路径的读写权限分配各orcldev用户。

 三、操作实例

  执行expdp和impdp命令需要拥有exp_full_database和imp_full_database权限,授权语句如下:

  eg:grant exp_full_database,imp_full_database to orcldev;

   1、导出orcldev这个schema的所用对象[schemas or full]

   eg:expdp orcldev/oracle@orcldev directory=backup_path dumpfile=orcldev_schema.dmp logfile=orcldev_schema_2013.log schemas=orcldev

   2、导出orcldev这个用户下的某些表[tables]

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_table.dmp logfile=orcldev_table_2013.log tables=('TAB_TEST','TAB_A')

   3、只导出orcldev这个用户的元数据[content]

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_meta.dmp logfile=orcldev_meta_2013.log     

      SCHEMAS=orcldev CONTENT=METADATA_ONLY

    4、只导出orcldev这个用户50%的抽样数据[sample]

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_samp.dmp logfile=orcldev_samp_2013.log schemas=orcldev sample=50

    5、采用并行方式备份整库[parallel]

    parallel参数只有在oracle10g之后的版本(包含10g)有效。

    oracle_online:you can use the DUMPFILE parameter during export operations to specify multiple dump files, by using a substitution variable (%U) in the filename. This is called a dump file template. The new dump files are created as they are needed, beginning with 01 for %U, then using 02,03,and so on.

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_parallel_%U.dmp logfile=orcldev_parallel_2013.log parallel=4

    "%U"表示自动生成递增的序列号。

   6、导出orcldev这个方案对象,但不包含索引[exclude]

   eg: --可以剔除的对象有:VIEW,PACKAGE,FUNCTION,index,constraints,table,schema,user等等

    1) C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log SCHEMAS=orcldev EXCLUDE=index

    2) C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log SCHEMAS=orcldev EXCLUDE=INDEX:"LIKE 'TEST%'"   --导出这个orcldev方案,剔除以TEST开头的索引

    3) C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log EXCLUDE=SCHEMA:"='SCOTT'"

    C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log EXCLUDE=USER:"='SCOTT'"

        --备份整库但剔除SCOTT这个用户的对象。  

   注意:include与exclude不能同时使用。

   7、PARFILE选项

    expdp命令可以调用parfile文件,在parfile里可以写备份脚本,可以使用query选项。

    Oracle highly recommends that you place QUERY specifications in a parameter file; otherwise, you might have to use operating system-specific escape characters on the command line before each quotation mark.

   如expdp.txt 内容如下:

        USERID=orcldev/oracle directory=dackup_path dumpfile=orcldev_parfile.dmp logfile=orcldev_parfile.log TABLES='TAB_TEST' QUERY="WHERE TRAN_DATE=TO_DATE('2013-08-31','YYYY-MM-DD')"

    执行方法:expdp parfile=expdp.txt 即可执行备份

    使用parfile好处是使用query选项是不用使用转义字符,如果将query参数放到外边的话,需要将""进行转义。

    eg:

    UNIX写法:

    expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log schemas=orcldev INCLUDE=TABLE:\"IN \(\'TEST_A\',\'TEST_B\'\)\" --在Unix系统执行是需要将单引号进行转义操作,否则会报错。

    WINDOWS写法:

    expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log schemas=orcldev INCLUDE=TABLE:"IN \('TEST_A','TEST_B')"

   8、TABLESPACE导出表空间

    eg:expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log tablespaces=user,orcldev

     9、Version选项

    VERSION选项默认值是COMPATIBLE,即兼容模式。在我们备份的时候,可以指定版本号。

    eg:expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log full=Y VERSION=10.2.0.4

   10、FLASHBACK_TIME选项

    指定导出特定时间点的表数据,可以联系一下FLASHBACK功能。

    eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_flash.dmp logfile=orcldev_flash.log SCHEMAS=orcldev   FLASHBACK_TIME="TO_TIMESTAMP('2013-09-28 14:30:00','DD-MM-YYYY HH24:MI:SS')"

  四、参考

      http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_export.htm#i1007829  
分享到:
评论

相关推荐

    oracle的impdp和expdp数据泵导入导出全备数据库-详细笔记文档总结

    Oracle 的 IMPDP 和 EXPDP 数据泵导入导出全备数据库详细笔记文档总结 Oracle 的 IMPDP 和 EXPDP 是两个强大的数据泵工具,用于将 Oracle 数据库中的数据导入或导出到其他数据库或文件中。在本文档中,我们将详细...

    oracle数据泵备份

    ### Oracle 数据泵备份详解 #### 一、Oracle 数据泵备份概念与作用 Oracle 数据泵(Data Pump)是一种高效的数据迁移工具,它通过 Export 和 Import 的方式实现数据在不同数据库之间的迁移,尤其适用于大规模数据...

    【数据泵】EXPDP导出表结构(真实案例).pdf

    本文档对于希望学习和掌握Oracle数据泵技术的IT从业者来说,是一份宝贵的学习资源。同时,作者鼓励读者对文档中可能存在的错误或不足之处进行指正,以便不断完善和进步。最终,希望此文档能够帮助读者避免在进行数据...

    oracle数据泵服务器备份

    ### Oracle 数据泵服务器备份知识点详解 #### 一、Oracle 数据泵简介 Oracle 数据泵是一种用于高效导入导出数据的强大工具,它比传统的 `EXPDP` 和 `IMPDP` 工具更加高效且易于管理。数据泵操作主要包括 `EXPDP`...

    expdp异地备份全过程(非常详细)

    expdp 是 Oracle 提供的一种数据导出工具,用于将数据库中的数据导出到一个文件中,以便于数据的备份和迁移。下面将详细介绍 expdp 异地备份的全过程。 安装数据库 在备份服务器上安装与生产数据库版本一致的...

    Oracle 数据泵详解

    总结起来,Oracle数据泵是Oracle数据库管理中不可或缺的工具,它提供了高效、灵活的数据迁移和备份解决方案,通过理解并熟练使用EXPDP和IMPDP,数据库管理员可以更好地维护和管理Oracle数据库环境。

    oracle 数据泵与传统的导入导出的区别与实践

    通过理解并掌握Oracle数据泵的这些特点和使用方法,数据库管理和开发人员可以更高效地进行数据迁移、备份和恢复,提升工作效率,同时确保数据的完整性和一致性。在实际工作中,可以根据具体需求选择合适的数据泵操作...

    oracle 数据泵实战

    通过上述实践,我们可以看到Oracle数据泵在数据库管理中扮演的重要角色。无论是日常的维护工作还是特定的需求处理,数据泵都能够提供强有力的支持。希望本文能够帮助读者更好地理解和运用这一强大的工具。

    Oracle 数据泵导出和导入.docx

    Oracle 数据泵导出和导入 Oracle 数据泄导出和导入是 Oracle 10g 中引入的 DATA PUMP 技术,提供了基于...Oracle 数据泵导出和导入技术提供了一种高效、可靠的数据备份和恢复方式,能够满足企业级别的数据管理需求。

    Oracle数据泵简明使用手册

    ### Oracle数据泵简明使用手册知识点详解 #### 一、Oracle数据泵简介 Oracle数据泵是一种高效的工具,用于实现数据库中的数据与元数据的大规模导入导出操作。它相较于传统的`exp`和`imp`工具提供了更高的性能和更...

    绝对干货-Oracle 数据泵命令全解析.docx

    通过了解和掌握Oracle数据泵的expdp命令,我们可以更有效地进行数据迁移、备份和恢复,从而提高数据库管理的效率和可靠性。对于大型Oracle数据库环境,数据泵的高效性能和灵活性使其成为不可或缺的数据管理工具。

    oracle数据泵导入导出原件bat

    本篇文章将深入探讨Oracle数据泵的使用方法,特别是在批处理(bat)文件中的应用。 首先,`bat`文件是一种批处理脚本,主要用于Windows操作系统,它允许用户一次性执行多个命令,简化重复的操作。在Oracle数据泵的...

    Oracle数据泵并行导入导出.zip

    Oracle数据泵(Data Pump)是Oracle数据库系统中用于高效数据迁移和备份恢复的重要工具,它在数据导入导出过程中提供了显著的性能提升。本压缩包包含的资源将帮助你理解和运用Oracle数据泵进行并行导入导出操作,...

    ORACLE数据泵参数说明

    ORACLE 数据泵是 ORACLE 数据库的逻辑备份工具,通过使用 expdp 命令可以完成数据的逻辑备份。下面将详细介绍 expdp 命令的参数说明: 1. ATTACH:该选项用于客户会话与已存在到的处作用之间建立关联,ATTACH=...

    Linux:Oracle导出导入数据泵(EXPDP,IMPDP)

    Oracle 数据库的数据泵技术(EXPDP 和 IMPDP)是用于数据迁移、备份和恢复的高效工具,首次出现在 Oracle Database 10g 版本中。相比于传统的 EXP 和 IMP 工具,数据泵提供了显著的性能提升,这主要得益于其并行处理...

    Centos7.6下oracle impdp导入和expdp导出.docx

    本文档将详细介绍如何在 Centos7.6 操作系统环境下利用 Oracle 的数据泵功能(Data Pump)来进行数据的导出(expdp)和导入(impdp)。数据泵是 Oracle 提供的一种高效的数据迁移工具,它能够帮助用户快速地将数据库...

    ORACLE数据泵使用

    ### ORACLE数据泵使用详解 #### 一、简介 ##### 1.1 目的 本文档旨在为FMIS数据库10G或更高版本提供一套完整的数据备份与恢复方案。通过详细介绍ORACLE数据泵(Data Pump)的使用方法,帮助数据库管理员(DBA)有效...

    oracle数据库数据泵的使用

    本文介绍了Oracle数据泵的使用方法,包括了expdp的导出模式、impdp的导入模式以及它们的一些高级功能,如字符集处理、trace文件记录和自动备份策略等。这些功能对于数据库管理员来说非常重要,能够帮助他们在维护...

    玩转oracle11g数据泵

    Oracle数据泵是Oracle数据库中用于高效数据导入导出的强大工具,主要由两个组件组成:EXPDP(Export Data Pump)和IMPDP(Import Data Pump)。它们在数据库管理和迁移、备份恢复、性能优化等方面发挥着至关重要的...

Global site tag (gtag.js) - Google Analytics