A Guide to Moving Database From Oracle to Snowflake

Oracle database can run on various hardware and software operating systems including Windows Server, UNIX, and GNU/Linux. Its unique networking stack feature ensures quick and easy integration of applications in its database and it has an ACID-compliant database that maintains data integrity and reliability. 

Given Oracle’s user-friendly properties, why would you opt for Oracle to Snowflake migration of a database? 

Snowflake is a recently-introduced cloud-based data warehousing solution that has addressed many drawbacks inherent in traditional data warehouses. Its main advantage is that storage and compute capabilities are separate and users can scale up and down as per requirements, paying only for the resources used. Further, multiple workgroups can work on multiple workloads without any fall in performance or contention roadblocks. 

The Snowflake architecture supports a wide spectrum of cloud vendors and hence, users have a greater choice as the same tools can be used to work with different cloud vendors. These are some of the reasons why organizations want to move their Oracle databases to Snowflake. 

Here are a few steps to follow for Oracle to Snowflake migration of a database.

  • The first step is mining data from Oracle to a CSV file. A SQL Plus query tool is in-built in the Oracle Database Server to query and redirect the result to a CSV file. The “Spool” command is issued to execute this activity. The result will be written in the file till the command is turned off. Generally, data extraction logic is done in the Shell Script. In case data has to be mined incrementally that is, only changed records after the last pull has to be selected, the SQL Plus query tool has to be run in appropriate conditions. 
  • When database of Oracle to Snowflake migration takes place after extraction, the data has to be converted and formatted to suit the needs of the specific organization. It is important to monitor that there is no data character mismatch between the source and the target. This in itself is not difficult to perform. The “File Format Option” in Snowflake can be customized to insert time and dates in a file in the table. Also, Snowflake supports most primitive and advanced data types as well as nested data structures.  
  • The next step in Oracle to Snowflake migration is uploading data to a cloud staging area. There are two components here, the internal and external staging areas. In the internal case, users and tables will be automatically allotted to an internal stage and a name assigned. Parameters like file format and date format are automatically applied. As an external stage, Snowflake supports Amazon S3 and Microsoft Azure.
  • The final step in Oracle to Snowflake migration after staging is copying data to the table with the “COPY INTO” command. For this, compute resources in Snowflake virtual warehouse are required and Snowflake credits are utilized. 

A unique feature in Snowflake that facilitates Oracle to Snowflake migration is that it supports row-level data manipulations, thereby making it easy to handle delta data load. The objective is to load incrementally extracted data into a temporary table from where records can be modified before transiting to a final table.          

Following these simple steps will make the migration process quick and convenient.