Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Two replication pairs are now configured. 

Step 3 - Replicated tables

For each replication pair, the objects to be replicated have to specified. This can be the same or different for each replication pair. 

Section
Column
width5%

 

Column
width95
Panel
bgColorCCC

Step 3 - Replicated tables
========================================
The third step is to choose the schemas and tables to be replicated. If the databases are reachable, the tables are checked for existence, datatype
support, etc., schemas are queried for tables. Note that all messages are merely hints/warnings and may be ignored if issues are rectified before the
scripts are actually executed.

Note the following assumptions are made in this wizard – which can be modified by editing the resulting script:
1. All replicated tables have a primary key defined.
2. All columns of the tables and all tables of the specified schemas are replicated, and if DDL support is enabled, whenever a new column/table is added,
this should be replicate as well.
3. If an apply conflict arises, the default option is to try again repeatedly, until a different option is given or the underlying issue is resolved.
4. If an apply conflict arises, no more data will be replicated until the issue is resolved or ignored.

You can also specify some advanced options:
1. Rename schemas or tables.
2. Specify filtering conditions.
3. (tables only) Configure Change Data Capture; this does not maintain a copy of the source table, but logs all operations instead. This is useful for ETL
or as an audit trail. As this usually means adding new columns (timestamps, old/new values etc.) and starting with empty target tables, the best way for
setup of target tables is to create or run DDL (instead of Data Pump).

Following tables are defined for replication pairs:
1: orcl (Oracle) ==> test11202 (Oracle), DDL: yes, suffix: (no suffix), prepare: single-scn
No tables defined.
2: test11202 (Oracle) ==> orcl (Oracle), DDL: yes, suffix: 1, prepare: single-scn
No tables defined.
Enter number of replication pair to modify it, or "done": [1]

To replicate an entire schema (all tables), please enter the schemas to be replicated. Enter through a comma-delimited list, or enter one by one. Hit Enter
when finished
Enter the list of schemas: [] avi
Enter the list of schemas: []

To replicate individual tables, please enter the table names. Do not enter tables in quotes (" ").
Enter through a comma-delimited list, or enter one by one. Hit Enter when finished.
Please use fully qualified names (ie owner.table_name).
Enter the list of tables: [] scott.avi_objects
Enter the list of tables: []

To replicate PL/SQL for schema(s), please enter the schemas to be replicated. Note that specifying any entry will cause additional privileges to be granted
to dbvrep. Enter through a comma-delimited list, or enter one by one. Hit Enter when finished
Enter the list of schemas: []
Specify rename name or filter condition for any of the specified schemas (yes/no): [no]
Specify rename name, filter condition, CDC/Audit/ETL for any of the specified tables (yes/no): [no]

Following tables are defined for replication pairs:
1: orcl (Oracle) ==> test11202 (Oracle), DDL: yes, suffix: (no suffix), prepare: single-scn
AVI(tables), SCOTT.AVI_OBJECTS
2: test11202 (Oracle) ==> orcl (Oracle), DDL: yes, suffix: 1, prepare: single-scn
No tables defined.
Enter number of replication pair to modify it, or "done": [2]

To replicate an entire schema (all tables), please enter the schemas to be replicated. Enter through a comma-delimited list, or enter one by one. Hit Enter
when finished
Enter the list of schemas: [] avi
Enter the list of schemas: []

To replicate individual tables, please enter the table names. Do not enter tables in quotes (" ").
Enter through a comma-delimited list, or enter one by one. Hit Enter when finished.
Please use fully qualified names (ie owner.table_name).
Enter the list of tables: [] scott.avi_objects
Enter the list of tables: []

To replicate PL/SQL for schema(s), please enter the schemas to be replicated. Note that specifying any entry will cause additional privileges to be granted
to dbvrep. Enter through a comma-delimited list, or enter one by one. Hit Enter when finished
Enter the list of schemas: []
Specify rename name or filter condition for any of the specified schemas (yes/no): [no]
Specify rename name, filter condition, CDC/Audit/ETL for any of the specified tables (yes/no): [no]

Following tables are defined for replication pairs:
1: orcl (Oracle) ==> test11202 (Oracle), DDL: yes, suffix: (no suffix), prepare: single-scn
AVI(tables), SCOTT.AVI_OBJECTS
2: test11202 (Oracle) ==> orcl (Oracle), DDL: yes, suffix: 1, prepare: single-scn
AVI(tables), SCOTT.AVI_OBJECTS
Enter number of replication pair to modify it, or "done": [done]

Step 4 - Process configuration

For each replication pair, the source and target servers and processes have to be configured. For simplicity, email and smtp notification has been turned off.

Section
Column
width5%

 

Column
width95
Panel
bgColorCCC

Step 4 - Process configuration
========================================
The fourth step is to configure the replication processes for each replication. Although most options have reasonable defaults, manual input is required.

Following processes are defined:
1: MINE on orcl
Not configured.
2: APPLY on test11202
Not configured.
3: MINE1 on test11202
Not configured.
4: APPLY1 on orcl
Not configured.
Enter number of process to modify it, or "done": [1]
Fully qualified name of the server for the process (usually co-located with the database, unless mine is offloaded using fetcher): [rac11202node1]
Enable email notifications about problems (yes/no)? [YES] NO
Enable SNMP traps/notifications about problems (yes/no)? [NO]
Directory with DDC file and default where to create log files etc. (recommended: same as global setting, if possible)? [/home/oracle/orcl]

Following settings were pre-filled with defaults or your reloaded settings:
----------------------------------------
[MINE_LISTEN_INTERFACE]: Network listen interface: rac11202node1:7901
[MINE_DATABASE]: Database TNS: orcl
[TNS_ADMIN]: tnsnames.ora path: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin
[MINE_USER]: Replicate database username: dbvrep
[MINE_PASSWORD]: Replicate database password: *********
[ORACLE_HOME]: ASM ORACLE_HOME: /u01/app/11.2.0/grid
[MINE_PLOG]: Filemask for generated plogs: /home/oracle/orcl/mine/%S.%E (%S is sequence, %T thread, %F original filename (stripped extension), %P process
type, %N process name, %E default extension)
[LOG_FILE]: General log file: /home/oracle/orcl/log/dbvrep_%N_%D.%E
[LOG_FILE_TRACE]: Error traces: /home/oracle/orcl/log/trace/dbvrep_%N_%D_%I_%U.%E

Checking that these settings are valid...
Do you want change any of the settings? [no]

Following processes are defined:
1: MINE on orcl
Host: rac11202node1, SMTP: NO, SNMP: NO
2: APPLY on test11202
Not configured.
3: MINE1 on test11202
Not configured.
4: APPLY1 on orcl
Not configured.
Enter number of process to modify it, or "done": [2]
<usually co-located with the database, unless mine is offloaded using fetcher): [dbvisit400.dbvisit.com]
Enable email notifications about problems (yes/no)? [YES] NO
Enable SNMP traps/notifications about problems (yes/no)? [NO]
Directory with DDC file and default where to create log files etc. (recommended: same as global setting, if possible)? [/home/oracle/orcl]

Following settings were pre-filled with defaults or your reloaded settings:
----------------------------------------
[APPLY_LISTEN_INTERFACE]: Network listen interface: dbvisit400.dbvisit.com:7902
[APPLY_DATABASE]: Database TNS: test11202
[TNS_ADMIN]: tnsnames.ora path: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin
[APPLY_USER]: Replicate database username: dbvrep
[APPLY_PASSWORD]: Replicate database password: *********
[APPLY_STAGING_DIR]: Directory for received plogs: /home/oracle/orcl/apply
[LOG_FILE]: General log file: /home/oracle/orcl/log/dbvrep_%N_%D.%E
[LOG_FILE_TRACE]: Error traces: /home/oracle/orcl/log/trace/dbvrep_%N_%D_%I_%U.%E

