当前位置: 代码迷 >> Oracle技术 >> 2个数据库调整起来,成为一个大的数据库,有什么方法可以操作
  详细解决方案

2个数据库调整起来,成为一个大的数据库,有什么方法可以操作

热度:223   发布时间:2016-04-24 08:06:56.0
2个数据库整合起来,成为一个大的数据库,有什么方法可以操作?
目前情况,公司有2个业务部门。由于历史原因,刚开始的时候,2个部门都有各自自己的系统,自己的服务器(其中一个系统是根据另一个二次开发的。数据库表结构,web应用风格基本相同,只是有些业务不同而单独开发新模块)。都是存放在业务部门各自的办公地点,数据可以说是独立的。现在公司业务发展了,要把2个业务部门的服务器都放在总公司的机房里面,业务部门靠光钎连接访问。现在公司要把这2个部门的数据库整合起来,做为一个大的数据,但是web应用还是各自的系统。请各路大神帮忙指点一下有什么办法可以解决的???
------解决思路----------------------
Agree楼上,
必须先进行分析,寻找解决方案
------解决思路----------------------
数据库这块并不难,分别做好备份,通过dblink将其中一个数据库中的数据整合到另一个数据库的相关表中即可
主要问题在于不同业务部门的区分,恐怕要对程序和表结构都作出修改
------解决思路----------------------
如果是11g 及其以前版本,schema的方式迁移,如果是12c 直接pdb 插入
------解决思路----------------------
上次我处理的时候,是这样的
1、建立了一个公司的编码
2、几乎所有表增加公司ID的字段
3、主界面调整,所有相关程序模块进入时都传入公司ID的参数
4、相关程序根据参数的不同设置增删改查权限

那次几乎是全套程序一个不剩,挨个翻腾一遍

不过你可以这样和你们的老总建议
1、两个公司数据分开存储,存在不同的数据库用户,不同的表空间
2、相关统计界面需要的表在第三个用户建立视图或物化视图,从原来的两个数据库用户取数据

这样3个用户的表名就可以是一致的,查询各公司的数据从各自的数据库用户查,查询全部的话从视图查询,这样前台程序修改量应该是最小的
------解决思路----------------------
现在应该先明确一下  两个库会不会有重复记录,如何处理冲突什么的
如果不会有重复记录,那直接弄个数据链,全部整合到一个表也是可以的。 
但是如果会有,那就要看一下冲突机制是怎么样的。一个个分析。 
  相关解决方案