We need to migrate our database from MSSQL to Oracle and we have over 100 stored procedures written in PL/SQL TSQL. I know its a long shot, but has anybody ever successfully used an automatic migration tool to do the work? I've seen some tools on the web, but I have no way to judge their ability to handle various code. Any personal experience in the matter would help.
In SQL Developer, go to the Tools menu and select 'Migration -> Migrate…' Page 5 MIGRATING TO ORACLE DATABASE 4 This will launch a wizard that guides you through the process of creating a migration repository, capturing the objects, and performing the move to Oracle Database.
Oracle Cloud Infrastructure Database Migration (DMS) is a managed cloud service that provides a seamless user experience migrating production workloads from On-Premises Oracle Databases or Oracle Cloud Databases to Autonomous Databases in the Oracle Cloud.
However, there are some optimisation that may be required to perform after the conversion is done. So, you should consider revising the conversion after it is done.
EDIT #1
Another interesting tool would be:
Spectral Core's Full Convert Enterprise
Do you have experience with any of them?
Unfortunately not. I have just performed conversions to SQL Server using SSIS.
EDIT #2
There seems to be a more appropriate tool directly from Oracle that I would better trust.
Directly from Oracle: Migrating from Microsoft SQL Server to Oracle
And the core features:
SQL Developer Migration technology supports the following core features when migrating from Microsoft SQL Server:
Displays informational, error, and warning messages about the migration in a progress window.
If you take a look as what SQL Server doesn't offer in comparison to Oracle, these are points where I would look first. In order to know these differences, follow the 3. Convert SQL Server T-SQL to Oracle PL/SQL (syntax and equivalences)
link above.
I would suggest doing it by hand. First, to me, personally, a 100 doesn't sound too bad at all. I'd bet that your development follows patterns - using getutcdate() instead of current_timestamp, etc. This means, there probably are a few very repetitive problems that you and your team will be able to learn from. To me, this will hold the added benefit of teaching you PL/SQL nuances/extensions, which you'll probably need to learn in order to maintain / expand the new system.
Good luck!
In the past I tried to do the opposite, but I'm afraid there's no 100% reliable way. Some features are unique to each RDBMS and can't be replicated by a tool (for example IDENTITY fields in SQL Server vs Sequences in Oracle). Considering that, at the end, I had to review each Stored Procedure to ensure it does what it's supposed to do, I realized it was better to plan a manual port and learn some PL/SQL while doing it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With