The strategy would highly depend on application downtime possibility. If some downtime would be possible, migration would be much easier. I would pay attention especially to:
- Consistency in data changes after migration has been started (if downtime is not possible).
- Data types compatibility between different db engines.
- Database api changes.
- Security issues (we would transfer a lot of sensitive data through the network).
- Troublesome potential revert.