Tags: Azure SQL Database, Java application
‘Low-performing and costly’ — these were major characteristics of the Oracle system of one of our customers, a leading US automotive corporations. In this regard, it was quite natural for them to consider migrating to another database platform. We suggested changing their Oracle Database to Azure SQL Database and moving their applications to Azure services. However, the customer may well anticipate this Oracle to Azure migration solution. Why? Because according to the calculations made by our experts, they can save upwards of 1 million dollars just on licenses in the coming 5 years!
The video below depicts the migration process in details:
Based on Oracle services, the customer’s initial system comprised of a large database and Java application. The latter handled a great deal of the customer’s transactions. Needless to say, increased number of transactions led to a significant performance deficiency of the customer’s system.
Taking this into account, the customer reached out to us with a challenging task to analyze the possibility of licensing costs reduction. After performing financial and technical assessment of potential migration, we came up with an advice to migrate the customer’s database system to Azure.
We have selected Azure SQL Database as a migration destination for our client. Along with that, SQL Server Migration Assistant helped us automate the conversion process.
First and foremost, we converted database schemas, then proceeded with converting database objects such as tables, indexes, and sequences. Seems like the real value of using SSMA was that this flexible tool converted approximately 75% of the source code in fully automatic mode. We classified the rest non-converted objects as the objects with the medium level of migration complexity. We then can convert these objects manually. The principal challenge of the code conversion consisted in dynamic SQL, supported by Oracle system. In our case, Java code expands template queries with parameters and modifies some queries dynamically by string substitution. Thus, we had to rewrite the code manually, making it valid for Microsoft Transact-SQL.
During the project implementation, Azure data storage was limited to just 500 GB. Therefore, we had to use Azure’s Elastic Scale API in order to separate the databases. Fortunately, today we can easily migrate larger databases to Azure. However, this method of breaking down larger databases into small ones is still popular as databases may exceed the restricted volume. Moreover, when we leverage the elastic pools, we can boost the overall system’s performance due to faster data processing.
We used classic ETL method for data migration. Also, we did not perform direct data migration opting for backing up the data instead. Since the customer does not have business operations on Sunday, this was the most optimal period for scheduled downtime. Then we utilized pre-created ETL jobs for the target SQL database with the temporary files. Previously, we saved these files based on the data from the source database. As a result, we migrated all the data to the new SQL database.
Originally, the customer’s Java application was running on WebLogic on RedHat Linux VM. We shifted it to the Weblogic on Windows for this platform is optimized for Azure in collaboration between Oracle and Microsoft. Besides, we used SSMA to find the database queries in the Java application code. Meanwhile, we modified thіs code to replace PL/SQL queries with their T-SQL equivalents for the application’s сompatibility with the new database.
Next, we implemented Azure Traffic Manager for distributed transactions locally and geographically. In addition, we’ve used Active Geo-Replication to make the Azure SQL Database available anywhere in the world. Luckily, this solution allows improving access rate, system performance, and system failover.
Eventually, the customer got an easy-to-use, efficient and scalable database system based on the Microsoft’s stack of services. This allows for easy support and successful management of the newly created database system. In addition, this brings obvious financial benefits in terms of partnership with Microsoft. Moreover, this results in over $1 million savings in the period of the next 5 years, should the customer decide to migrate the entire system.
Feel free to contact us to start your database migration project.