数据整合式迁移的一些总结

   说起数据迁移,感觉也算是有些感受了,但是最近参与的几个迁移案例还是和以前大大不同,以前的迁移项目是比拼停机维护时间,尽可能在短时间诶导入大批量的数据,有参与表空间传输的场景,还有跨平台的数据迁移,数据库迁移式升级等等,相对难度大一些的算是增量数据的迁移场景。为此也算把sqlldr,datapump和exp/imp玩了一圈,最后写了一个小的工具使用外部表迁移,也算是有了一些谈资。
   最近的迁移项目还是有些特殊,有schema级别的迁移,这种情况数据库版本的影响就没有那么大了,基本就是schema级别的平移,这种听起来还算容易,有些场景是同名schema,同名表的整合,这种情况就有些让人头疼,每个owner用户可能有若干个连接用户,还需要考虑每个连接用户的权限和对应关系。有些用户如果整合起来重合度够高,还需要调整用户名。
像比如下面的迁移场景,其实难度基本都不在数据量上,而在在整合的难度上,这个时候数据迁移基本上就成了整合。

如果把上面三个数据库整合起来,其实也有几种方式,在11g中直接就是schema复制,导出导入即可,对于冲突重复的schema可能需要逐个确认,要不就是省事一些,直接修改用户名加以区分。
     还有一种方案是放在12c的pdb里面。其实这种方式看起来还是能够解决大部分的兼容问题,但是个人感觉这种方式有个缺点就是会把原来的问题包装起来,原来的不规范的数据设计我们只是把它整合在一个数据库里,哪些问题还是问题,不规范还是不规范,如果其中一个pdb出现了大的性能抖动,影响是全局的。还有就是R2版本还为发布,在生产上使用还是存在一点的顾虑,不过那种方式有个很明显的优点就是省事。对于测试环境的整合还是一种好的方式。
     所以现在重点已经不在于数据量了,主要还是在于环境的整合复杂度,因为涉及的有些系统是测试环境的整合,可能维护时间会宽裕一些,有些是重要的在线业务,可能需要前期准备要更多,保证停机维护时间短。
     大体总结了一下,关于这种整合式的迁移,有一些信息需要考虑。
1.关于表空间的信息,这部分信息源端,目标端做比对,大小,可用空间等做一个比对。
2.用户的资源管理profile,对于原来用户设定的profile需要原封不对的复制过来,当然资源的整体使用情况是在合理范围之内。
3.crontab 原来的库中的crontab可以直接平移到目标库中
4.监听端口,原来库中的监听端口可能和目标端不同,这个时候可以根据情况做调整,是新建启用新的端口还是把端口整合在一个指定的范围之内。
5.防火墙,这部分信息需要保证访问的权限和源库要保持一致,当然在不考虑filter chain的情况下,还是简单的追加即可。
6.用户权限,关于系统权限,角色权限等,需要和源库保持基本一致。
7.关于db link这个部分比较纠结,可能需要手工逐个处理,确实这些细节没有搞头,但是又不得不做。
8.存储过程,pl/sql,视图  这部分信息还是需要和源库复制保持一致,当然还是会有一些细节差别。
9.序列 序列的处理其实还是一个比较特殊的部分,为了保证不会出现sequence的当前值比字段最大值小的情况,需要在迁移后同步sequence的值,对于此,一个比较省事的方式就是重建序列,当然需要注意的部分就是序列的权限设定,其它可以通过dbms_metadata或者解析dump文件得到对应的sequence 语句。
10.tns部分,如果是迁移,对于源库的配置可能就不需要了,但是对于db link相关的tns部分还是需要的。
所以这种整合式迁移的很多场景都是不断整合结构,这个骨架搭建好了,就好比上了高速公路。数据迁移才刚刚开始。

时间: 2024-10-14 17:42:14

数据整合式迁移的一些总结的相关文章

使用shell批量生成数据整合式迁移的脚本

对于数据整合式迁移,基本就是小霸王的二合一,四合一,八合一这样的节奏,把几个尽可能相关业务的数据库中的数据整合到一个库里.彼此还是独立的schema,倒也是相安无事. 在这种整合式迁移中,比较让人纠结的部分就是性能不是排第一位,而是迁移前的准备比较琐碎. 如果环境中有大量的db link,那就好像蜘蛛网一般,每个环境之间都有着千丝万缕的联系,如果准备不当,出了一点小的差错,那可能就是伤筋动骨的影响了.或者环境中存在这大量的连接用户,有的环境关联业务多,连接用户可能几十上百个.这个时候准备脚本的时

asm数据文件迁移(asm–>os)

--查看当前情况 SQL> select count(*) from hr.a; COUNT(*) ---------- 1580 SQL>  select name from v$DATAFILE; NAME ----------------------------------------------------------- +DATA/tasm/system01.dbf +DATA/tasm/undotbs01.dbf +DATA/tasm/sysaux01.dbf +DATA/tasm

