各位大侠,专家
最近遇到个问题,我们需要迁移一个4T数据库到新服务器上,想用建hadr的方式来进行takeover迁移,这样最安全和稳妥。
这个数据库只有两个大表,以及两个表空间(data和index各一个表空间)。
备份的时候还行,大约为250MB/s,但是在restore的时候,只有60MB/s左右,我们怀疑是表空间太少,恢复的并发度上不去。不过不理解的是为什么备份比恢复快这么多
花了20小时终于恢复完了,开始前滚日志,发现日志前滚速度大约为0.9MB/s,前滚日志速度居然还慢于该库新产生的日志量。于是死马当活马医,先建上hadr,让它自己追,然后发现也差不多这个速度,因为remote_catchup的时候应该也是先前滚归档日志。
我们还有个数据库,每天产生的日志量和这个库差不多,不过只有1T左右,现在建的hadr的追日志速度大约是1.5MB/s,峰值时还能再提升。这两个库除了大小不一样,对比库的表空间更多,大概是4T库的4倍。
现在想知道:
1.为什么restore比backup慢那么多
2.rollforward的时候到底和什么有关,是否也和表空间数量有关,但是前滚日志应该是事务级别顺序前滚的吧,为什么两个库差别这么大。我们内存参数都调整过了,效果不明显
不知道有哪位高手可以帮忙解释下,谢谢!
收起