Database migration is the procedure of moving databases between different database management systems (DBMS). Sometimes companies may need to migrate databases for such reasons as server or storage equipment replacements, upgrades, application migration and data center relocation. Database migration process includes transferring table definitions, data, indexes, constraints, views, triggers, stored procedures and functions, user accounts, roles and permissions.
It is possible to migrate databases manually or programmatically, the second option is supported by using special software called database migration tools. Process of manual database migration consists of the following steps:
- export source table definitions along with indexes and constraints as set of SQL statements
- transform these SQL statements so they comply with the destination format and load to the target DBSM
- export source data into comma separated values (CSV) files
- convert data into the destination format and load it to the target DBMS
- export original views, stored procedures/functions and triggers in set of SQL statements and code
- transform these statements and code so they comply with the destination format and load into the target DBMS
After migration is completed, resulting database must be validated to check that all objects were accurately migrated, database is complete and supports for applications in the new system properly. This procedure may require to run source and destination databases simultaneously to identify areas of inequality, data loss or corruption within verification.
Database migration is usually done programmatically in order to automate the process and free up human resources from this task, especially for large and complex database projects. Choosing the right software is the key to successful database migration without data loss or corruption. Here is list of most important requirements to high quality tools for database conversion and migration:
- it must support all recent versions of source and target DBMS
- it must migrate table definitions, data, indexes and constraints with all necessary attributes (support of views, triggers and stored procedures may be considered as extra benefit)
- it must store conversion settings into a profile to simplify the next use
- it must support Unicode in order to be used with multi-byte code pages
- it must provide option to customize types mapping and to define conversion rules in order to make database migration more flexible and personalized
- it must support command line to script and schedule the migration process
- it must be supplied with comprehensive documentation and 24/7 customer support
There are number of software vendors providing special solutions to automate database migration. One of them is Intelligent Converters, a company specializing in database conversion, migration and synchronization since 2001. They offer wide collections of converters for all popular DBMS: PostgreSQL, MySQL, Oracle, SQL Server, Azure SQL, Microsoft Access, FoxPro, IBM DB2 and SQLite.
Visit https://www.convert-in.com to learn more about Intelligent Converters and database migration software provided by the company.