Ark
Ark

Reputation: 9

SymmetricDS - Oracle - Specify Schema and disable Push

I’m neewbie with SymmetricDS.

I have some questions about Oracle replication :

Thanks a lot for your Help


i've deployed two servers RHEL with Oracle19c

X.X.X.X is the IP adress of the "centralNode" server

Y.Y.Y.Y is the IP adress of the "clientNode" server

ACF and ADM are schema that i want to synchronize

I would like synchronize two schemas only in Pull Mode (i.e only syncing from Master to Nodes)

Here my server.properties on the "centralNode" server

#Friendly name to refer to this node from command line
engine.name=centralNode

#The class name for the JDBC Driver
db.driver=oracle.jdbc.driver.OracleDriver
#db.driver=org.h2.Driver

#The JDBC URL used to connect to the database
db.url=jdbc:oracle:thin:@X.X.X.X:1521:MTL

#The database user that SymmetricDS should use.
db.user=<>

#The database password
db.password=<>

#This node will contact the root node's sync.url to register itself.
#The registration.url should be empty for the master node.
#For client nodes, set the registration.url to be the master's sync.url.
registration.url=
#Synchronization URL with Master Server IP and Synchro engine name. sync.url=http://X.X.X.X:31415/sync/centralNode

#Node group this node belongs to, which defines what it will sync with who.
#Must match the sym_node_group configuration in database.
group.id=central

#External ID for this node, which is any unique identifier you want to use.
external.id=000

auto.registration=true
auto.reload=true

Here my client.properties on the "clientNode" server

#Friendly name to refer to this node from command line
engine.name=clientNode

#The class name for the JDBC Driver
db.driver=oracle.jdbc.driver.OracleDriver
#db.driver=org.h2.Driver

#The JDBC URL used to connect to the database
db.url=jdbc:oracle:thin:@Y.Y.Y.Y:1521:SEL

#The database user that SymmetricDS should use.
db.user=<>

#The database password
db.password=<>

#This node will contact the root node's sync.url to register itself.
#The registration.url should be empty for the master node.
#For client nodes, set the registration.url to be the master's sync.url.
registration.url=http://X.X.X.X:31415/sync/centralNode
#Synchronization URL with Client Server IP and Synchro engine name
sync.url=http://Y.Y.Y.Y:31415/sync/clientNode

#Node group this node belongs to, which defines what it will sync with who.
#Must match the sym_node_group configuration in database.
group.id=client

#External ID for this node, which is any unique identifier you want to use.
external.id=001

i've installed the Syn table from the "centralNode" server with the following command :

bin/symadmin --engine centralNode create-sym-tables

Tables are OK in the Oracle Database in the "centralNode" server

I've started Symmetric service on the "centralNode" server

bin/sym_service start

I've started Symmetric service on the "centralClient" server

bin/sym_service start

in the log of the "centralNode" server

2022-09-19 14:48:27,939 WARN [centralNode] [RegistrationUriHandler] [qtp361268035-14] client:001:? was not allowed to register.
2022-09-19 14:48:27,941 WARN [clientNode] [RegistrationService] [clientNode-job-3] Waiting for registration to be accepted by the server. Registration is not open.

in the log of the "clientNode" server

2022-09-19 14:49:10,404 INFO [clientNode] [DataLoaderService] [clientNode-job-1] Using registration URL of http://X.X.X.X:31415/sync/centralNode/registration
2022-09-19 14:49:10,442 WARN [clientNode] [RegistrationService] [clientNode-job-1] Waiting for registration to be accepted by the server. Registration is not open.

I tried to open regisstration from he "centralNode" server

bin/symadmin open-registration --engine centralNode client 001

In the log of the "centralNode" server

Please add a group link where the source group id is central and the target group id is client
2022-09-19 14:51:37,869 WARN [centralNode] [RegistrationUriHandler] [qtp361268035-14] client:001:? was not allowed to register.
2022-09-19 14:51:54,912 WARN [centralNode] [RegistrationService] [qtp361268035-17] Cannot register a client node unless a node group link exists so the registering node can receive configuration updates. Please add a group link where the source group id is central and the target group id is client

I tried to update the node group link

insert into sym_node_group_link (source_node_group_id, target_node_group_id,  data_event_action) values ('central', 'client', 'P');

In the log of the "centralNode" server

2022-09-19 14:54:16,211 WARN [centralNode] [RegistrationUriHandler] [qtp361268035-14] client:001:? was not allowed to register
2022-09-19 14:54:17,977 INFO [clientNode] [DataLoaderService] [clientNode-job-6] Using registration URL of http://X.X.X.X:31415/sync/centralNode/registration
2022-09-19 14:54:18,325 WARN [centralNode] [RegistrationService] [qtp361268035-17] Cannot register a client node unless a node group link exists so the registering node can receive configuration updates. Please add a group link where the source group id is central and the target group id is client

Maybe could you help me ?


Upvotes: 0

Views: 328

Answers (1)

Boris Pavlović
Boris Pavlović

Reputation: 64632

Yes, there's a column source schema in the trigger column and target schema in the router table.

Yes, you can put the master in one group and nodes to another and then define triggers only for the master and routers that will route data only from master to nodes.

Upvotes: 0

Related Questions