最近在把近日开发的一个小型ERP系统的数据库从MySQL迁移到Oracle。虽然事先做了一些功课,但实际过程还是花费了好几天的时间。
- 用Oracle SQL Developer进行数据库的迁移,遇到了无法生成目标数据库的问题。经调查,主要是由于迁移用账户权限不够所造成的。使用Sys账户能够完成目标数据库结构的创建,但是数据本身的迁移却需要用随目标数据库创建的新账户才可以做到。
- Oracle缺省字段名全部为大写,而MySQL是维持原样。与PHP结合使用的时候,由于PHP的数组Key区分大小写,会遇到数组Key找不到的问题。需要使用相应函数进行大小写变换。如在数据库设计的时候保持字段名都为大写则没有这个问题。
- 很多MySQL的扩展函数,如FIND_IN_SET等Oracle并不原生支持,需要改写或者自建相应函数。
其他一般性的区别与注意事项,可以参考下面的链接。