In our previous blog post we have installed the Veridata Server and configured MySQL Repository database https://oracle-ckpt.com/ogg-veridata-and-mysql-repository-database-configuration/
In this blog post we will cover installation of Veridata agent on the source and target database servers. The thumbrule is to copy the same Verdata software to both source and target database servers. The veridata server communicates with the agent with port that we will configure at the time of installation.
Please note – If in case if your both Source and Target databases are in same server then you have to install two different Agent homes and with two different ports. Since Veridata server acknowldes the connection only with the port.
Create the directory for the agent
[root@ggate1 ~]# mkdir -p /ogg/veridata
[root@ggate1 ~]# chown -R oracle:oinstall /ogg/veridata/
[root@ggate1 ~]#
Install the JDK17 on the Client/Agent
[root@ggate1 ~]# cd /home/oracle/softwares/
[root@ggate1 softwares]# rpm -ivh jdk-17.0.12_linux-x64_bin.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:jdk-17-2000:17.0.12-8 ################################# [100%]
[root@ggate1 softwares]#
Start the Veridata Installer, ensure JDK17 home was exported.

Provide the location that we created

Summary of the Installation


From the below image we can see the installation completed successfully.

Now we will complete the deployment of the agent as below.
[oracle@ggate1 agent]$ export JAVA_HOME=/usr/java/jdk-17-oracle-x64
[oracle@ggate1 agent]$ export PATH=$JAVA_HOME/bin:$PATH
[oracle@ggate1 agent]$ java -version
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)
[oracle@ggate1 agent]$ ./agent_config.sh /ogg/veridata/deployment
Successfully deployed the agent.
[oracle@ggate1 agent]$
Now we will edit the agent properties with the Database URL, Database name and port as below.
[oracle@ggate1 deployment]$ cat agent.properties|grep jdbc
# The server.jdbcDriver property specifies the list of JDBC driver jar files.
server.jdbcDriver=ojdbc11-23.2.0.0.jar
database.url=jdbc:oracle:thin:@ggate1:1521/PDB1
#database.url=jdbc:oracle:thin:@localhost:1521:orcl
#database.url=jdbc:oracle:thin:@localhost:1521/PDB_service_name
#database.url=jdbc:oracle:oci:@
# database.url=jdbc:oracle:thin:@tcps://<host>:<port>/<service name>?wallet_location=<wallet directory path>
# database.url=jdbc:oracle:thin:@tcps://localhost:2484/service_name?wallet_location=/path/WALLET
[oracle@ggate1 deployment]$
[oracle@ggate1 agent]$ cat /ogg/veridata/deployment/agent.properties|grep port
# The server.port property is the port where the Veridata agent listens
server.port=8831
# Samples for all supported databases are shown below.
# database.url=jdbc:oracle:thin:@tcps://<host>:<port>/<service name>?wallet_location=<wallet directory path>
#This is supported only for Oracle Databases.
# READ_UNCOMMITTED. The only value supported for Oracle
# is READ_COMMITTED. SQL Server versions 2005 above also support
[oracle@ggate1 agent]$
Using the agent.properties we will start the agent
[oracle@ggate1 deployment]$ ./agent.sh start agent.properties
[oracle@ggate1 deployment]$
[oracle@ggate1 deployment]$ ps -ef|grep agent
oracle 27311 1 4 21:44 pts/0 00:00:00 /usr/java/jdk-17-oracle-x64/bin/java -Djava.util.logging.config.class=oracle.core.ojdl.logging.LoggingConfiguration -Doracle.core.ojdl.logging.config.file=/ogg/veridata/deployment/config/odl.xml -Dhome=/ogg/veridata/agent -DagentHome=/ogg/veridata/deployment -XX:+UseParallelGC -Xmx1024M -Xms1024M -Dagent-manifest.jar=/ogg/veridata/agent/agent-manifest.jar -jar /ogg/veridata/agent/JavaAgent.jar agent.properties
oracle 27341 26603 0 21:45 pts/0 00:00:00 grep --color=auto agent
[oracle@ggate1 deployment]$
Verify if our port is running
[root@ggate1 ~]# netstat -tulnp | grep 8831
tcp6 0 0 :::8831 :::* LISTEN 27311/java
[root@ggate1 ~]#
In my case the source and target are in the same server, Hence i have created another deployment and assigned the different port as below and started the agent.
[oracle@ggate1 veridata]$ ls -ltr deployment*
deployment2:
total 32
-rw-r-----. 1 oracle oinstall 63 Dec 5 23:32 VAOH.sh
-rw-r-----. 1 oracle oinstall 172 Dec 5 23:32 ReadMe.txt
drwxr-x---. 3 oracle oinstall 62 Dec 5 23:32 config
-rwxr-----. 1 oracle oinstall 304 Dec 5 23:32 agent.sh
-rwxr-----. 1 oracle oinstall 261 Dec 5 23:32 configure_agent_ssl.sh
-rw-r-----. 1 oracle oinstall 4781 Dec 5 23:32 agent.properties.sample
drwxr-----. 2 oracle oinstall 57 Dec 5 23:36 logs
-rw-r-----. 1 oracle oinstall 4792 Dec 5 23:45 agent.properties
deployment:
total 32
-rw-r-----. 1 oracle oinstall 63 Dec 5 21:33 VAOH.sh
-rw-r-----. 1 oracle oinstall 172 Dec 5 21:33 ReadMe.txt
drwxr-x---. 3 oracle oinstall 62 Dec 5 21:33 config
-rwxr-----. 1 oracle oinstall 261 Dec 5 21:33 configure_agent_ssl.sh
-rwxr-----. 1 oracle oinstall 304 Dec 5 21:33 agent.sh
-rw-r-----. 1 oracle oinstall 4781 Dec 5 21:33 agent.properties.sample
drwxr-----. 2 oracle oinstall 57 Dec 5 21:44 logs
-rw-r-----. 1 oracle oinstall 4791 Dec 5 23:50 agent.properties
[oracle@ggate1 veridata]$ cat deployment2/agent.properties|grep database
# The database.url specifies the JDBC connection URL for the database.
# Samples for all supported databases are shown below.
database.url=jdbc:oracle:thin:@ggate1:1521/tgpdb
# Oracle sample database connection URL
#database.url=jdbc:oracle:thin:@localhost:1521:orcl
#database.url=jdbc:oracle:thin:@localhost:1521/PDB_service_name
# Oracle OCI bequeath database connection URL
#database.url=jdbc:oracle:oci:@
# Oracle sample database connection URL for SSL/TLS.
# database.url=jdbc:oracle:thin:@tcps://<host>:<port>/<service name>?wallet_location=<wallet directory path>
# database.url=jdbc:oracle:thin:@tcps://localhost:2484/service_name?wallet_location=/path/WALLET
# For other databases, please see https://docs.oracle.com/en/middleware/goldengate/veridata/23/gvdug/agent-parameters-connections.html
# for each database user. The default values is 20.
#The database.characterSet parameter is used for overriding the source database character for comparison.
#This parameter should match the "SOURCECHARSET OVERRIDE" in the replicat parameter file at the target database.
#database.characterSet=
# The database.transaction.isolation property controls the
# enabled in the database.
#database.transaction.isolation=READ_UNCOMMITTED
[oracle@ggate1 veridata]$ cat deployment2/agent.properties|grep port
# The server.port property is the port where the Veridata agent listens
server.port=8832
# Samples for all supported databases are shown below.
# database.url=jdbc:oracle:thin:@tcps://<host>:<port>/<service name>?wallet_location=<wallet directory path>
#This is supported only for Oracle Databases.
# READ_UNCOMMITTED. The only value supported for Oracle
# is READ_COMMITTED. SQL Server versions 2005 above also support
[oracle@ggate1 veridata]$
So i have used 8831 to the source and 8832 for the target. Based on these configurations we will connect the agents from the server and we wil go through with detailed steps in our next blog post.