平安银行rwa整合风险管理平台二期要开始了,这期间也需要一些数据同步等操作。要想复制或者备份还原数据库,肯定涉及到表、表空间、索引以及表分区等等,之前用PL/SQL Developer工具进行直接导出dmp 之后导入dmp或者导出导入USER OBJECTS 此时主要会有两个问题:
1、表空间名称不一致问题
2、表分区情况
也就是说源数据库和目标数据库表空间不一致情况下直接用PL/SQL 工具会出问题,部分表会报错如:表空间不存在等问题,如果使用命令方式或许不会报错。
再就是恢复数据库之后发现部分表没导入进来,中途报错了,如果继续使用PL/SQL进行export user objects 万一你用表分区了,那么肯定导入会失败,并且方式不当的话会吞噬日志不带打饱嗝的。
说了一堆主要是避免直接使用PL/SQL还原数据库,或者直接导出用户对象进行恢复表结构等都可能潜在一些问题,所以推荐Navicat 工具,至少我还没发现问题,有不同看法的欢迎留言等。
Navacat 数据传输
我使用了源表PINGAN_DEV.TEST1进行测试,直接上图
1、准备表并且要留意源表是否表分区
2、开始数据传输
3、留意高级选项
如果选择了"创建前删除目标对象" 就是目标数据库如果存在该表就drop掉重新创建
4、传输后看下日志
[Msg] [Dtf] DataTransfer started
[Msg] [Dtf] Getting tables properties
[Msg] [Dtf] Getting tables fields
[Msg] [Dtf] Getting tables constraints
[Msg] [Dtf] Getting index-organized tables properties
[Msg] [Dtf] Getting tables indexes
[Msg] [Dtf] Getting tables triggers
[Msg] [Dtf] Getting total records count
[Msg] [Dtf] Drop table: "RWA"."TEST1"
[Msg] [Dtf] Create table: "RWA"."TEST1"
[Msg] [Dtf] Get table data for: RWA.TEST1
[Msg] [Dtf] Start transfer to Target Server: "RWA"."TEST1"
[Msg] [Dtf] Begin transaction on target server
[Msg] [Dtf] End transaction on target server
[Msg] [Dtf] Finished - Successfully
--------------------------------------------------
但是如果要是取消勾选"创建前删除目标对象"
5、检查是否正确
一定要检查正确与否
推荐另一篇比较好的文章:
值得一提的是:navicat 工具–》 数据传输、数据同步、结构同步 分别对应 可不同数据库、同一数据库、可不同数据库 操作方式。
©声明:本站原创文章采用BY-NC-SA共享协议,受法律保护,转载请注明出处;转载文章版权归原作者所有。
©转载请注明来源: 最优质网-最有指望