Skip to main content

Replicating Oracle data to Snowflake

Striim provides a template for creating applications that read from Oracle and write to Snowflake. See Creating an application using a template for details.

SnowflakeWriter can continuously replicate one or many Oracle tables to Snowflake. First, create a table in Snowflake corresponding to each Oracle table to be replicated. Then load the existing data using DatabaseReader, for example:

CREATE SOURCE OracleJDBCSource USING DatabaseReader (
  Username: 'striim',
  Password: '******',
  ConnectionURL: 'jdbc:oracle:thin:@//127.0.0.1:1521/xe',
  Tables: 'QATEST.%'
OUTPUT TO DataStream;

CREATE TARGET SnowflakeInitialLoad USING SnowflakeWriter (
  ConnectionURL: 'jdbc:snowflake://hx75070.snowflakecomputing.com/?db=DEMO_DB&schema=public',
  username: 'striim',
  password: '******',
  Tables: 'QATEST.%,DEMO_DB.PUBLIC.%',
  appendOnly: true
)
INPUT FROM DataStream;

Once the initial load is complete, the following application will read new data using LogMiner and continuously replicate it to Snowflake:

CREATE SOURCE OracleCDCSource USING OracleReader (
  Username: 'striim',
  Password: '******',
  ConnectionURL: 'jdbc:oracle:thin:@//127.0.0.1:1521/xe',
  Tables: 'QATEST.%'
OUTPUT TO DataStream;

CREATE TARGET SnowflakeCDC USING SnowflakeWriter (
  ConnectionURL: 'jdbc:snowflake://hx75070.snowflakecomputing.com/?db=DEMO_DB&schema=public',
  username: 'striim',
  password: '******',
  Tables: 'QATEST.%,DEMO_DB.PUBLIC.%'  
)
INPUT FROM DataStream;

For for more information, see Snowflake Writer.