oracle sqldeveloper选择性复制备份数据库
有时需要复制的数据库比较大,复制太慢,或容易出错。
数据库小,简单的 就没这么复杂了,直接导出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选择性复制备份数据库的更多相关文章
- oracle使用expdp定时备份数据库
目录 oracle使用expdp备份数据库 备份shell脚本 创建定时任务 oracle使用expdp备份数据库 备份shell脚本 #!/bin/sh #获取当前时间 BACKUPTIME=$(d ...
- oracle 备份数据库对象(存储过程PROCEDURE,FUNCTION,VIEW,TRIGGER...)
开发过程中,需要不停的备份数据库对象, 特别是存储过程, 每次手动备份不免很低能啊 历经几次修改终于, 完美了,O(∩_∩)O哈哈~ (当然,你也可以再改简便一点~~~) select db ...
- Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...
- 通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行 实时数据同步,正常情况下只使用主 ...
- Oracle 【IT实验室】数据库备份与恢复之:如何对Oracle数据库文件进行恢复与备份
任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制.当数据库发生故障后,希望能重新建立一个完整的数据 ...
- [转]Oracle如何实现创建数据库、备份数据库及数据导出导入的一条龙操作
本文转自:http://www.cnblogs.com/wuhuacong/archive/2012/03/09/2387680.html Oracle中对数据对象和数据的管理,无疑都是使用PL/SQ ...
- oracle中导入导出数据备份数据库
原文:oracle中导入导出数据备份数据库 数据库所在位置 将数据导出到的文件名 用户名 备份数据库 :exp c ...
- Oracle使用rman备份数据库时出现cannot reclaim的错误
1. 按照<2 day DBA>中的guide,设置fast recovery area. SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_S ...
- 【转】通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...
随机推荐
- JSP程序不能正常运行 MyEclipse10 Tomcat6.0
我写的sp程序,上午运行正常:但是下午再打开运行会提示对jsp解释失败 谁知道这是怎么回事呢? 后来是发现: 要运行JSP程序 Myeclipse10和Tomcat6的jdk都要调整到jdk1.7的版 ...
- Win10.更新
1.资料: win10怎么关闭自动更新?win10关闭自动更新步骤-太平洋IT百科.html(https://product.pconline.com.cn/itbk/software/win10/1 ...
- 建立 Active Directory域 ----学习笔记
第五章 建立 Active Directory域 1.工作组和域的理解 a.工作组是一种平等身份环境,各个计算机之间各个为一个独立体,不方便管理和资源共享. b.域环境一般情况下满足两类需求, ...
- SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008
原文:http://www.cnblogs.com/ForFreeDom/archive/2009/10/16/1584680.html 在sqlserver2005或SQL2008数据库项目中,创建 ...
- python 操作ssh登录
import paramiko #创建SSH对象 ssh = paramiko.SSHClient() #把要连接的机器添加到known_hosts文件中 ssh.set_missing_host_k ...
- RD Client、TeamViewer连接主机
一.使用RD Client连接远程桌面 1.设置本地主机 2.查看电脑ip 3.手机安装RD Client 应用商店下载 Microsoft Remote Desktop PC name填入查询到的I ...
- dfs找环
http://acm.hdu.edu.cn/showproblem.php?pid=6736 Forest Program Time Limit: 2000/1000 MS (Java/Others) ...
- python sys模块导入和模块的使用
sys故名思意,就是系统模块,系统模块内置很多方法,怎么样去调用方法呢 1,argv 参数 sys.argv() 2,exit() 退出程序 sys.exit() 3,version 获取版本信息 ...
- redis 安装和运行
安装redis 在CentOs虚拟机上:yum install redis,可能会出现以下错误: 解决方式:先输入yum install epel-release,之后输入:redis-server启 ...
- http的Content-Encoding和Content-Type及服务器和客户端处理流程
比如,A 给 B发送了一条信息:hello,首先,A要告诉B,我给你发的这条数据的类型,不同类型的数据,接收方的处理方式不一样,hello属于文本类型,所以Content-Type就要设置成 text ...