我们做国产数据库选型时,一般会看它们对Oracle的兼容性。很多国产数据库都会声称,自己对Oracle的兼容性能达到百分之九十几。那到底是百分之九十几呢?其实这个准确的数据无需较真,因为剩下的百分之几也都是我们在迁移过程中经常会碰到的东西,为了做好迁移工作,我们少不了需要一定的借力。
这时就需要利用一些工具,比如代码扫描工具、SQL抓取工具等。我们联合了一些第三方的厂商,让他们按照我们的需求开发一些工具,使用这些工具扫描代码就能把里面的SQL全部扫描出来,或者扫描数据库,无论是生产环境还是测试环境的,都可以把曾经跑过的SQL全部找出来。当拿到这些东西之后,我们再放到一个评估的工具里去验证,原来的语法是否能在新的数据库里执行。对于不能够执行的语法,则需要推荐一些建议去进行改造。
所以这些工具的成熟与否,跟我们迁移改造的过程是否顺利息息相关。工具如果好用,迁移起来就更便捷,如果不好用,那很多时候都需要人为判断、人为寻找替代方案,甚至人为地把整个应用进行改造,而不仅仅是改造SQL。