【导出导入】IMPDP table_exists_action 参数的应用
转自:https://yq.aliyun.com/articles/29337
当使用IMPDP完成数据库导入时,如遇到表已存在时,Oracle提供给我们如下四种处理方式:
a.忽略(SKIP,默认行为);
b.在原有数据基础上继续增加(APPEND);
c.先DROP表,然后创建表,最后完成数据插入(REPLACE);
d.先TRUNCATE,再完成数据插入(TRUNCATE)。
下面做实验来看看几种方式的效果:
==============================REPLACE=================================
C:\Users\aaaa>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:\Users\aaaa>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:\Users\aaaa>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:\Users\aaaa>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 完成)
【导出导入】IMPDP table_exists_action 参数的应用的更多相关文章
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- PLSQL_数据泵导入导出数据Impdp/ Expdp(概念)
2014-08-31 Created By BaoXinjian
- Oracle基础 数据泵导出/导入Expdp/impdp(转)
一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2 ...
- 针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1)
针对数据泵导出 (expdp) 和导入 (impdp)工具性能降低问题的检查表 (文档 ID 1549185.1) 文档内容 适用于: Oracle Database – Enterprise Edi ...
- PLSQL_数据泵Datapump导入导出数据IMPDP / EXPDP(概念)(Oracle数据导入导出工具)(转)
一.摘要 在平常备库和数据库迁移的时候,当遇到大的数据库的时候在用exp的时候往往是需要好几个小时,耗费大量时间.oracle10g以后可以用expdp来导出数据库花费的时间要远小于exp花费的时间, ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法
ORACLE使用EXPDP和IMPDP数据泵进行导出导入的方法 (2010-05-28 12:54:34) http://blog.sina.com.cn/s/blog_67d41beb0100ixn ...
- 数据泵导出/导入Expdp/impdp
一下转自 http://blog.csdn.net/jionjionyoushen/article/details/6789686 数据泵导出/导入Expdp/impdp Oracle 10g引入了D ...
- Oracle使用expdp/impdp导出导入数据
这里假设已存在数据库用户,并是计划通过该用户导入导出该用户表空间上的数据.(我们这里假定用户名称为ls) 1.创建逻辑目录(数据库命令,sqlplus中执行) Oracle不能直接指定系统目录让他去读 ...
随机推荐
- 安装mycat
1.下载mycat 为了方便,我已经下载下来.我选择的版本是1.6版本 2.解压,安装在/home/xm6f/dev目录下 cd /home/xm6f/devtar -zxvf Mycat-serve ...
- spark简单文件配置
cd /usr/local/spark/spark-2.2.1-bin-hadoop2.7/conf cp slaves.template slaves cp spark-env.sh.templat ...
- SpringCloud学习成长之 十 高可用服务注册中心
文章 第一篇: 服务的注册与发现(Eureka) 介绍了服务注册与发现,其中服务注册中心Eureka Server,是一个实例,当成千上万个服务向它注册的时候,它的负载是非常高的,这在生产环境上是不太 ...
- Kubernetes简介二
Kubernetes是什么?Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能.通过Kubernetes你可以: 快速部署应用 快速扩展应用 ...
- Apache配置优化之开启KeepAlive
在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求.从而避 ...
- VS在项目范围内禁止关闭特定警告
要在项目范围内禁止警告,请在项目文件中定义要忽略的以分号分隔的警告代码列表.附加警告代码也$(NoWarn); 1.首先找到该项目的 .csproj 文件 >> 在<Property ...
- shell脚本批量执行命令----必需判断上一步执行结果--没有捷径
# 注意:shell脚本批量执行命令,不能只写一个函数,然后把所有命令复制进去,之前试过这样是不行的.必须要有一个判断命令执行成功与否的语句 # 简单的命令可以不加结果判断符号,但是遇到解压包.sed ...
- Xena L23网络测试仪Valkyrie使用技巧100例,目录
Xena L23网络测试仪Valkyrie使用技巧100例,先写个目录 100例,会不会有点多,写不完... ^_^ 第1次编辑于2019-11-27 22:05:52, Evan YE. 编号 标题 ...
- php 生成32位随机字符串 用于支付验证 用户注册
//32位随机字符串 function randstrpay($length=32) { $rand=''; $randstr= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567 ...
- 跨域及jsonp
什么是跨域? 要解释跨域,就要先说明下什么是域?域的英文名是Domain,百度百科给的定义是: 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust ...