Document Type | Technical Information
Category | Installation
Applicable Product Version | Tibero7.2.3, ProSync 4.6.0
Document Number | PINTI004
Overview
This guide on Building a Non-Stop Synchronization Environment Using ProSync Bidirectional CM FailOver` is presented in four parts.
This document covers part 2, ProSync Bidirectional Synchronization Verification.
- Part 1: ProSync Bidirectional Installation
- Part 2: ProSync Bidirectional Synchronization Verification
- Part 3: CM Fail-Over Configuration
- Part 4: CM FailOver Operation
Method
A Set ProSync Normal Operation Verification
Agent Startup
- Execute on node1, node2, node3, node4
su - tibero prs12 prs_adm
- Start the Agent normally by executing the following in ProSync Admin.
Admin> status
prs_agent ID: agent1_12_34, HOST: 10.10.10.65, PORT: 7600, CM_GROUP: grp_src_12_34, CM_ID: 0 is stopped
prs_agent ID: agent2_12_34, HOST: 10.10.10.66, PORT: 7601, CM_GROUP: grp_src_12_34, CM_ID: 1 is stopped
prs_agent ID: agent3_12_34, HOST: 10.10.10.67, PORT: 7602, CM_GROUP: grp_tar_12_34, CM_ID: 0 is stopped
prs_agent ID: agent4_12_34, HOST: 10.10.10.68, PORT: 7603, CM_GROUP: grp_tar_12_34, CM_ID: 1 is stopped
Instance ID: [prs_12_34]
Agent Process for proc[Extract], num[1] is not running.
Agent Process for proc[Extract], num[2] is not running.
Agent Process for proc[Apply], num[1] is not running.
Agent Process for proc[LONG/LOB], num[1] is not running.
# node1
Admin> startup agent
*** Startup Agent Process... [agent1_12_34]
Process 'prs_agent' started.
# node2
Admin> startup agent
*** Startup Agent Process... [agent2_12_34]
Process 'prs_agent' started.
# node3
Admin> startup agent
*** Startup Agent Process... [agent3_12_34]
Process 'prs_agent' started.
# node4
Admin> startup agent
*** Startup Agent Process... [agent4_12_34]
Process 'prs_agent' started.
Admin> status
prs_agent ID: agent1_12_34, HOST: 10.10.10.65, PORT: 7600, CM_GROUP: grp_src_12_34, CM_ID: 0 is running
prs_agent ID: agent2_12_34, HOST: 10.10.10.66, PORT: 7601, CM_GROUP: grp_src_12_34, CM_ID: 1 is running
prs_agent ID: agent3_12_34, HOST: 10.10.10.67, PORT: 7602, CM_GROUP: grp_tar_12_34, CM_ID: 0 is running
prs_agent ID: agent4_12_34, HOST: 10.10.10.68, PORT: 7603, CM_GROUP: grp_tar_12_34, CM_ID: 1 is running
Instance ID: [prs_12_34]
prs_12_34_ext1 is stopped (prs_agent ID : agent1_12_34, HOST: 10.10.10.65, PORT: 7600)
prs_12_34_ext2 is stopped (prs_agent ID : agent2_12_34, HOST: 10.10.10.66, PORT: 7601)
prs_12_34_apply1 is stopped (prs_agent ID : agent3_12_34, HOST: 10.10.10.67, PORT: 7602)
prs_12_34_llob is stopped (prs_agent ID : agent1_12_34, HOST: 10.10.10.65, PORT: 7600)
Apply ProSync Ext Parameters
vi ${PRS_HOME}/config/${INSTANCE_ID}_ext1.cfgApply synchronization user exclusion parametervi ${PRS_HOME}/config/${INSTANCE_ID}_ext2.cfgApply synchronization user exclusion parameter
EXCLUDE_USER=prs_34_12
ProSync Instance Startup
- If the Agent has started normally, start the ProSync Instance.
- Execute the following command from one location among the 4 nodes.
su - tibero prs12 prs_adm
- Start the ProSync Instance normally by executing the following in ProSync Admin.
Admin> status
prs_agent ID: agent1_12_34, HOST: 10.10.10.65, PORT: 7600, CM_GROUP: grp_src_12_34, CM_ID: 0 is stopped
prs_agent ID: agent2_12_34, HOST: 10.10.10.66, PORT: 7601, CM_GROUP: grp_src_12_34, CM_ID: 1 is stopped
prs_agent ID: agent3_12_34, HOST: 10.10.10.67, PORT: 7602, CM_GROUP: grp_tar_12_34, CM_ID: 0 is stopped
prs_agent ID: agent4_12_34, HOST: 10.10.10.68, PORT: 7603, CM_GROUP: grp_tar_12_34, CM_ID: 1 is stopped
Instance ID: [prs_12_34]
Agent Process for proc[Extract], num[1] is not running.
Agent Process for proc[Extract], num[2] is not running.
Agent Process for proc[Apply], num[1] is not running.
Agent Process for proc[LONG/LOB], num[1] is not running.
Admin> startup agent
*** Startup Agent Process... [agent1_12_34]
Process 'prs_agent' started.
Admin> startup prs_12_34
*** Startup Process... [prs_12_34_ext1]
Process 'prs_12_34_ext1' started.
*** Startup Process... [prs_12_34_ext2]
Process 'prs_12_34_ext2' started.
*** Startup Process... [prs_12_34_apply1]
Process 'prs_12_34_apply1' started.
*** Startup Process... [prs_12_34_llob]
Process 'prs_12_34_llob' started.
Admin> status
prs_agent ID: agent1_12_34, HOST: 10.10.10.65, PORT: 7600, CM_GROUP: grp_src_12_34, CM_ID: 0 is running
prs_agent ID: agent2_12_34, HOST: 10.10.10.66, PORT: 7601, CM_GROUP: grp_src_12_34, CM_ID: 1 is running
prs_agent ID: agent3_12_34, HOST: 10.10.10.67, PORT: 7602, CM_GROUP: grp_tar_12_34, CM_ID: 0 is running
prs_agent ID: agent4_12_34, HOST: 10.10.10.68, PORT: 7603, CM_GROUP: grp_tar_12_34, CM_ID: 1 is running
Instance ID: [prs_12_34]
prs_12_34_ext1 (1) is running (prs_agent ID : agent1_12_34, HOST: 10.10.10.65, PORT: 7600)
prs_12_34_ext2 (2) is running (prs_agent ID : agent2_12_34, HOST: 10.10.10.66, PORT: 7601)
prs_12_34_apply1 (1) is running (prs_agent ID : agent3_12_34, HOST: 10.10.10.67, PORT: 7602)
prs_12_34_llob (1) is running (prs_agent ID : agent1_12_34, HOST: 10.10.10.65, PORT: 7600)
ProSync Processes
- Check the ProSync Agent and ProSync Instance started on each node.
# node1 [tibero@node1 ~]$ ps -ef |grep prs_12_34 |grep -v grep tibero 3504683 1 0 00:08 ? 00:00:00 prs_agent agent1_12_34 tibero 3505310 3504683 0 00:10 ? 00:00:00 prs_ext prs_12_34 1 agent1_12_34 tibero 3505324 3504683 0 00:10 ? 00:00:00 prs_llob prs_12_34 1 agent1_12_34 # node2 [tibero@node2 ~]$ ps -ef |grep prs_12_34 |grep -v grep tibero 2033572 1 0 00:08 ? 00:00:00 prs_agent agent2_12_34 tibero 2034189 2033572 0 00:10 ? 00:00:00 prs_ext prs_12_34 2 agent2_12_34 # node3 [tibero@node3 ~]$ ps -ef |grep prs_12_34 |grep -v grep tibero 3457292 1 0 00:08 ? 00:00:00 prs_agent agent3_12_34 tibero 3457879 3457292 0 00:10 ? 00:00:00 prs_apply prs_12_34 1 agent3_12_34 # node4 [tibero@node4 ~]$ ps -ef |grep prs_12_34 |grep -v grep tibero 2035576 1 0 00:08 ? 00:00:00 prs_agent agent4_12_34
Synchronization Test
Database Table Creation
- Create tables for the pre-created users for synchronization testing.
# node1 su - tibero tbsql user_12_34/tibero SQL> create table table_12_34(col1 number, col2 varchar(100)); Table 'TABLE_12_34' created. # node3 su - tibero tbsql user_12_34/tibero SQL> create table table_12_34(col1 number, col2 varchar(100)); Table 'TABLE_12_34' created.
Register Table in ProSync
- Register the table as a synchronization target in ProSync.
- When registering a table in ProSync,
Supplemental loggingis automatically applied.
su - tibero prs12 prs_adm Admin> alter prs_12_34 add table USER_12_34.TABLE_12_34 group=1; Table 'USER_12_34.TABLE_12_34' added.
Insert Data into Database Table
- Perform INSERT into the synchronization target table.
# node1 SQL> insert into table_12_34(col1,col2) values(1,'node1'); 1 row inserted. SQL> commit Commit completed. # node2 SQL> insert into table_12_34(col1,col2) values(2,'node2'); 1 row inserted. SQL> commit; Commit completed.
Verify ProSync Synchronization
- Verify the inserted data on Source Node and Target Node.
# node1, node2 SQL> set linesize 150 SQL> col col1 for 99 SQL> col col2 for a10 SQL> select * from table_12_34; COL COL2 --- ---------- 1 node1 2 node2 # node3, node4 SQL> set linesize 150 SQL> col col1 for 99 SQL> col col2 for a100 SQL> select * from table_12_34; COL COL2 --- ---------- 1 node1 2 node2
B Set ProSync Normal Operation Verification
Agent Startup
- Execute on node1, node2, node3, node4
su - tibero prs12 prs_adm
- Start the Agent normally by executing the following in ProSync Admin.
Admin> status
prs_agent ID: agent1_34_12, HOST: 10.10.10.67, PORT: 6600, CM_GROUP: grp_src_34_12, CM_ID: 0 is stopped
prs_agent ID: agent2_34_12, HOST: 10.10.10.68, PORT: 6601, CM_GROUP: grp_src_34_12, CM_ID: 1 is stopped
prs_agent ID: agent3_34_12, HOST: 10.10.10.65, PORT: 6602, CM_GROUP: grp_tar_34_12, CM_ID: 0 is stopped
prs_agent ID: agent4_34_12, HOST: 10.10.10.66, PORT: 6603, CM_GROUP: grp_tar_34_12, CM_ID: 1 is stopped
Instance ID: [prs_34_12]
Agent Process for proc[Extract], num[1] is not running.
Agent Process for proc[Extract], num[2] is not running.
Agent Process for proc[Apply], num[1] is not running.
Agent Process for proc[LONG/LOB], num[1] is not running.
# node1
Admin> startup agent
*** Startup Agent Process... [agent3_34_12]
Process 'prs_agent' started.
# node2
Admin> startup agent
*** Startup Agent Process... [agent4_34_12]
Process 'prs_agent' started.
# node3
Admin> startup agent
*** Startup Agent Process... [agent1_34_12]
Process 'prs_agent' started.
# node4
Admin> startup agent
*** Startup Agent Process... [agent2_34_12]
Process 'prs_agent' started.
Admin> status
prs_agent ID: agent1_34_12, HOST: 10.10.10.67, PORT: 6600, CM_GROUP: grp_src_34_12, CM_ID: 0 is running
prs_agent ID: agent2_34_12, HOST: 10.10.10.68, PORT: 6601, CM_GROUP: grp_src_34_12, CM_ID: 1 is running
prs_agent ID: agent3_34_12, HOST: 10.10.10.65, PORT: 6602, CM_GROUP: grp_tar_34_12, CM_ID: 0 is running
prs_agent ID: agent4_34_12, HOST: 10.10.10.66, PORT: 6603, CM_GROUP: grp_tar_34_12, CM_ID: 1 is running
Instance ID: [prs_34_12]
prs_34_12_ext1 is stopped (prs_agent ID : agent1_34_12, HOST: 10.10.10.67, PORT: 6600)
prs_34_12_ext2 is stopped (prs_agent ID : agent2_34_12, HOST: 10.10.10.68, PORT: 6601)
prs_34_12_apply1 is stopped (prs_agent ID : agent3_34_12, HOST: 10.10.10.65, PORT: 6602)
prs_34_12_llob is stopped (prs_agent ID : agent1_34_12, HOST: 10.10.10.67, PORT: 6600)
Apply ProSync Ext Parameters
vi ${PRS_HOME}/config/${INSTANCE_ID}_ext1.cfgApply synchronization user exclusion parametervi ${PRS_HOME}/config/${INSTANCE_ID}_ext2.cfgApply synchronization user exclusion parameter
EXCLUDE_USER=prs_12_34
ProSync Instance Startup
- If the Agent has started normally, start the ProSync Instance.
- Execute the following command from one location among the 4 nodes.
su - tibero prs12 prs_adm
- Start the ProSync Instance normally by executing the following in ProSync Admin.
Admin> status
prs_agent ID: agent1_34_12, HOST: 10.10.10.67, PORT: 6600, CM_GROUP: grp_src_34_12, CM_ID: 0 is running
prs_agent ID: agent2_34_12, HOST: 10.10.10.68, PORT: 6601, CM_GROUP: grp_src_34_12, CM_ID: 1 is running
prs_agent ID: agent3_34_12, HOST: 10.10.10.65, PORT: 6602, CM_GROUP: grp_tar_34_12, CM_ID: 0 is running
prs_agent ID: agent4_34_12, HOST: 10.10.10.66, PORT: 6603, CM_GROUP: grp_tar_34_12, CM_ID: 1 is running
Instance ID: [prs_34_12]
prs_34_12_ext1 is stopped (prs_agent ID : agent1_34_12, HOST: 10.10.10.67, PORT: 6600)
prs_34_12_ext2 is stopped (prs_agent ID : agent2_34_12, HOST: 10.10.10.68, PORT: 6601)
prs_34_12_apply1 is stopped (prs_agent ID : agent3_34_12, HOST: 10.10.10.65, PORT: 6602)
prs_34_12_llob is stopped (prs_agent ID : agent1_34_12, HOST: 10.10.10.67, PORT: 6600)
Admin> startup prs_34_12
*** Startup Process... [prs_34_12_ext1]
Process 'prs_34_12_ext1' started.
*** Startup Process... [prs_34_12_ext2]
Process 'prs_34_12_ext2' started.
*** Startup Process... [prs_34_12_apply1]
Process 'prs_34_12_apply1' started.
*** Startup Process... [prs_34_12_llob]
Process 'prs_34_12_llob' started.
Admin> status
prs_agent ID: agent1_34_12, HOST: 10.10.10.67, PORT: 6600, CM_GROUP: grp_src_34_12, CM_ID: 0 is running
prs_agent ID: agent2_34_12, HOST: 10.10.10.68, PORT: 6601, CM_GROUP: grp_src_34_12, CM_ID: 1 is running
prs_agent ID: agent3_34_12, HOST: 10.10.10.65, PORT: 6602, CM_GROUP: grp_tar_34_12, CM_ID: 0 is running
prs_agent ID: agent4_34_12, HOST: 10.10.10.66, PORT: 6603, CM_GROUP: grp_tar_34_12, CM_ID: 1 is running
Instance ID: [prs_34_12]
prs_34_12_ext1 (1) is running (prs_agent ID : agent1_34_12, HOST: 10.10.10.67, PORT: 6600)
prs_34_12_ext2 (2) is running (prs_agent ID : agent2_34_12, HOST: 10.10.10.68, PORT: 6601)
prs_34_12_apply1 (1) is running (prs_agent ID : agent3_34_12, HOST: 10.10.10.65, PORT: 6602)
prs_34_12_llob (1) is running (prs_agent ID : agent1_34_12, HOST: 10.10.10.67, PORT: 6600)
ProSync Processes
- Check the ProSync Agent and ProSync Instance started on each node.
# node1 [tibero@node1 ~]$ ps -ef |grep prs_34_12 |grep -v grep tibero 3619690 1 0 01:24 ? 00:00:00 prs_agent agent3_34_12 tibero 3626888 3619690 0 01:28 ? 00:00:00 prs_apply prs_34_12 1 agent3_34_12 # node2 [tibero@node2 ~]$ ps -ef |grep prs_34_12 |grep -v grep tibero 2056030 1 0 01:24 ? 00:00:00 prs_agent agent4_34_12 # node3 [tibero@node3 ~]$ ps -ef |grep prs_34_12 |grep -v grep tibero 3479746 1 0 01:24 ? 00:00:00 prs_agent agent1_34_12 tibero 3481078 3479746 0 01:28 ? 00:00:00 prs_ext prs_34_12 1 agent1_34_12 tibero 3481092 3479746 0 01:28 ? 00:00:00 prs_llob prs_34_12 1 agent1_34_12 # node4 [tibero@node4 ~]$ ps -ef |grep prs_34_12 |grep -v grep tibero 2058007 1 0 01:24 ? 00:00:00 prs_agent agent2_34_12 tibero 2059304 2058007 0 01:28 ? 00:00:00 prs_ext prs_34_12 2 agent2_34_12
Synchronization Test
Database Table Creation
- Create tables for the pre-created users for synchronization testing.
# node3 su - tibero tbsql user_34_12/tibero SQL> create table table_34_12(col1 number, col2 varchar(100)); Table 'TABLE_34_12' created. # node1 su - tibero tbsql user_34_12/tibero SQL> create table table_34_12(col1 number, col2 varchar(100)); Table 'TABLE_34_12' created.
Register Table in ProSync
- Register the table as a synchronization target in ProSync.
- When registering a table in ProSync,
Supplemental loggingis automatically applied.
su - tibero prs34 prs_adm Admin> alter prs_34_12 add table USER_34_12.TABLE_34_12 group=1; Table 'USER_34_12.TABLE_34_12' added.
Insert Data into Database Table
- Perform INSERT into the synchronization target table.
# node3 SQL> insert into table_34_12(col1,col2) values(1,'node3'); 1 row inserted. SQL> commit; Commit completed. # node4 SQL> insert into table_34_12(col1,col2) values(2,'node4'); 1 row inserted. SQL> commit; Commit completed.
Verify ProSync Synchronization
- Verify the inserted data on Source Node and Target Node.
# node3, node4 SQL> set linesize 150 SQL> col col1 for 99 SQL> col col2 for a10 SQL> select * from table_34_12; COL COL2 --- ---------- 2 node4 1 node3 2 rows selected. # node1, node2 SQL> set linesize 150 SQL> col col1 for 99 SQL> col col2 for a10 SQL> select * from table_34_12; COL COL2 --- ---------- 1 node3 2 node4 2 rows selected.