Search code examples
mysqlsqldatabaseodbcrds

How to make a database migration where the target remains fully operational during it


At our company we are trying to migrate data from an old Local SQL Server database to a RDS MySql database using SSIS. The original database is roughly 4GB in size and we are required to do the migration without taking down the production servers. The dev team reports that the migration runs fine with data being transferred, but after several hours (roughly 8 hours, but it's not exact. Sometimes it's less sometimes it's more) the connection abruptly closes. We have tried everything we can possibly think of on our side but we don't know what else could be going wrong. Based on their tests and ours, we think it could be the instance is closing the connection after being open for too long. Does anyone know what could be causing this?.

We need another alternative tool to make the migration and the target databases remains fully operational during the process?


Solution

  • I recommend you try the MySQL workbench 6.3 that oracle has out which has a piece precisely designed for your purpose. It is under GNU license so they have a community version which is free. There is also Data Loader which has a free trial version. The standard version is only $99. You can use logical export and convert it, so there will be no down time. GoldenGate would be perfect, but it is crazy expensive. I know people who have used Kettle to do what you are doing. Kettle is open source but you will have to write transforms so it will be a bit more tedious. With SqlServer you can clone the database, and then use the cloned version to do whatever you need to do to get it converted to MySql, bring it down, whatever, while the original stays up.

    Cheers

    Why cannot a 4GB database be brought down for a bit? And why would a 4GB database take 8 hours using SSIS ? I commonly move terabytes around in less time than that. That is in an Oracle shop, but still...