zoukankan      html  css  js  c++  java
  • 数据泵

    1、创建directory d1
    create directory dd1 as '/home/oracle/';
    2、授权
    grant read,write on directory d1 to public;
    3、创建源数据库与本地数据库的联系
    本地tnsname.ora里添加源端数据库信息
    4、创建dblink(需要public)
    create public database link aaaalink connect to system identified by "cpty" USING 'cpty';
    5、expdp命令
    expdp system/test11g{本地数据库用户名/密码} dumpfile=ty.dump logfile=ty.log schemas=scott directory =
    d1 network_link=aalink

    (源端与本地端版本一致)

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    利用数据泵不产生dump文件直接导入本地数据库。

    impdp system/test11g{本地数据库用户名/密码} logfile=scotqqt.log schemas=scott{按用户导出} directory = d1 network_link=aaaalink remap_schema=scott:qq{按用户导入从源端scoot到本地qq}

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    数据泵引入version参数用于不同版本的服务端与客户端之间不能远程备份(待续)

     ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    数据泵相关参数

    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    三 oracle 10g 和11g的互相导入和导出

    1) 可以用10g的client连接11个导出11g的数据库,即可导入10g 2)用expdp,impdp,如:
    在11g服务器上,使用expdp命令备份数据

    EXPDP USERID='SYS/cuc2009@cuc as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log
    version=10.2.0.1.0

    在10g服务器上,使用impdp命令恢复数据

    准备工作:1.建库2.建表空间3.建用户并授权4.将aa.dmp拷贝到10g的dpdump目录下

    IMPDP USERID='SYS/cuc2009@cucf as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log
    version=10.2.0.1.0
    数据泵导出实用程序提供了一种用于在 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=scott
    或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表

    USERID 必须是命令行中的第一个参数。

    ------------------------------------------------------------------------------

    以下是可用关键字和它们的说明。方括号中列出的是默认值。

    ATTACH
    连接到现有作业。
    例如, ATTACH=job_name。

    COMPRESSION
    减少转储文件大小。
    有效的关键字值为: ALL, DATA_ONLY, [METADATA_ONLY] 和 NONE。

    CONTENT
    指定要卸载的数据。
    有效的关键字值为: [ALL], DATA_ONLY 和 METADATA_ONLY。

    DATA_OPTIONS
    数据层选项标记。
    有效的关键字值为: XML_CLOBS。

    DIRECTORY
    用于转储文件和日志文件的目录对象。

    DUMPFILE
    指定目标转储文件名的列表 [expdat.dmp]。
    例如, DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。

    ENCRYPTION
    加密某个转储文件的一部分或全部。
    有效的关键字值为: ALL, DATA_ONLY, ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY 和 NONE

    ENCRYPTION_ALGORITHM
    指定加密的方式。
    有效的关键字值为: [AES128], AES192 和 AES256。

    ENCRYPTION_MODE
    生成加密密钥的方法。
    有效的关键字值为: DUAL, PASSWORD 和 [TRANSPARENT]。

    ENCRYPTION_PASSWORD
    用于在转储文件中创建加密数据的口令密钥。

    ESTIMATE
    计算作业估计值。
    有效的关键字值为: [BLOCKS] 和 STATISTICS。

    ESTIMATE_ONLY
    计算作业估计值而不执行导出。

    EXCLUDE
    排除特定对象类型。
    例如, EXCLUDE=SCHEMA:"='HR'"。

    FILESIZE
    以字节为单位指定每个转储文件的大小。

    FLASHBACK_SCN
    用于重置会话快照的 SCN。

    FLASHBACK_TIME
    用于查找最接近的相应 SCN 值的时间。

    FULL
    导出整个数据库 [N]。

    HELP
    显示帮助消息 [N]。

    INCLUDE
    包括特定对象类型。
    例如, INCLUDE=TABLE_DATA。

    JOB_NAME
    要创建的导出作业的名称。

    LOGFILE
    指定日志文件名 [export.log]。

    NETWORK_LINK
    源系统的远程数据库链接的名称。

    NOLOGFILE
    不写入日志文件 [N]。

    PARALLEL
    更改当前作业的活动 worker 的数量。

    PARFILE
    指定参数文件名。

    QUERY
    用于导出表的子集的谓词子句。
    例如, QUERY=employees:"WHERE department_id > 10"。

    REMAP_DATA
    指定数据转换函数。
    例如, REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。

    REUSE_DUMPFILES
    覆盖目标转储文件 (如果文件存在) [N]。

    SAMPLE
    要导出的数据的百分比。

    SCHEMAS
    要导出的方案的列表 [登录方案]。

    SOURCE_EDITION
    用于提取元数据的版本。

    STATUS
    监视作业状态的频率, 其中
    默认值 [0] 表示只要有新状态可用, 就立即显示新状态。

    TABLES
    标识要导出的表的列表。
    例如, TABLES=HR.EMPLOYEES,SH.SALES:SALES_1995。

    TABLESPACES
    标识要导出的表空间的列表。

    TRANSPORTABLE
    指定是否可以使用可传输方法。
    有效的关键字值为: ALWAYS 和 [NEVER]。

    TRANSPORT_FULL_CHECK
    验证所有表的存储段 [N]。

    TRANSPORT_TABLESPACES
    要从中卸载元数据的表空间的列表。

    VERSION
    要导出的对象版本。
    有效的关键字值为: [COMPATIBLE], LATEST 或任何有效的数据库版本。

    ------------------------------------------------------------------------------

    下列命令在交互模式下有效。
    注: 允许使用缩写。

    ADD_FILE
    将转储文件添加到转储文件集。

    CONTINUE_CLIENT
    返回到事件记录模式。如果处于空闲状态, 将重新启动作业。

    EXIT_CLIENT
    退出客户机会话并使作业保持运行状态。

    FILESIZE
    用于后续 ADD_FILE 命令的默认文件大小 (字节)。

    HELP
    汇总交互命令。

    KILL_JOB
    分离并删除作业。

    PARALLEL
    更改当前作业的活动 worker 的数量。

    REUSE_DUMPFILES
    覆盖目标转储文件 (如果文件存在) [N]。

    START_JOB
    启动或恢复当前作业。
    有效的关键字值为: SKIP_CURRENT。

    STATUS
    监视作业状态的频率, 其中
    默认值 [0] 表示只要有新状态可用, 就立即显示新状态。

    STOP_JOB
    按顺序关闭作业执行并退出客户机。
    有效的关键字值为: IMMEDIATE。


    数据泵导入实用程序提供了一种用于在 Oracle 数据库之间传输
    数据对象的机制。该实用程序可以使用以下命令进行调用:

    示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

    您可以控制导入的运行方式。具体方法是: 在 'impdp' 命令后输入
    各种参数。要指定各参数, 请使用关键字:

    格式: impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
    示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

    USERID 必须是命令行中的第一个参数。

    ------------------------------------------------------------------------------

    以下是可用关键字和它们的说明。方括号中列出的是默认值。

    ATTACH
    连接到现有作业。
    例如, ATTACH=job_name。

    CONTENT
    指定要加载的数据。
    有效的关键字为: [ALL], DATA_ONLY 和 METADATA_ONLY。

    DATA_OPTIONS
    数据层选项标记。
    有效的关键字为: SKIP_CONSTRAINT_ERRORS。

    DIRECTORY
    用于转储文件, 日志文件和 SQL 文件的目录对象。

    DUMPFILE
    要从中导入的转储文件的列表 [expdat.dmp]。
    例如, DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。

    ENCRYPTION_PASSWORD
    用于访问转储文件中的加密数据的口令密钥。
    对于网络导入作业无效。

    ESTIMATE
    计算作业估计值。
    有效的关键字为: [BLOCKS] 和 STATISTICS。

    EXCLUDE
    排除特定对象类型。
    例如, EXCLUDE=SCHEMA:"='HR'"。

    FLASHBACK_SCN
    用于重置会话快照的 SCN。

    FLASHBACK_TIME
    用于查找最接近的相应 SCN 值的时间。

    FULL
    导入源中的所有对象 [Y]。

    HELP
    显示帮助消息 [N]。

    INCLUDE
    包括特定对象类型。
    例如, INCLUDE=TABLE_DATA。

    JOB_NAME
    要创建的导入作业的名称。

    LOGFILE
    日志文件名 [import.log]。

    NETWORK_LINK
    源系统的远程数据库链接的名称。

    NOLOGFILE
    不写入日志文件 [N]。

    PARALLEL
    更改当前作业的活动 worker 的数量。

    PARFILE
    指定参数文件。

    PARTITION_OPTIONS
    指定应如何转换分区。
    有效的关键字为: DEPARTITION, MERGE 和 [NONE]。

    QUERY
    用于导入表的子集的谓词子句。
    例如, QUERY=employees:"WHERE department_id > 10"。

    REMAP_DATA
    指定数据转换函数。
    例如, REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。

    REMAP_DATAFILE
    在所有 DDL 语句中重新定义数据文件引用。

    REMAP_SCHEMA
    将一个方案中的对象加载到另一个方案。

    REMAP_TABLE
    将表名重新映射到另一个表。
    例如, REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。

    REMAP_TABLESPACE
    将表空间对象重新映射到另一个表空间。

    REUSE_DATAFILES
    如果表空间已存在, 则将其初始化 [N]。

    SCHEMAS
    要导入的方案的列表。

    SKIP_UNUSABLE_INDEXES
    跳过设置为“索引不可用”状态的索引。

    SOURCE_EDITION
    用于提取元数据的版本。

    SQLFILE
    将所有的 SQL DDL 写入指定的文件。

    STATUS
    监视作业状态的频率, 其中
    默认值 [0] 表示只要有新状态可用, 就立即显示新状态。

    STREAMS_CONFIGURATION
    启用流元数据的加载

    TABLE_EXISTS_ACTION
    导入对象已存在时执行的操作。
    有效的关键字为: APPEND, REPLACE, [SKIP] 和 TRUNCATE。
    TABLE_EXISTS_ACTION
    默认为:SKIP(但是如果设定了CONTENT=DATA_ONLY,那么默认的是APPEND)
    作用:定义了如果要导入的表已经存在,
    impdp的动作
    值及其含义:

    SKIP:不管已经存在的表,直接跳过

    APPEND:保持现有数据不变,导入源数据

    TRUNCATE:删掉现有数据,导入源数据

    REPLACE:删掉现有表,并重建,导入源数据

    TABLES
    标识要导入的表的列表。
    例如, TABLES=HR.EMPLOYEES,SH.SALES:SALES_1995。

    TABLESPACES
    标识要导入的表空间的列表。

    TARGET_EDITION
    用于加载元数据的版本。

    TRANSFORM
    要应用于适用对象的元数据转换。
    有效的关键字为: OID, PCTSPACE, SEGMENT_ATTRIBUTES 和 STORAGE。

    TRANSPORTABLE
    用于选择可传输数据移动的选项。
    有效的关键字为: ALWAYS 和 [NEVER]。
    仅在 NETWORK_LINK 模式导入操作中有效。

    TRANSPORT_DATAFILES
    按可传输模式导入的数据文件的列表。

    TRANSPORT_FULL_CHECK
    验证所有表的存储段 [N]。

    TRANSPORT_TABLESPACES
    要从中加载元数据的表空间的列表。
    仅在 NETWORK_LINK 模式导入操作中有效。

    VERSION
    要导入的对象的版本。
    有效的关键字为: [COMPATIBLE], LATEST 或任何有效的数据库版本。
    仅对 NETWORK_LINK 和 SQLFILE 有效。

    ------------------------------------------------------------------------------

    下列命令在交互模式下有效。
    注: 允许使用缩写。

    CONTINUE_CLIENT
    返回到事件记录模式。如果处于空闲状态, 将重新启动作业。

    EXIT_CLIENT
    退出客户机会话并使作业保持运行状态。

    HELP
    汇总交互命令。

    KILL_JOB
    分离并删除作业。

    PARALLEL
    更改当前作业的活动 worker 的数量。

    START_JOB
    启动或恢复当前作业。
    有效的关键字为: SKIP_CURRENT。

    STATUS
    监视作业状态的频率, 其中
    默认值 [0] 表示只要有新状态可用, 就立即显示新状态。

    STOP_JOB
    按顺序关闭作业执行并退出客户机。
    有效的关键字为: IMMEDIATE。

    ----------------------------------------------------------------------------------------------------
    remap_schema=a:b 将数据的schema从a 转换为b

    remap_tablespace=a:b 将数据的tablespace 从a 转换为b


    注意:如果oracle是10g的,要加参数 EXCLUDE=TABLE_STATISTICS 选项将 table_statistics 对象过滤。 否则会出现数据泵导入中
    table_statistics长时间等待、用impdp 导入,检查 table_statistics 时等待了N长时间


    总结:执行impdp时无需创建b用户,在导入时会自动创建并改名用户a为b(拥有a的所有权限等),自动设置默认表空间为转换后的表空间b
    。如果有多个表空间需要转换,则使用多个remap_tablespace=源:目标字段。

    此种方法只限于支持oracle10g以上版本。


    数据泵导入中table_statistics长时间等待问题
    用impdp 导入,检查 table_statistics 时等待了N长时间。

    网上说这是oracle 10G impdp 的一个bug,命令中若定义了 remap_schema 项,也就是原用户名和导入的用户名不一致,则会有这个问题。
    网上提供的解决办法是,让导入和导出的用户名一致,或者在导入时通过 EXCLUDE=TABLE_STATISTICS 选项将 table_statistics 对象过滤

  • 相关阅读:
    「题解」:毛一琛/$cow$ $subsets$
    「题解」:$e$
    「题解」:$d$
    「题解」:$Simple$
    「题解」:$Game$
    「题解」:砖块
    「题解」:天才绅士少女助手克里斯蒂娜
    约瑟夫问题小结
    「题解」:[loj2763][JOI2013]现代豪宅
    20190812
  • 原文地址:https://www.cnblogs.com/Wardenking/p/10184168.html
Copyright © 2011-2022 走看看