oracle使用imp导入数据覆盖(overwirte)原有表数据

结论在前面:使用imp工具无法实现overwrite表中现有数据,据说使用impdb的TABLE_EXISTS_ACTION=TRUNCATE选项可以做到

使用imp导入数据时,不加特别参数的话,假设数据库中已存在该表,会报错

IMP-00015: following statement failed because the object already exists:

加上ignore=y选项,如果表数据没有主键冲突,会追加进去。如果表数据有主键冲突,则导入报错。

ORA-00001: unique constraint (XXX.YYY) violated

时间: 2024-08-02 02:42:53

oracle使用imp导入数据覆盖(overwirte)原有表数据的相关文章

oracle中imp导入数据中文乱码问题(转)

(转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后,所有查询出的中文字段都为乱码. 原则上不修改服务器端的字符集,修改服务器端的字符集会出现使用第三方工具登陆数据库出现乱码的情况(具体服务器端的字符集修改办法本文有详细介绍). 将DMP文件的字符集改成与Oracleo数据库服务器端一样之后导入可正常显示.本人的系统是RHEL 5.4 32bit 一.

oracle进行imp导入数据时报错:ORA-12592: TNS: 包错误

使用imp导入数据时,检查发现三百多万条数据的表实际只导入了一百多万条数据,检查导入日志,以下报错信息, [plain] view plaincopy 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data M

Oracle使用imp导入dmp数据提示:只有DBA才能导入有其他DBA导入的文件

使用imp导入时提示:只有DBA才能导入有其他DBA导入的文件 查看权限,发现admin和default栏没有打钩,打上勾就可以了: 打上勾,保存后,继续导入数据,如下: 成功!

PL/SQL Developer导入、导出表结构和表数据

在表的所有者不能改变的情况下,可以使用导入导出表结构和表数据的方法,将表移动到你想要的所有者下(注:特别是建立表的时候如果以sysdba的身份登录的话,所有表的所有者都为sys,此时会对你用c#访问数据库产生麻烦,我在我的另一篇文章中也提到<.NET连接Oracle数据库的错误,pl/sql中的myobjects过滤器 >),此时你只能用这种方法改变所有者. 导出表结构: Tools(工具)-->Export User Objects(导出用户对象) -->选择要导出的表(包括Se

SQL Server 的表数据简单操作(表数据查询)

--表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例:use 商品管理数据库goselect * from 商品信息表select 商品编号,商品名称,产地 from 商品信息表selelct * from 商品信息表 where 产地='辽宁沈阳' --关键字辅助查询----1)distinct关键字 (用来消除查询结果中的重复行,使用时紧跟在select命令后)--select

Oracle用imp导入dmp文件记录一下

----------------------------------------------------------------------------------------------------------------------- 今日下午,一同事通过dos导入dmp文件,一直在sqlplus界面上不停的输入用户名.密码,界面一直提示协议适配器错误! 看着他着急的样子,我去看了一下,顿时傻了,问他以前导入导出数据怎样导的,他说也是通过这种方式导的,不知道今天为啥一直要输入用户名和 密码,

Oracle库Delete删除千万以上普通堆表数据的方法

需求:Oracle数据库delete删除普通堆表千万条历史记录. 直接删除的影响: 1.可能由于undo表空间不足从而导致最终删除失败的问题: 2.可能导致undo表空间过度使用,影响到其他用户正常操作. 改进方案:每删除1k行就提交一次.(这样就把一个大事物拆分成了若干个小事物) 注意:下面方法以删除2014年之前的所有记录为例,请根据你的实际情况修改,防止误操作. 方法1 declare cursor [del_cursor] is select a.*, a.rowid row_id fr

Oracle自增主键的添加[sequence]--表数据已存在

--增加主键ID alter table CLERK_COMPARE add id number(16); --设置sequence使ID自增 create sequence SEQ_ID minvalue 1 maxvalue 999999999 start with 1; --将id的值设置为sequence Update clerk_compare set id=seq_id.nextval; commit; --设置id为主键 alter table CLERK_COMPARE add

mysql把A表数据插入到B表数据的几种方法

web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码.下面我以mysql数据库为例分情况一一说明: 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:  INSERT INTO 目标表 SELECT * FROM 来源表; insert into insertTest select * from insertTest2; 2.如果只希望