oracle sqldeveloper选择性复制备份数据库

Posted sucretan2010

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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选择性复制备份数据库的主要内容,如果未能解决你的问题,请参考以下文章

SQLDeveloper 是不是有像 Toad 这样的复制/克隆用户的工具?

oracle 客户端 sql developer 如何修改jdk版本

使用sqldeveloper远程访问oracle

如何在不复制数据的情况下创建 Oracle 表的副本?

plsql developer无法识别32位oracle问题如何解决?

oracle sql developer的安装过程和使用说明