Checking that these settings are valid...
Do you want change any of the settings? [no]

Following processes are defined:
1: MINE on orcl
Host: rac11202node1, SMTP: NO, SNMP: NO
2: APPLY on test11202
Host: dbvisit400.dbvisit.com, SMTP: NO, SNMP: NO
3: MINE1 on test11202
Not configured.
4: APPLY1 on orcl
Not configured.
Enter number of process to modify it, or "done": [3]
<usually co-located with the database, unless mine is offloaded using fetcher): [dbvisit400.dbvisit.com]
Enable email notifications about problems (yes/no)? [YES] NO
Enable SNMP traps/notifications about problems (yes/no)? [NO]
Directory with DDC file and default where to create log files etc. (recommended: same as global setting, if possible)? [/home/oracle/orcl]

Following settings were pre-filled with defaults or your reloaded settings:
----------------------------------------
[MINE_LISTEN_INTERFACE]: Network listen interface: dbvisit400.dbvisit.com:7903
[MINE_DATABASE]: Database TNS: test11202
[TNS_ADMIN]: tnsnames.ora path: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin
[MINE_USER]: Replicate database username: dbvrep
[MINE_PASSWORD]: Replicate database password: *********
[MINE_PLOG]: Filemask for generated plogs: /home/oracle/orcl/mine1/%S.%E (%S is sequence, %T thread, %F original filename (stripped extension), %P process
type, %N process name, %E default extension)
[LOG_FILE]: General log file: /home/oracle/orcl/log/dbvrep_%N_%D.%E
[LOG_FILE_TRACE]: Error traces: /home/oracle/orcl/log/trace/dbvrep_%N_%D_%I_%U.%E

Checking that these settings are valid...
Do you want change any of the settings? [no]

Following processes are defined:
1: MINE on orcl
Host: rac11202node1, SMTP: NO, SNMP: NO
2: APPLY on test11202
Host: dbvisit400.dbvisit.com, SMTP: NO, SNMP: NO
3: MINE1 on test11202
Host: dbvisit400.dbvisit.com, SMTP: NO, SNMP: NO
4: APPLY1 on orcl
Not configured.
Enter number of process to modify it, or "done": [4]
Fully qualified name of the server for the process (usually co-located with the database, unless mine is offloaded using fetcher): [rac11202node1]
Enable email notifications about problems (yes/no)? [YES] NO
Enable SNMP traps/notifications about problems (yes/no)? [NO]
Directory with DDC file and default where to create log files etc. (recommended: same as global setting, if possible)? [/home/oracle/orcl]

Following settings were pre-filled with defaults or your reloaded settings:
----------------------------------------
[APPLY_LISTEN_INTERFACE]: Network listen interface: rac11202node1:7904
[APPLY_DATABASE]: Database TNS: orcl
[TNS_ADMIN]: tnsnames.ora path: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin
[APPLY_USER]: Replicate database username: dbvrep
[APPLY_PASSWORD]: Replicate database password: *********
[APPLY_STAGING_DIR]: Directory for received plogs: /home/oracle/orcl/apply1
[LOG_FILE]: General log file: /home/oracle/orcl/log/dbvrep_%N_%D.%E
[LOG_FILE_TRACE]: Error traces: /home/oracle/orcl/log/trace/dbvrep_%N_%D_%I_%U.%E

Checking that these settings are valid…
Do you want change any of the settings? [no]

Following processes are defined:
1: MINE on orcl
Host: rac11202node1, SMTP: NO, SNMP: NO
2: APPLY on test11202
Host: dbvisit400.dbvisit.com, SMTP: NO, SNMP: NO
3: MINE1 on test11202
Host: dbvisit400.dbvisit.com, SMTP: NO, SNMP: NO
4: APPLY1 on orcl
Host: rac11202node1, SMTP: NO, SNMP: NO
Enter number of process to modify it, or "done": [done]

As the last step, choose the database that will hold the DDC DB (Dbvisit Replicate schema).

Section
Column
width5%

 

Column
width95
Panel
bgColorCCC

Select database to hold the DDC settings:
1: orcl
2: test11202
Enter database number: [1]

The setup is now complete and all the scripts have been created.

Section
Column
width5%

 

Column
width95
Panel
bgColorCCC

Created file /home/oracle/orcl/orcl-APPLY.ddc.
Created file /home/oracle/orcl/orcl-APPLY1.ddc.
Created file /home/oracle/orcl/orcl-MINE.ddc.
Created file /home/oracle/orcl/orcl-MINE1.ddc.
Created file /home/oracle/orcl/orcl-setup.dbvrep.
Created file /home/oracle/orcl/orcl-dbsetup_orcl.sql.
Created file /home/oracle/orcl/orcl-dbsetup_test11202.sql.
Created file /home/oracle/orcl/orcl-grants_orcl.sql.
Created file /home/oracle/orcl/orcl-grants_test11202.sql.
Created file /home/oracle/orcl/orcl-onetime.ddc.
Created file /home/oracle/orcl/start-console.sh.
Created file /home/oracle/orcl/orcl-run-dbvisit400.dbvisit.com.sh.
Created file /home/oracle/orcl/orcl-run-rac11202node1.sh.
Created file /home/oracle/orcl/Nextsteps.txt.
Created file /home/oracle/orcl/orcl-all.sh.
==========================================================================================================================================================

Dbvisit Replicate wizard completed

Script /home/oracle/orcl/orcl-all.sh created. This runs all the above created scripts. Please exit out of dbvrep, review and run script as current user to
setup and start Dbvisit Replicate.
==========================================================================================================================================================
Optionally, the script can be invoked now by this wizard.
Run this script now? (yes/no) [NO]
dbvrep> exit

The *all script can now be run to start the replication.

Section
Column
width5%

 

Column
width95
Panel
bgColorCCC

