How fast can you replicate your data?
Oracle to SQL Server in 10 Minutes
For some time I have been showing HVR demos because I think it is more interesting than showing PowerPoint slides. This applies both to the audience, and to me. Of course, things can go wrong during a live demo, but that makes it more fun and more challenging. If I don’t know what the audience is looking for then my default demo is Oracle on Linux (with ASM for storage) into SQL Server as a target. The hub database is also in SQL Server. I like the oracle to SQL server replication demo scenario because it is cross-platform and heterogeneous. I have been tweaking the demo over time with a slightly different flow now than what it used to be.
Anyway, how much time does such a demo take these days?
- 10 minutes at the most for a relatively small amount of data with 9 tables and about 300,000 rows in the biggest table (this is standard TPC-C). That is, if I don’t carefully explain every step along the way.
Let me break down the 10 minutes. I do assume that operating system users and database users have been set up and I have sufficient privileges, and the communication port I need between Linux and Windows is open and available. The source schema already exists and may be running a workload. Also I assume that software was already downloaded (at 40-50 MB that saves a minute or so). With that:
- Set environment variables on Linux in .bash_profile, and create the directories (mkdir -p $HVR_HOME; mkdir -p $HVR_CONFIG): 2 minutes.
- Install the software on Linux: cd $HVR_HOME; tar -zxvf <software package>: 30 seconds.
- Start the listener on Linux: hvrremotelistener -d -N 4343: 30 seconds.
- Install the software on Windows and connect to the hub: 1 minute.
- Define 2 locations – one for Linux (remote) and one for Windows (local): 1 minute
- Create the channel, define source and target location groups, and select the tables that are part of the channel: 1 minute.
- Define actions: log-based capture for the source, and integration on the target: 30 seconds.
- Run HVR Load with all defaults to initialize the channel. This step sets the transaction time, creates the runtime environment and adds any required supplemental logging. Then turn on the capture job to start monitoring the log: 1 minute.
- Run HVR Refresh to create the target tables (HVR automatically maps source data types to target data types in a heterogeneous environment) with primary keys and load the data. This step can be done with multiple tables in parallel to speed up the data load: 1 minute.
- Turn on the integrate job to start catching up on the source database: 30 seconds.
At this point – I typically show a compare when clearly systems are out of sync because the target is running behind. I also show statistics, and then turn off the workload so that…
- Run compare to prove that both systems are in sync. This can also run in parallel: 30 seconds.
Total time: 9 minutes and 30 seconds. And at the end of all this, replication is up and running and systems are in sync!
Sounds unbelievable? Request a demo or check out some of our videos on-line!