In Oracle to SQL Server replication, if source Oracle database is running on Linux then setup wizard is executed on target Windows machine where SQL Server database is running. 3rd party products such as MS SSMA or Navicat Premium can (Navicat is recommended only for small tables) can be used to load data from oracle to SQL Server in order to sync source and target environment before initiating replication.
Note |
---|
Click here for prerequisite checklist. |
...
First of all open the Dbvisit Reporting Replicate command console from the start menu and execute 'setup wizard' command.
...
Running the reptest2-all.sh bat script will configure and initiate the replication. It does the following:
- Create the Dbvisit Replicate schemas in the source and target databases.
- Grant the necessary privileges to the Dbvisit Replicate schema.
- Create the Dbvisit Replicate repository in the source and target databases.
- Load the Dbvisit Replicate configuration file (DDC) into the Dbvisit Replicate repository. The DDC file is like the init.ora for Oracle and contains the settings for the replication.
- Prepare the schemas or objects for replication.
Example of running the reptest1the reptest2-all.bat
No Format | ||
---|---|---|
| ||
C:\Users\oracle\Documents\reptest2>reptest2-all.bat Setting up Dbvisit Replicate configuration Configure database reptest2... Configure database mstest... Msg 3701, Level 11, State 1, Server DBVISIT420\SQLTEST, Line 1 Cannot drop the database 'dbvrep', because it does not exist or you do not have permission. Object grants for database reptest2... Object grants for database mstest... Setting up the configuration Initializing......done WARN-1850: No DDC DB available, dictionary table does not exist. DDC loaded from database (0 variables). Dbvisit Replicate version 2.3.33.20707 Copyright (C) Dbvisit Software Limited. All rights reserved. DDC file C:\Users\oracle\Documents\reptest2\reptest2-onetime.ddc loaded. MINE: Cannot determine Dbvisit Replicate dictionary version. (no dictionary exists) APPLY: Cannot determine Dbvisit Replicate dictionary version. (no dictionary exists) dbvrep> set ON_WARNING SKIP Variable ON_WARNING set to SKIP for process *. dbvrep> set ON_ERROR EXIT Variable ON_ERROR set to EXIT for process *. dbvrep> ENGINE SWITCH_REDOLOG dbvrep> ENGINE SETUP MINE DROP DICTIONARY 0 dictionary objects dropped. dbvrep> ENGINE SETUP MINE CREATE DICTIONARY dbvrep> ENGINE SETUP MINE LOAD DICTIONARY Supplemental logging on database set. Loading dictionary table DBRSCOL$ Loading dictionary table DBRSOBJ$ Loading dictionary table DBRSTAB$ Loading dictionary table DBRSUSER$ Loading dictionary table DBRSV_$DATABASE dbvrep> ENGINE SETUP APPLY DROP DICTIONARY 0 dictionary objects dropped. dbvrep> ENGINE SETUP APPLY CREATE DICTIONARY dbvrep> ENGINE SETUP APPLY LOAD DICTIONARY dbvrep> ENGINE SETUP PAIR MINE AND APPLY ID of mine proces is 8EFF00AA-6D9B-1014-B197-EC251B966082. If not using DDC in database, set MINE_UNIQUE_ID to this value. 1 applier SCN set. dbvrep> SET APPLY.INSTANTIATE_SCN NOW Variable INSTANTIATE_SCN set to NOW for process APPLY. dbvrep> memory_set IGNORE_APPLY_DDL_DIFFERENCES YES Variable IGNORE_APPLY_DDL_DIFFERENCES set to YES for process *. dbvrep> ENGINE SUPPLEMENTAL LOGGING TABLE avi.sample ENABLE PRIMARY KEY dbvrep> ENGINE SWITCH_REDOLOG dbvrep> #single-scn instantiation: lock all tables and schemas dbvrep> ENGINE LOCK TABLES avi.sample Locking all tables. Lock done. dbvrep> #single-scn instantiation: unlock all tables and schemas, but keep the SCN dbvrep> ENGINE LOCK RELEASE LOCKS dbvrep> dbvrep> #prepare the tables (we use OFFLINE as neither MINE not APPLY is running; with OFFLINE we won't wait on network timeout) dbvrep> PREPARE OFFLINE TABLE avi.sample NODDL RENAME TO w420g.dbo.sample Table avi.sample instantiated at SCN 1413199 dbvrep> #single-scn instantiation: unlock all tables and schemas, forget the SCN (so it does not affect any further PREPARE statements) dbvrep> ENGINE LOCK CLEAR SCN dbvrep> ENGINE SWITCH_REDOLOG dbvrep> #prepare script for instantiation dbvrep> ENGINE PREPARE_DP WRITE DDL_FILE FILE C:\Users\oracle\Documents\reptest2\APPLY.sql USERID SYSTEM/odb10g@reptest2password@reptest2 Created DDL script C:\Users\oracle\Documents\reptest2\APPLY.sql. dbvrep> create ddcdb from ddcfile DDC loaded into database (204 variables). dbvrep> set ON_WARNING SKIP Variable ON_WARNING set to SKIP for process *. dbvrep> set ON_ERROR SKIP Variable ON_ERROR set to SKIP for process *. OK-0: Completed successfully. These steps are required after the reptest2-all.bat script runs: 1) Create the necessary directory(ies) on the servers: dbvisit420.dbvisitdomain.dbvisit.com: C:\Users\oracle\Documents\reptest2 dbvldemo102: /home/oracle/reptest2 2) Copy the DDC files to the server(s) where the processes will run: dbvisit420.dbvisitdomain.dbvisit.com: C:\Users\oracle\Documents\reptest2\reptest2-APPLY.ddc dbvldemo102: C:\Users\oracle\Documents\reptest2\reptest2-MINE.ddc 3) Review that path to dbvrep executable is correct in the run scripts: C:\Users\oracle\Documents\reptest2\reptest2-run-dbvisit420.dbvisitdomain.dbvisit.com.bat C:\Users\oracle\Documents\reptest2\reptest2-run-dbvldemo102.sh 4) Review and run the scripts for Windows to create services (run with Administrator privileges): C:\Users\oracle\Documents\reptest2\reptest2-win_services-dbvisit420.dbvisitdomain.dbvisit.com.bat 5) Copy the run script to the server(s) where the processes will run: C:\Users\oracle\Documents\reptest2\reptest2-run-dbvisit420.dbvisitdomain.dbvisit.com.bat C:\Users\oracle\Documents\reptest2\reptest2-run-dbvldemo102.sh 6) Ensure firewall is open for listen interfaces 0.0.0.0:7902, 0.0.0.0:7901 used by the processes. 7) Make sure the data on apply are in sync as of time when setup was run. Scripts for Data Pump/export/DDL were created as requested: C:\Users\oracle\Documents\reptest2\APPLY.sql Create referenced database links (if any) before running the scripts. 8) Start the replication processes on all servers: C:\Users\oracle\Documents\reptest2\reptest2-run-dbvisit420.dbvisitdomain.dbvisit.com.bat C:\Users\oracle\Documents\reptest2\reptest2-run-dbvldemo102.sh 9) Start the console to monitor the progress: C:\Users\oracle\Documents\reptest2\start-console.bat The above list is stored in C:\Users\oracle\Documents\reptest2\Nextsteps.txt. Press any key to continue . . . |
...
Note |
---|
Due to *-run-<servername>.sh is created on Windows environment, Executing this script on Linux can give an error about "dbvrep" executable location. |
Starting the console
The dbvrep console can be started by executing start-console.bat script to monitor the real time status of the replication.
...