`

不drop表的情况下进行数据移植(Oracle)

阅读更多
项目组在开发过程中需要经常在多个数据库中进行数据移植操作,包括:同一oracle数据库的两个用户A和B之间和两个oracle的A和A用户之间导数据。

由于项目的具体情况,在导数据时不能对目标表进行drop操作。因为会影响到其他用户(例如C)中的视图,且此用户只有connect和select的权限,没有其他权限(包括建立视图)。当导数据导致目标表被drop掉时,用户C中的视图需要重新创建,但用户自身又没有权限。


当使用IMP、EXP命令进行导数据时,目标用户中的表将被drop掉,然后新建;A和B用户不受影响,但是C的视图图将无法使用。

为了避免影响到用户C,目前采用以下方法进行的数据移植(方法比较土,别笑话):
1.拼SQL:
select 'delete '||t.table_name||';#commit;'  from user_tables t  --在目标数据库中执行

将以上sql执行的结果复制到UltraEdit中,将#全部替换为^p

select 'delete cppims2test.'||t.table_name||';#commit;#insert into cppims2test.'||t.table_name||' select * from cppims2.'||t.table_name||';#commit;'  from user_tables t 


2.将替换之后的内容在数据移植的目标用户中执行,删除所有表的数据

3.使用oracle的官方插件sqldeveloper进行数据复制
现在很多人都习惯使用plsql了,我也是刚知道有sqldeveloper这个工具的,它能同时连接多个数据库、多个用户,然后进行数据复制操作。如果不执行步骤2,并且目标表没有主键约束,目标表中的数据将出现重复。

使用上面的方法就能不drop目标表,实现数据移植了
不知道是否还有更方便快捷的方法,有的话,请回复一下
分享到:
评论

相关推荐

    SQL Server 2005 移植数据库到Oracle 10g

    【SQL Server 2005 移植到 Oracle 10g】的迁移流程主要涉及以下几个关键步骤: 1. **移植前准备** - **软件安装**:确保SQL Server 2005已经更新到最新补丁包和SP2。同时,安装Oracle客户端,如PL/SQL Developer,...

    Oracle与DB2的对应关系

    本文将对 Oracle 与 DB2 的对应关系进行总结和分析,涵盖日期型数据转化、字符型转日期型、常用函数、JSP 实现分页、序列等多个方面。 一、日期型数据转化 在 Oracle 中,日期型数据只有一个,即 Date 型,占用...

    Oracle sequence 重置(失效恢复)

    这种情况通常发生在数据迁移后,原有的Sequence不再与表中的最大值相匹配,导致新记录插入时出现ID冲突或者跳号的情况。为了解决这个问题,我们需要对失效的Sequence进行重置,使其能够继续正常工作。 #### 一、...

    oracle培训值得拥有

    安装过程中需注意,Oracle的安装文件通常分为两个部分,解压到同一目录下进行安装。这确保了数据库环境的正确搭建。 数据库操作语言(DML)和数据定义语言(DDL)是Oracle SQL的基础。DML包括SELECT、DELETE、...

    Oracle数据库培训1.ppt

    视图是虚拟表,由SQL查询定义,不包含实际数据,但可以提供简化数据访问、概括数据、增强数据安全和数据独立性的功能。创建视图使用`CREATE VIEW`语句,修改视图使用`ALTER VIEW`,删除视图用`DROP VIEW`。 四、...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询)  数据控制语言Data Controlling Language(DCL),用来...

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份

    ### Oracle 数据导入导出 imp/exp 功能详解 #### 一、引言 在数据库管理领域,数据的安全性、完整性和可移植性是非常重要的方面。Oracle 数据库提供了多种工具和技术来支持这些需求,其中 imp/exp 命令是用于数据...

    怎么用oracle打包

    在Oracle数据库环境中,"打包"通常指的是将一系列相关的对象,如表、存储过程、函数、触发器、视图等,组织成一个可移植的结构,以便于迁移、备份或分发。这通常涉及到PL/SQL代码的管理和部署。在本文中,我们将详细...

    一个oracle客户端(oracle sql handler)

    用表格显示 SELECT 语句的查询结果,可以直接对查询结果进行再操作,如 修改、插入行、删除行、提交(将表格中的数据改变写入相应的数据库表中)、多功能拷贝、导出为 INSERT 语句、单条记录操作、方便的查找及替换...

    Oracle数据库培训.pptx

    Oracle数据库是一种广泛应用于企业级数据管理的高性能关系型数据库系统,具有强大的数据处理能力和高度的可移植性。本文将深入探讨Oracle数据库的一些核心概念和功能。 一、Oracle数据库简介 Oracle数据库是甲骨文...

    oracle数据库应用.docx

    表空间是Oracle数据库中存储数据的主要单位,它由一个或多个数据文件组成。每个数据库至少有一个系统表空间(SYSTEM),用于存储系统对象。表空间的管理涉及创建、扩展和缩小表空间,以及分配和回收表空间的存储空间...

    Oracle9i 数据库技术5

    - DDL(Data Definition Language):定义数据结构,如CREATE TABLE创建表,ALTER TABLE修改表,DROP TABLE删除表,CREATE INDEX创建索引,DROP INDEX删除索引。 - DML(Data Manipulation Language):处理数据,...

    oracle数据库技术文档

    - **可移植性**: 可以在任何 Oracle 环境下运行。 - **可重用性**: 可以将 PL/SQL 块命名并存储在 Oracle 服务器中供其他程序调用。 #### 二、复合数据类型 **2.1 记录** - **定义**: 记录是由不同的域组成的...

    数据库Oracle第2章.ppt

    《数据库Oracle第2章》主要探讨了SQL语言的起源、特点、分类以及Oracle数据库中的基本语法和数据类型。...通过学习,读者可以掌握SQL的基本语法,了解Oracle的数据类型,并能进行基础的数据查询和操作。

    01_oracle基础

    - **互联网支持:** Oracle支持互联网环境下的多层体系结构。 - **高性能平台:** Oracle为各种规模的应用提供了高可用性和高性能的支持。 - **可移植性:** Oracle具有良好的跨平台特性,可以在多种操作系统上运行...

    EnterpriseDB_Oracle兼容性开发者指南

    该文档强调了Oracle到EnterpriseDB移植过程中需要注意的关键问题,尤其对于那些希望在不改变现有代码的情况下实现数据库迁移的企业来说极为有用。 #### 二、更新说明 文档的**更新说明**部分详细介绍了不同版本间...

    oracle oci

    2. SQL语句执行:oci_sql_exec()函数用于执行SQL语句,可以是DML(数据操纵语言)如INSERT、UPDATE、DELETE,也可以是DDL(数据定义语言)如CREATE、ALTER、DROP。 3. 游标管理:oci提供了一种类似指针的机制——...

    oracle资源有关于oracle10存储过程

    Oracle 10g 存储过程是数据库管理系统中一种重要的编程元素,主要用于封装一系列的数据库操作,提升系统性能,确保数据安全。以下是关于存储过程的详细说明: 1. **为什么要使用存储过程**: - 预编译与优化:存储...

    Oracle 9i中文版基础培训教程04

    例如,若scott用户拥有对dept和emp数据表的访问权限,可以通过“SELECT * FROM scott.emp”来查询数据。如果当前登录用户即为scott,则可简化为“SELECT * FROM emp”。 **4.1.5 两个范例数据表** 为了便于教学,...

Global site tag (gtag.js) - Google Analytics