【Oracle】使用dblink+minus方式迁移数据
一、需求说明
1.数据库a104的表syssde.a4_syssde_department中有1000条数据;
2.数据库a230的表syssde.a4_syssde_department中有800条数据;
3.上述这2个数据库中的syssde.a4_syssde_department表结构完全相同,它们存储的数据也完全相同,只是a104数据库中的这个表的数据比a230多200条;
现需要将a104数据库中多的200条数据库同步到a230数据库中?
二、迁移思路
1.可通过第三方备库,先将a104和a230这两个数据库中表的记录通过新建表的方式复制到备库中的两个表中;
2.然后通过备库的2个表,使用minus找出多出200条记录;
3.将200条记录导入到另外一张表,然后生成insert语句,插入到a230数据库的syssde.a4_syssde_department表中;
三、操作步骤
环境说明:
【a104数据库】
IP: 192.168.100.104
SID: a104
【a230数据库】
IP: 192.168.100.230
SID: a230
【第三方备库a209】
IP: 192.168.100.209
SID: a209
1.使用oracle用户登录找到a209数据库的tnsnames.ora文件,将a104和a230数据库的信息添加进去;
A209=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.209)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = a209)
)
)
LISTENER_A209 =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.209)(PORT = 1521))
A104=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.104)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = a104)
)
)
A230=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.230)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = a230)
)
)
2.在a209上测试,看是否可以登录a104和a230数据库;