有时需要复制的数据库比较大,复制太慢,或容易出错。

数据库小,简单的 就没这么复杂了,直接导出dmp或用工具都可以。这篇是针对比较大,选择性复制,且复制总是失败的情况。

方法如下。

工具 sqldeveloper.

思路:先复制表和数据(选择性复制表数据),再复制视图,触发器序列等。以免触发器序列等对复制数据时造成干扰,导致复制失败。

1.

例:从A复制到B

建立源数据库连接 A

建立目标连接B

2.点击工具:数据库复制。

在此之前可以先在源数据库上查询下数据量比较大的表,

select segment_name, round(bytes/1024/1024/1024,3) g,segment_type
from user_segments
where segment_type = 'TABLE' or  segment_type = 'TABLE PARTITION' order by g desc

,或者自己知道哪些表大,没有必要copy,心中有数就行

3.

选择好A , 和 B 连接,

点击下一步

4.

只选择表,其它全部取消掉。

尤其是触发器和序列不要选,以免后边复制数据的时候 生成新的id(造成跟源数据id不一致)等等。

点击下一步。

5.这一步是复制上一步选择的项,表结构需要传输的数据量很小,可以直接下一步,当然也可以按名称模糊搜索选择性复制。

6.指定数据。根据前边sql查到的结果,结合实际情况可以把一些不想要的数据表排除掉。对象where字句可以指定复制符合where语句的数据。

7.确认一下源和目标数据库有没有选错,然后下 一步。直到复制完成(进度框最好不要点后台运行),中间若出是否继续提示框,一般直接选择是。

8.以上是第一大步。

下边复制剩余的DDL.

重复第一步,将复制数据选项去掉

9.选择除表以外的选项。数据库连接可能会通过触发器等的调用对链接目标数据库有影响,需小心,或复制下来后,处理下。

然后直接下一步直到最后复制完成。

注意事项:

1.源和目标连接不要搞反了。

2.复制数据过程中不要点后台运行,再弹出的进度框里可以查看进度。有的表复制特别慢,或复制不下来,那就要重新复制  在6步的时候 要将其排除除掉或特殊处理下。 (第一步的查询表大小的sql语句,基本可用。但有些表依然复制太慢,具体原因没细究。)
————————————————
版权声明:本文为CSDN博主「aoaa」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/keekaduo/article/details/84671323

oracle sqldeveloper选择性复制备份数据库的更多相关文章

  1. oracle使用expdp定时备份数据库

    目录 oracle使用expdp备份数据库 备份shell脚本 创建定时任务 oracle使用expdp备份数据库 备份shell脚本 #!/bin/sh #获取当前时间 BACKUPTIME=$(d ...

  2. oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)

    开发过程中,需要不停的备份数据库对象, 特别是存储过程, 每次手动备份不免很低能啊 历经几次修改终于, 完美了,O(∩_∩)O哈哈~      (当然,你也可以再改简便一点~~~) select db ...

  3. Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

    Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...

  4. 通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...

  5. Oracle 【IT实验室】数据库备份与恢复之:如何对Oracle数据库文件进行恢复与备份

    任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制.当数据库发生故障后,希望能重新建立一个完整的数据 ...

  6. [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作

    本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...

  7. oracle中导入导出数据备份数据库

    原文:oracle中导入导出数据备份数据库 数据库所在位置                         将数据导出到的文件名                    用户名 备份数据库 :exp c ...

  8. Oracle使用rman备份数据库时出现cannot reclaim的错误

    1. 按照<2 day DBA>中的guide,设置fast recovery area. SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_S ...

  9. 【转】通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...

随机推荐

  1. Selfishness is not living as one wishes to live. it is asking others to live as wishes to live.

    regin: n. 统治; 任期 lap:n. 大腿部. procession: n. 行列,游行 lessen: n. 减少 wade: v. 跋涉 patriotic: adj. 爱国的 Medi ...

  2. Generative Model vs Discriminative Model

    In this post, we are going to compare the two types of machine learning models-generative model and ...

  3. Java设计模式——单例模式(static修饰)

    1.类的构造器私有化 2.本类内部创建对象(用本类内部public static静态方法返回该静态对象) 3.创建静态变量指向该类. 饿汉式和懒汉式的差异: 1.创建对象的时机不同!(饿汉模式在使用静 ...

  4. 用命令行远程导出MySQL数据

    mysqldump -h10.10.9.197 -uroot -proot --default-character-set=utf8 0610_eshop >C:/Users/Adm inist ...

  5. java NIO介绍

    前言 我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO的关注却很少.这也可能是由以前java早期时JVM在解释字节码时速度慢,运行速率大大低于本地编译代码,因此以前往 ...

  6. redis 安装和运行

    安装redis 在CentOs虚拟机上:yum install redis,可能会出现以下错误: 解决方式:先输入yum install epel-release,之后输入:redis-server启 ...

  7. 事件对象e的实现原理

    转自:https://segmentfault.com/q/1010000007337410?_ea=1313467 事件对象传递原理 1.前置知识回顾 在讲传递原理前,我们先看看普通函数是如何传递参 ...

  8. append动态生成的元素,无法触发事件的原因及解决方案

    今天笔者在实现一个简单的动态生成元素功能的时候,发现了一个问题: 使用append动态生成的元素事件绑定失效了. 查阅资料后发现: click(fn)当选中的选择器被点击时触发回调函数fn.只针对与页 ...

  9. Python在windows下编译成exe文件

    1. pip install pyinstaller 2. 在Terminal下输入:“pyinstaller -F -w  *.py” 就可以生成exe.生成的文件放在同目录dist下. -F(注意 ...

  10. Spring Cloud Stream监听已存在的Queues/Exchanges

    环境准备 rabbitmq已运行,端口5672,控制台web端口15672,用户名密码guest/guest 引入spring cloud stream依赖 compile('org.springfr ...