Most common database migrations involve migrating from:
Sybase, SQL Server, DB2, and so on, to Oracle due to a combination of the previously discussed drivers for such migrations.
Migration of an Oracle database from one platform to another. This effort is typically undertaken due to changes in the underlying platform, for example operating systems change (Unix to Linux, Windows to Linux), periodic hardware refresh cycles, a platform change (HP to IBM, IBM to Oracle SUN, and so on), and moving from 32 bit platforms to 64 bit platforms.
Complexities of the database migrations depend on factors such as:
A large number of database(s)/schema objects
The complexity of the business logic: embedded within stored procedures/triggers involving temporary tables, multiple result sets, database-specific functionality involving system tables/functions
The size of the stored procedure/triggers/views in terms of lines of code (LOC)
Very large databases (multi-terabytes+)
The downtime...