Snowflake Database Migration Services

Migrate Oracle to Snowflake

Move to the #1 rated cloud data platform with
snowconvert 2

FREE CODE ANALYSIS TOOL

Save time and money.
Move from Oracle to the cloud seamlessly with Mobilize.Net.

Migrating from one data warehouse to another is a painstaking, detail oriented process. It requires the right plan and the right tools, which you can learn more about by watching the recording of our webinar overviewing the migration process. If you're looking for a solution for the entire migration process, check out Mobilize.Net's complete migration services. But if you're looking for a product that solves the hard problem in a migration from Oracle to Snowflake, Mobilize.Net SnowConvert for Oracle is the right solution.
oracle-to-snowflake

Modernize and leave legacy servers behind
Mobilize.Net SnowConvert for Oracle

Oracle has been a leader in database systems since Bill Gates was in middle school. They have pioneered the concept of a stored procedure. So why would you ever leave? The founders of Snowflake, who were once developers at Oracle, saw the flaws in it's architecture, and built a modern data platform native to the cloud

With Mobilize.Net, you can transform not just the Oracle DDL to Snowflake SQL, but also the PL/SQL to JavaScript (Snowflake's preferred scripting language) and Python running on Snowflake's cloud platform. Open standards, modern platforms, and native cloud are your new paradigm, not ancient stored procedures written for last century's platforms. Get off expensive on-prem appliances and put your data in Snowflake, the data warehouse built by former Oracle engineers specifically for the cloud. Read on below the statistics (which start in April 2020) to see our conversion architecture and sample converted stored procedure.

4 MM

>4 million
lines of code converted

 

92 K

>92 thousand objects converted
(Tables, Views, PL/SQL [Oracle])

96.45%

Average level of automation for initial workloads is 96.45%.

99%

Median level of automation for initial workloads across all of SnowConvert is 99%.


Target Conversion Architecture

The migration experts at Mobilize.Net are here to transfer your Oracle SQL and proprietary scripts over to Snowflake. Specifically:

  • Oracle SQL (*.sql) statements converted to Snowflake SQL
  • Stored procedures in PL/SQL (*.sql) converted to Snowflake's preferred scripting language.

Note that the source to target code pairs were developed in partnership with Snowflake Professional Services. Learn more about our partnership by watching our co-webinar with Snowflake

More than just Glorified Find-and-Replace Translation

While DDL translation can sometimes pose challenges to your average migration company, it's really the stored procedures and scripts written in outdated scripting languages (such as PL/SQL for Oracle) that get them stalled. Mobilize.Net automates the conversion of PL/SQL as efficiently as with DDL written in SQL. As mentioned previously, we do not create glorified regex or find-and-replace tools. A complete understanding of each workload is created with a full symbol table and a comprehensive AST.  

To illustrate this functional equivalence, here's a quick conversion example of a table written in Oracle. The source code is given here:

CREATE TABLE "MySchema"."BaseTable"
   (
      "BaseId" NUMBER DEFAULT 10 NOT NULL ENABLE,
    "COL0" NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 621 CACHE 20 NOORDER NOCYCLE NOT NULL ENABLE,
      "COL1" NUMBER(*,0),
"COL2" NUMBER CHECK( "COL2" IS NOT NULL ),
            CHECK( "COL2" IS NOT NULL ),
CONSTRAINT "Constraint1BaseTable" PRIMARY KEY ("BaseId")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1) ENABLE,
CONSTRAINT "FK1" FOREIGN KEY ("COL1") REFERENCES "MySchema"."MyTable" ("COL1")
)
SEGMENT CREATION IMMEDIATE
PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255
COLUMN STORE COMPRESS FOR QUERY HIGH NO ROW LEVEL LOCKING LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "MyTableSpace"
PARTITION BY LIST ("BaseId")
(
PARTITION "P20211231" VALUES (20211231) SEGMENT CREATION DEFERRED
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
ROW STORE COMPRESS ADVANCED LOGGING
STORAGE(BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "MyTableSpace"
)
PARALLEL;

And the output in Snowflake is is given here:

CREATE OR REPLACE SEQUENCE MySchema.PUBLIC.BaseTable_COL0
INCREMENT BY 1
START WITH 621
COMMENT = 'FOR TABLE-COLUMN MySchema.PUBLIC.BaseTable.COL0';

CREATE OR REPLACE TABLE MySchema.PUBLIC.BaseTable (
BaseId NUMBER (38,19) DEFAULT 10 NOT NULL,
COL0 NUMBER (38,19) DEFAULT MySchema.PUBLIC.BaseTable_COL0.NEXTVAL NOT NULL /**** WARNING: SEQUENCE - GENERATED BY DEFAULT MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 621 CACHE 20 NOORDER NOCYCLE ****/,
COL1 NUMBER (38,0),
COL2 NUMBER (38,19)
-- *** WARNING: THE FOLLOWING CHECK CONSTRAINT WAS COMMENTED OUT ***
-- CHECK(COL2 IS NOT NULL )
,
/**** WARNING: CHECK STATEMENT NOT SUPPORTED ****/
/* CHECK(COL2 IS NOT NULL)*/
CONSTRAINT Constraint1BaseTable PRIMARY KEY (BaseId)
/**** WARNING: FOREIGN KEY DATA TYPE MISMATCH ****/
/* CONSTRAINT FK1 FOREIGN KEY(COL1)REFERENCES MySchema.PUBLIC.MyTable(COL1)*/
);

This is just one example of the how Mobilize.Net automates the "hard problems" of sProcs and proprietary script conversions in a database migration. You can learn more about how Mobilize.Net fits code conversions into a complete strategy for migrating legacy data warehouses to Snowflake by visiting our database migration services page.

Say goodbye to static servers.
Say hello to the cloud.

Learn more

Performance
goes up

SnowConvert_ToTheCloud_Graphic
Time to Mobilize
Modernization Solutions

Maintenance and cost go down

Mobilize-Testimonials

Mobilize.Net offers valuable technology and services that help customers easily modernize their legacy applications for use on today’s modern platforms and devices program at Microsoft.

- Shawn Nandi, Sr Director, Cloud App Development, Data & AI Marketing

We were able to migrate our VB6 code to .NET using the VBUC license we acquired through MSDN. After the migration only a few things needed manual modification. So your software did a great job and saved us a lot of time

- JMarco Botermans, Owner - Fluke

“NTCNA Chassis Dynamics chose Mobilize.Net VBUC because the automated migration technology greatly sped up our move off VB6.”

- Aaron Bickel, Senior Manager, Nissan NA

Mobilize.Net seemed the only one that sorted out the details, not only the basic issues of a migration engagement. Its product, the Visual Basic Upgrade Companion, included unique, powerful features, many of which turned out to be very valuable for this specific project, like ADO to ADO.NET conversion and error handling transformation

- Rod Coles – President, Bold Technologies, Ltd

We ran a proof of concept comparing the Visual Basic Upgrade Companion (VBUC) with other VB6 migration tools and we definitely preferred the way VBUC handled the conversion.

- James Lewis Stevenson II – Software Design Engineer, GT Software

Trusted by 80% of the Global 2000
logo-IRS
microsoft
nissan
CFM-materials
logo-AgWorks