$ ./orcl-all.sh
Setting up Dbvisit Replicate configuration
Configure database orcl...
Configure database test11202...
Object grants for database orcl...
Object grants for database test11202...
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.07.1500
Copyright (C) Dbvisit Software Limited. All rights reserved.
DDC file /home/oracle/orcl/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> 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 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 PREPARE_DP SETUP CLEAR
dbvrep> ENGINE SETUP PAIR MINE AND APPLY
ID of mine proces is 2CA73994-84F1-11E1-BB7A-022F870D6567. 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> ENGINE SUPPLEMENTAL LOGGING SCHEMA AVI ENABLE PRIMARY KEY
dbvrep> ENGINE SUPPLEMENTAL LOGGING TABLE SCOTT.AVI_OBJECTS ENABLE PRIMARY KEY
dbvrep> ENGINE SWITCH_REDOLOG
dbvrep> #single-scn instantiation: lock all tables and schemas
dbvrep> ENGINE LOCK TABLES SCOTT.AVI_OBJECTS
Locking all tables.
Lock done.
dbvrep> ENGINE LOCK SCHEMAS AVI
Locking all schemas.
Lock done.
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 AVI
dbvrep> PREPARE OFFLINE TABLE SCOTT.AVI_OBJECTS
Table SCOTT.AVI_OBJECTS instantiated at SCN 46697269
dbvrep> #single-scn instantiation: unlock all tables and schemas
dbvrep> ENGINE LOCK RELEASE ALL
dbvrep> ENGINE SWITCH_REDOLOG
dbvrep> #prepare script for instantiation
dbvrep> ENGINE PREPARE_DP WRITE DP_NETWORKLINK DIRECTORY DATA_PUMP_DIR FILE /home/oracle/orcl/APPLY.sh DBLINK orcl USERID SYSTEM/oracle@test11202
Created Data Pump script /home/oracle/orcl/APPLY.sh, using network import.
dbvrep>
dbvrep> # Configuring non-default processes
dbvrep> choose process MINE1
Process type MINE set to: MINE1.
dbvrep> choose process APPLY1
Process type APPLY set to: APPLY1.
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 LOAD DICTIONARY
dbvrep> ENGINE PREPARE_DP SETUP CLEAR
dbvrep> ENGINE SETUP PAIR MINE AND APPLY
ID of mine proces is 3E68F0B4-84F1-11E1-BB7A-022F870D6567. If not using DDC in database, set MINE_UNIQUE_ID to this value.
1 applier SCN set.
dbvrep> SET APPLY1.INSTANTIATE_SCN NOW
Variable INSTANTIATE_SCN set to NOW for process APPLY1.
dbvrep> ENGINE SUPPLEMENTAL LOGGING SCHEMA AVI ENABLE PRIMARY KEY
dbvrep> ENGINE SUPPLEMENTAL LOGGING TABLE SCOTT.AVI_OBJECTS ENABLE PRIMARY KEY
dbvrep> ENGINE SWITCH_REDOLOG
dbvrep> #single-scn instantiation: lock all tables and schemas
dbvrep> ENGINE LOCK TABLES SCOTT.AVI_OBJECTS
Locking all tables.
Lock done.
dbvrep> ENGINE LOCK SCHEMAS AVI
Locking all schemas.
Lock done.
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 AVI
dbvrep> PREPARE OFFLINE TABLE SCOTT.AVI_OBJECTS
Table SCOTT.AVI_OBJECTS instantiated at SCN 17535221
dbvrep> #single-scn instantiation: unlock all tables and schemas
dbvrep> ENGINE LOCK RELEASE ALL
dbvrep> ENGINE SWITCH_REDOLOG
dbvrep> #prepare script for instantiation
dbvrep> ENGINE PREPARE_DP WRITE DP_NETWORKLINK DIRECTORY DATA_PUMP_DIR FILE /home/oracle/orcl/APPLY1.sh DBLINK test11202 USERID SYSTEM/oracle@orcl
Created Data Pump script /home/oracle/orcl/APPLY1.sh, using network import.
dbvrep> create ddcdb from ddcfile
DDC loaded into database (241 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.
1) Create the necessary directory(ies) on the servers:
dbvisit400.dbvisit.com: /home/oracle/orcl

2) Copy the DDC files to the server(s) where the processes will run:
/home/oracle/orcl/orcl-APPLY.ddc
/home/oracle/orcl/orcl-APPLY1.ddc
/home/oracle/orcl/orcl-MINE.ddc
/home/oracle/orcl/orcl-MINE1.ddc

3) Review that path to dbvrep executable is correct in the run scripts:
/home/oracle/orcl/orcl-run-dbvisit400.dbvisit.com.sh
/home/oracle/orcl/orcl-run-rac11202node1.sh

4) Copy the run script to the server(s) where the processes will run:
/home/oracle/orcl/orcl-run-dbvisit400.dbvisit.com.sh
/home/oracle/orcl/orcl-run-rac11202node1.sh

5) Ensure firewall is open for listen interfaces dbvisit400.dbvisit.com:7902, rac11202node1:7904, rac11202node1:7901, dbvisit400.dbvisit.com:7903 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:
/home/oracle/orcl/APPLY.sh
/home/oracle/orcl/APPLY1.sh
Create referenced database links (if any) before running the scripts.

7) Start the replication processes on all servers:
/home/oracle/orcl/orcl-run-dbvisit400.dbvisit.com.sh
/home/oracle/orcl/orcl-run-rac11202node1.sh

8) Start the console to monitor the progress:
chmod 0750 /home/oracle/orcl/start-console.sh
/home/oracle/orcl/start-console.sh

The above list is stored in /home/oracle/orcl/Nextsteps.txt.

Each run script (orcl-run-dbvisit400.dbvisit.com.sh and orcl-run-rac11202node1.sh) has commands to start both a Mine and Apply on each server.