360云盘数据怎么迁移到百度网盘

  360云盘数据怎么迁移到百度网盘 1.首先选中你要离线到百度云的文件,右击或上面工具里选择分享文件,弹出一个分享链接,再单击复制链接字样,就将这个链接复制下来了. 2.新建一个浏览器标签,在浏览器地址栏粘贴并打开刚才复制的地址.这是个短链接,不同于前面复制的下载链接时大长得一串.就得到下面的下载页面. 3.在这个下载页面单击高速下载,选直接下载,弹出下载链接,从网址后面一长串链接URL,复制它 4.到百度云里,打开离线下载,新建普通任务,将刚才的地址粘贴进去,开始离线 5.离线速度还是很快的

Mysql数据库千万数据修改迁移问题

问题描述 Mysql数据库千万数据修改迁移问题 5C 环境:数据库DATA中有三张表分别为 表A.表B.表C 需求:表A中有1200万数据,现在需要将表A中的部分字段数据插入表B中,将表A中剩余部分字段插入表C中,在插入过程中,会对字段数据进行部分处理(如某字段为空,则随机插入写那些).问题: 除了查出表A中的数据然后一条一条处理插入还有什么好的方式能优化效率呢!! 解决方案 MySQL数据库数据位置迁移 解决方案二: 还不是一样用SQL语句啊 解决方案三: 事务应该可以吧,但效率好像不好说 解

数据中心迁移7大错误

数据中心的迁移并不是大多数的数据中心工作人员每天都在做的日常工作.在他们的职业生涯中通常有一两次这样的事情,如果你幸运的话(或是不幸,这取决于如何看待它).而无论你是处于移动网络.服务器.数据和应用的哪一个阵营,将数据中民从一个地方迁移到另一个地方往往是身心俱疲甚至是痛苦的回忆. 这是一个很好的理由 在帮助数百家公司从单一的应用程序完整迁移到数据中心之后,数据中心服务商ServerCentral公司营销和产品副总裁克里斯•罗斯特恩表示,人们在数据中心的迁移过程中通常会犯七个常见的错误,更重要的是

Oracle数据库向MS Sql表结构及数据如何迁移?

问题描述 新来的经理三把火了,要我们把数据库改了,可是我们没有数据库迁移的经验,网上的博客都是模棱两可的.请教下各位大牛.Oracle数据库向MS Sql2000表结构及数据如何迁移?我们使用了DTS但是提示"未知错误",就不得不中断,请问数据库迁移还有别的办法吗?或者这种未知错误有解? 解决方案 参考http://www.sql-server-performance.com/2003/migrating-from-oracle-to-sql-server/我其实为吐槽来的.Oracl

局域网服务器数据怎么迁移

问题描述 局域网服务器数据怎么迁移 公司一台CRM服务器,感觉使用时间太长,想换一台服务器,请问怎么把数据迁移到新的服务器上面呢,还有要不要配置数据库呢 谢谢 解决方案 最简单的是用ghost恢复.如果基于windows系统,先执行下sysprep,这样可以在新的硬件上正确检测硬件. 解决方案二: 数据库可以进行数据导出和倒入,现在主流数据库都可以支持. 解决方案三: lz有没有试过系统快照,感觉可以先对原来的系统快照,然后再另一台机器恢复 解决方案四: 要配置的,一整套的系统.数据库.软件都要

SQL Server 2008数据表迁移至Postgres Plus详细步骤

一.概述 目前在市场上有许多数据库厂商,并且被许多数据密集型应用所采用,因此,许多时候人们需要移植应用程序以使用不同数据库中的数据,或者从不同数据库中迁移数据以供自己的应用程序之用.一般情况下,业内多采用数据迁移方式,因为这样做相对容易一些. Migration Studio是一款从诸如SQL Server.Oracle.MySQL等各种数据库向http://www.aliyun.com/zixun/aggregation/14171.html">Postgres自动迁移数据和业务逻辑的工

将数据中心迁移到云时易犯的10个错误

从前不久的数据来看,虽然25%的企业还在评估云服务是否可以在日常生产环境中为他们工作,以及他们的公司数据在云中是否安全. 但是,对于云服务提供商存储和保护关键业务信息的态度已经发生了变化. 根据IDG企业调查显示,一些企业预计到2017年年底会将其59%的IT环境迁移到云.对于企业机构而言,这是一个令人印象深刻的数字,但也不是那么简单的,因为会出现更多的挑战, 有许多预防措施是一定要考虑的,它是一个彻底的,多步骤的过程.一步做不好就有可能导致事情的失败.将企业的数据中心资产移到云计算平台需要大量