03 - Initialise the replication
This section initialises and starts the replication processes
1. Go in to the home directory of the replication that has been setup by the setup wizard
su - oracle
cd ~oracle/dbvrep_orcl
2. The configuration scripts can be inspected if needed. They are in the ./config directory.
ls ./config dbvrep_orcl-dbsetup_ttorcl_src.sql dbvrep_orcl-grants_ttorcl_src.sql dbvrep_orcl-onetime.ddc dbvrep_orcl-wizard-databases.cfg dbvrep_orcl-wizard-pairs.cfg dbvrep_orcl-dbsetup_ttorcl_trg.sql dbvrep_orcl-grants_ttorcl_trg.sql dbvrep_orcl-setup.dbvrep dbvrep_orcl-wizard-ddc.cfg dbvrep_orcl-wizard-tables.cfg
The following types of scripts are in the config directory
- SQL scripts. These scripts will run SQL statements in the source or target databases.
- CFG scripts. These are used in the setup wizard to remember user inputs. The setup wizard can be run again and the previous input will be displayed based on information in the .cfg files.
- DDC scripts. These scripts contain all the configurational settings for the replication.
- DBVREP script. This script runs Dbvisit Replicate commands and initialises the replication.
3. The dbvrep_orcl-all.sh is the main script that calls all the other script to initialise the replication. Start this script
./dbvrep_orcl-all.sh
4. The replication is now being initialised. This takes approximately 3-5 minutes.
Setting up Dbvisit Replicate configuration Configure database ttorcl_src... This check fails if the DBID is not the expected one... Ok, check passed. Configure database ttorcl_trg... This check fails if the DBID is not the expected one... Ok, check passed. Object grants for database ttorcl_src... Object grants for database ttorcl_trg... 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.7.02.4333 Copyright (C) Dbvisit Software Limited. All rights reserved. DDC file /u01/oracle/dbvrep_orcl/config/dbvrep_orcl-onetime.ddc loaded. MINE: Cannot determine Dbvisit Replicate dictionary version. (no dictionary exists) APPLY: Cannot determine Dbvisit Replicate dictionary version. (no dictionary exists) dbvrep> #clear the no-DDC-DB-available warning dbvrep> process clear previous warnings 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> PROCESS SWITCH_REDOLOG WARN-1258: Insufficient privileges to do a redolog switch. Please issue it manually. dbvrep> PROCESS SETUP MINE DROP DICTIONARY 0 dictionary objects dropped. dbvrep> PROCESS SETUP MINE CREATE DICTIONARY dbvrep> PROCESS SETUP MINE LOAD DICTIONARY Supplemental logging on database set. Loading dictionary table DBRSCOL$ Loading dictionary table DBRSIND$ Loading dictionary table DBRSOBJ$ Loading dictionary table DBRSTAB$ Loading dictionary table DBRSUSER$ Loading dictionary table DBRSV_$DATABASE WARN-1258: Insufficient privileges to do a redolog switch. Please issue it manually. WARN-1258: Insufficient privileges to do a redolog switch. Please issue it manually. dbvrep> PROCESS SETUP APPLY DROP DICTIONARY 0 dictionary objects dropped. dbvrep> PROCESS SETUP APPLY CREATE DICTIONARY dbvrep> PROCESS SETUP APPLY LOAD DICTIONARY dbvrep> PROCESS PREPARE_DP SETUP CLEAR dbvrep> PROCESS SETUP PAIR MINE AND APPLY Applier SCN set (start=3141006, current=3141006). dbvrep> SET APPLY.INSTANTIATE_SCN NOW Variable INSTANTIATE_SCN set to NOW for process APPLY. dbvrep> EXCLUDE CREATE TABLE %.DBMS_TABCOMP_TEMP_UNCMP #Ignore tables created by Compression Advisor Exclude rule created. dbvrep> EXCLUDE CREATE TABLE %.DBMS_TABCOMP_TEMP_CMP #Ignore tables created by Compression Advisor Exclude rule created. dbvrep> SET PREPARE_SCHEMA_EXCEPTIONS OE.SUBCATEGORY_REF_LIST_NESTEDTAB,OE.PRODUCT_REF_LIST_NESTEDTAB Variable PREPARE_SCHEMA_EXCEPTIONS set to OE.SUBCATEGORY_REF_LIST_NESTEDTAB,OE.PRODUCT_REF_LIST_NESTEDTAB for process *. dbvrep> PROCESS SUPPLEMENTAL LOGGING SCHEMA "OE" ENABLE PRIMARY KEY dbvrep> PROCESS SWITCH_REDOLOG WARN-1258: Insufficient privileges to do a redolog switch. Please issue it manually. dbvrep> PROCESS WAIT_SCN_FLIP Waited 2 seconds until scn_to_timestamp changed. dbvrep> #single-scn instantiation: lock all tables and schemas dbvrep> PROCESS LOCK SCHEMAS "OE" Locking all schemas. Lock done. dbvrep> #single-scn instantiation: unlock all tables and schemas, but keep the SCN dbvrep> PROCESS 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 SCHEMA "OE" Table OE.ADDRESSES instantiated at SCN 3144204 Table OE.CARD_DETAILS instantiated at SCN 3144204 Table OE.CMP3$95780 instantiated at SCN 3144204 Table OE.CMP4$95780 instantiated at SCN 3144204 Table OE.CUSTOMERS instantiated at SCN 3144204 Column SYS_NC00017$ is special: virtual column. Excluding. Column SYS_NC00017$ is special: hidden column. Excluding. Column SYS_NC00017$ is special: system-generated column. Excluding. Column SYS_NC00017$ is special: virtual column. Excluding. Column SYS_NC00018$ is special: virtual column. Excluding. Column SYS_NC00018$ is special: hidden column. Excluding. Column SYS_NC00018$ is special: system-generated column. Excluding. Column SYS_NC00018$ is special: virtual column. Excluding. Table OE.INVENTORIES instantiated at SCN 3144204 Table OE.LOGON instantiated at SCN 3144204 Table OE.ORDERENTRY_METADATA instantiated at SCN 3144204 Table OE.ORDERS instantiated at SCN 3144204 Table OE.ORDER_ITEMS instantiated at SCN 3144204 Table OE.PRODUCT_DESCRIPTIONS instantiated at SCN 3144204 Table OE.PRODUCT_INFORMATION instantiated at SCN 3144204 Table OE.PROMOTIONS instantiated at SCN 3144204 Table OE.WAREHOUSES instantiated at SCN 3144204 dbvrep> dbvrep> #single-scn instantiation: unlock all tables and schemas, forget the SCN (so it does not affect any further PREPARE statements) dbvrep> PROCESS LOCK CLEAR SCN dbvrep> PROCESS SWITCH_REDOLOG WARN-1258: Insufficient privileges to do a redolog switch. Please issue it manually. dbvrep> #prepare script for instantiation dbvrep> PROCESS PREPARE_DP WRITE DP_NETWORKLINK DIRECTORY ttorcl_trg_DATA_PUMP_DIR FILE /u01/oracle/dbvrep_orcl/APPLY.sh DBLINK ttorcl_src USERID SYSTEM/oracle@ttorcl_trg Created Data Pump script /u01/oracle/dbvrep_orcl/APPLY.sh, using network import. dbvrep> create ddcdb from ddcfile DDC loaded into database (346 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, but some operation(s) raised warnings and/or errors.
WARN-1258: Insufficient privileges to do a redolog switch. Please issue it manually.
This warning is expected. In Oracle 12c when you connect to a CDB, you don't have privileges for a system-wide log switch. The warning will not stop replication. Replication may take a bit longer to initialize as the MINE process will have to read through the current log. Or you could run the command manually.
At the end of the output, the Next Steps to be completed will be shown.
These steps are required after the dbvrep_orcl-all.sh script runs: 1) Create the necessary directory(ies) on the servers: target: /u01/oracle/dbvrep_orcl 2) Copy the DDC files to the server(s) where the processes will run: target: /u01/oracle/dbvrep_orcl/dbvrep_orcl-APPLY.ddc source: /u01/oracle/dbvrep_orcl/dbvrep_orcl-MINE.ddc 3) Review that path to dbvrep executable is correct in the run scripts: /u01/oracle/dbvrep_orcl/dbvrep_orcl-run-source.sh /u01/oracle/dbvrep_orcl/dbvrep_orcl-run-target.sh 4) Copy the run script to the server(s) where the processes will run: source: /u01/oracle/dbvrep_orcl/dbvrep_orcl-run-source.sh target: /u01/oracle/dbvrep_orcl/dbvrep_orcl-run-target.sh 5) Ensure firewall is open for listen interfaces 0.0.0.0:7902, 0.0.0.0:7901 used by the processes. 6) 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: /u01/oracle/dbvrep_orcl/APPLY.sh Create referenced database links (if any) before running the scripts. 7) Start the replication processes on all servers: source: /u01/oracle/dbvrep_orcl/dbvrep_orcl-run-source.sh target: /u01/oracle/dbvrep_orcl/dbvrep_orcl-run-target.sh 8) Start the console to monitor the progress: /u01/oracle/dbvrep_orcl/start-console.sh The above list is stored in /u01/oracle/dbvrep_orcl/Nextsteps.txt.
5. On the target server (dbv02) create the /u01/oracle/dbvrep_orcl directory
su - oracle
mkdir /u01/oracle/dbvrep_orcl
6. On the source server (dbv01), copy the DDC file to the target server using scp. The Dbvisit Database Configuration file contains all the configurational settings for the replication.
scp /u01/oracle/dbvrep_orcl/dbvrep_orcl-APPLY.ddc oracle@target-int:/u01/oracle/dbvrep_orcl/ The authenticity of host 'target-int (10.0.2.5)' can't be established. RSA key fingerprint is ad:11:03:c0:f0:78:7f:29:82:7c:35:e7:66:bc:e0:5b.
Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'target-int' (RSA) to the list of known hosts.
The scp password is oracle
oracle@target-int's password: dbvrep_orcl-APPLY.ddc
7. On the source server (dbv01), copy the dbvrep_orcl-run-target.sh file to the target server using scp.
scp /u01/oracle/dbvrep_orcl/dbvrep_orcl-run-target.sh oracle@target-int:/u01/oracle/dbvrep_orcl/
The scp password is oracle
oracle@target-int's password: dbvrep_orcl-run-target.sh
The word "target" in dbvrep_orcl-run-target.sh is dependent on your target hostname. In this case, the target hostname is called target