zoukankan      html  css  js  c++  java
  • 【导出导入】IMPDP table_exists_action 参数的应用

    转自:https://yq.aliyun.com/articles/29337

    当使用IMPDP完成数据库导入时,如遇到表已存在时,Oracle提供给我们如下四种处理方式:
    a.忽略(SKIP,默认行为);
    b.在原有数据基础上继续增加(APPEND);
    c.先DROP表,然后创建表,最后完成数据插入(REPLACE);
    d.先TRUNCATE,再完成数据插入(TRUNCATE)。
    下面做实验来看看几种方式的效果:
    ==============================REPLACE=================================

    C:Usersaaaa>impdp "system/yang as sysdba "  remap_schema=scott:scott  directory=dumpdir  
    dumpfile=scott_%U.dmp  table_exists_action=replace logfile=scott_impdp_replace.log
    Import: Release 11.1.0.6.0 - Production on 星期一, 14 3月, 2011 15:40:26
    Copyright (c) 2003, 2007, Oracle.  All rights reserved.
    连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    已成功加载/卸载了主表 "SYS"."SYS_IMPORT_FULL_01"
    启动 "SYS"."SYS_IMPORT_FULL_01":  "system/******** AS SYSDBA" remap_schema=scott:scott directory=dum
    pdir dumpfile=scott_%U.dmp table_exists_action=replace logfile=scott_impdp_replace.log
    处理对象类型 SCHEMA_EXPORT/USER
    ORA-31684: 对象类型 USER:"SCOTT" 已存在
    处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
    处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
    处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
    处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
    . . 导入了 "SCOTT"."DEPT"                              5.937 KB       4 行
    . . 导入了 "SCOTT"."EMP"                               8.570 KB      14 行
    . . 导入了 "SCOTT"."EXPTAB"                            5.015 KB       2 行
    . . 导入了 "SCOTT"."SALGRADE"                          5.867 KB       5 行
    . . 导入了 "SCOTT"."BONUS"                                 0 KB       0 行
    处理对象类型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
    ORA-31684: 对象类型 FUNCTION:"SCOTT"."EXP_FUNC" 已存在
    处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    处理对象类型 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
    作业 "SYS"."SYS_IMPORT_FULL_01" 已经完成, 但是有 2 个错误 (于 15:40:31 完成)

    ===============================APPEND=====================================================
    C:Usersaaaa>impdp "system/yang as sysdba "  remap_schema=scott:scott  directory=dumpdir  dumpfil
    e=scott_%U.dmp  table_exists_action=append logfile=scott_impdp_append.log
    Import: Release 11.1.0.6.0 - Production on 星期一, 14 3月, 2011 15:42:24
    Copyright (c) 2003, 2007, Oracle.  All rights reserved.
    连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    已成功加载/卸载了主表 "SYS"."SYS_IMPORT_FULL_01"
    启动 "SYS"."SYS_IMPORT_FULL_01":  "system/******** AS SYSDBA" remap_schema=scott:scott directory=dum
    pdir dumpfile=scott_%U.dmp table_exists_action=append logfile=scott_impdp_append.log
    处理对象类型 SCHEMA_EXPORT/USER
    ORA-31684: 对象类型 USER:"SCOTT" 已存在
    处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
    处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
    处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
    处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
    ORA-39152: 表 "SCOTT"."DEPT" 已存在。由于附加了 table_exists_action, 数据将附加到现有表, 但是将跳过
    所有相关元数据。
    ORA-39152: 表 "SCOTT"."EMP" 已存在。由于附加了 table_exists_action, 数据将附加到现有表, 但是将跳过所
    有相关元数据。
    ORA-39152: 表 "SCOTT"."BONUS" 已存在。由于附加了 table_exists_action, 数据将附加到现有表, 但是将跳过
    所有相关元数据。
    ORA-39152: 表 "SCOTT"."SALGRADE" 已存在。由于附加了 table_exists_action, 数据将附加到现有表, 但是将
    跳过所有相关元数据。
    ORA-39152: 表 "SCOTT"."EXPTAB" 已存在。由于附加了 table_exists_action, 数据将附加到现有表, 但是将跳
    过所有相关元数据。
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
    ORA-31693: 表数据对象 "SCOTT"."DEPT" 无法加载/卸载并且被跳过, 错误如下:
    ORA-00001: 违反唯一约束条件 (SCOTT.PK_DEPT)
    ORA-31693: 表数据对象 "SCOTT"."EMP" 无法加载/卸载并且被跳过, 错误如下:
    ORA-00001: 违反唯一约束条件 (SCOTT.PK_EMP)
    . . 导入了 "SCOTT"."EXPTAB"                            5.015 KB       2 行
    . . 导入了 "SCOTT"."SALGRADE"                          5.867 KB       5 行
    . . 导入了 "SCOTT"."BONUS"                                 0 KB       0 行
    处理对象类型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
    ORA-31684: 对象类型 FUNCTION:"SCOTT"."EXP_FUNC" 已存在
    处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    处理对象类型 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
    作业 "SYS"."SYS_IMPORT_FULL_01" 已经完成, 但是有 9 个错误 (于 15:42:31 完成)

    ===========================SKIP==============================================
    C:Usersaaaa>impdp "system/yang as sysdba "  remap_schema=scott:scott  directory=dumpdir  dumpfil
    e=scott_%U.dmp  table_exists_action=skip logfile=scott_impdp_skip.log

    Import: Release 11.1.0.6.0 - Production on 星期一, 14 3月, 2011 16:01:18
    Copyright (c) 2003, 2007, Oracle.  All rights reserved.
    连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    已成功加载/卸载了主表 "SYS"."SYS_IMPORT_FULL_01"
    启动 "SYS"."SYS_IMPORT_FULL_01":  "system/******** AS SYSDBA" remap_schema=scott:scott directory=dum
    pdir dumpfile=scott_%U.dmp table_exists_action=skip logfile=scott_impdp_skip.log
    处理对象类型 SCHEMA_EXPORT/USER
    ORA-31684: 对象类型 USER:"SCOTT" 已存在
    处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
    处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
    处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
    处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
    ORA-39151: 表 "SCOTT"."DEPT" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
    ORA-39151: 表 "SCOTT"."EMP" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
    ORA-39151: 表 "SCOTT"."BONUS" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
    ORA-39151: 表 "SCOTT"."SALGRADE" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据

    ORA-39151: 表 "SCOTT"."EXPTAB" 已存在。由于跳过了 table_exists_action, 将跳过所有相关元数据和数据。
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
    处理对象类型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
    ORA-31684: 对象类型 FUNCTION:"SCOTT"."EXP_FUNC" 已存在
    处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    处理对象类型 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
    作业 "SYS"."SYS_IMPORT_FULL_01" 已经完成, 但是有 7 个错误 (于 16:01:22 完成)

    ===========================TRUNCATE================================================
    C:Usersaaaa>impdp "system/yang as sysdba "  remap_schema=scott:scott  directory=dumpdir 
    dumpfile=scott_%U.dmp  table_exists_action=truncate logfile=scott_impdp_truncate.log
    Import: Release 11.1.0.6.0 - Production on 星期一, 14 3月, 2011 16:01:45
    Copyright (c) 2003, 2007, Oracle.  All rights reserved.

    连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    已成功加载/卸载了主表 "SYS"."SYS_IMPORT_FULL_01"
    启动 "SYS"."SYS_IMPORT_FULL_01":  "system/******** AS SYSDBA" remap_schema=scott:scott directory=dum
    pdir dumpfile=scott_%U.dmp table_exists_action=truncate logfile=scott_impdp_truncate.log
    处理对象类型 SCHEMA_EXPORT/USER
    ORA-31684: 对象类型 USER:"SCOTT" 已存在
    处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
    处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
    处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
    处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
    ORA-39120: 无法截断表 "SCOTT"."DEPT", 将跳过数据。引起失败的错误为:
    ORA-02266: 表中的唯一/主键被启用的外键引用
    ORA-00955: 名称已由现有对象使用
    ORA-39153: 表 "SCOTT"."EMP" 已存在且已截断。由于截断了 table_exists_action, 将加载数据, 但是将跳过所
    有相关元数据。
    ORA-39153: 表 "SCOTT"."BONUS" 已存在且已截断。由于截断了 table_exists_action, 将加载数据, 但是将跳过
    所有相关元数据。
    ORA-39153: 表 "SCOTT"."SALGRADE" 已存在且已截断。由于截断了 table_exists_action, 将加载数据, 但是将
    跳过所有相关元数据。
    ORA-39153: 表 "SCOTT"."EXPTAB" 已存在且已截断。由于截断了 table_exists_action, 将加载数据, 但是将跳
    过所有相关元数据。
    处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
    . . 导入了 "SCOTT"."EMP"                               8.570 KB      14 行
    . . 导入了 "SCOTT"."EXPTAB"                            5.015 KB       2 行
    . . 导入了 "SCOTT"."SALGRADE"                          5.867 KB       5 行
    . . 导入了 "SCOTT"."BONUS"                                 0 KB       0 行
    处理对象类型 SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
    处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
    ORA-31684: 对象类型 FUNCTION:"SCOTT"."EXP_FUNC" 已存在
    处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
    处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    处理对象类型 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
    作业 "SYS"."SYS_IMPORT_FULL_01" 已经完成, 但是有 7 个错误 (于 16:01:53 完成)

  • 相关阅读:
    oracle闪回查询
    带搜索框的jQuery下拉框插件
    Eclipse、Tomcat、Spring3等使用过程的一些配置、错误等的总结记录
    局域网不能访问本机IIS网站的解决方法
    在同一台电脑部署多个Tomcat服务
    Tomcat重启脚本
    IE8下面parseInt('08')、parseInt('09')会转成0
    [转]Examining Open vSwitch Traffic Patterns
    [转]Ubuntu Precise
    [转] iptables
  • 原文地址:https://www.cnblogs.com/sharpest/p/11051402.html
Copyright © 2011-2022 走看看