This chapter includes the following sections:
Oracle GoldenGate Veridata does not require an installation of the Oracle GoldenGate replication software. If you do use that software, install Oracle GoldenGate Veridata in a different location.
This section describes the prerequisites you must meet before you can successfully install and configure Oracle GoldenGate Veridata. The following sections explain the prerequisites:
Installation of a supported JDK is required for the Oracle GoldenGate Veridata installation.
DB2 for i 6.# and 5.# support only Java 6 though Java 7 is recommended where it is possible.
Install JDK 1.8.0_40 or higher on the machine where you run Veridata instance.
For more information about installing and to download the product, go to Java SE Downloads web site:
You must set the
PATH environment variables with the JDK directory path.
After installing the certified JDK for your operating system, use the Oracle Fusion Middleware 12c (12.2.1) Infrastructure installer to install Oracle WebLogic Server and the Oracle Java Required Files (JRF) Infrastructure services.
You need to download the installer
WLS_version represents the supported WebLogic Server version), which you can obtain from:
or from Oracle Software Delivery Cloud at:
For more details on obtaining Oracle Fusion Middleware Infrastructure installer, see "Understanding and Obtaining the Oracle Fusion Middleware Infrastructure Distribution" in Installing and Configuring the Oracle Fusion Middleware Infrastructure.
For details on installing Oracle WebLogic Server and JRF, see "Installing the Oracle Fusion Middleware Infrastructure Software" in Installing and Configuring the Oracle Fusion Middleware Infrastructure.
If you do not already have a database where you can install the schemas, you must install and configure a certified database. Oracle GoldenGate Veridata supports the following databases:
Microsoft SQL Server
See Section 2.5.3, "Repository Requirements for the Server Component" for more details.
Oracle GoldenGate Veridata supports the following databases for comparisons:
DB2 for i, DB2 LUW, and DB2 z/OS
Sybase Adaptive Server Enterprise (ASE)
Through its support website, Oracle provides late-breaking updates, discussions, and best practices about pre-upgrade requirements, upgrade processes, post-upgrade, compatibility, and interoperability.To find the latest information about Oracle GoldenGate Veridata release, including the list of certified database versions and operating systems, go to My Oracle Support at
One Oracle GoldenGate Veridata Agent must be installed for each database instance that contains data that is to be compared. At minimum, therefore, you will install two agents — one to retrieve source rows and one to retrieve target rows (unless you are comparing data within the same database instance). One agent can retrieve rows from multiple databases or schemas within a given database instance. However, one agent cannot retrieve rows from different database instances.
The following considerations apply when you are comparing tables with multibyte data:
A Java agent should be used for all platforms except NonStop, which has only a C-agent.
The Java agent uses the UTF-8 character for comparing character data. Out-of-sync data is written to the report file using the UTF-8 character set.
The Oracle GoldenGate Veridata Oracle C-Agent can be used for comparisons between Oracle databases where the source and target use the same character set and the host system uses the same byte order. An Oracle C-Agent cannot be used in a comparison with a Java agent. Character fields that contain characters that are not valid UTF-8 characters are displayed as hexadecimal in the out-of-sync reports.
Oracle GoldenGate Veridata provides a Java-based agent for the following databases:
DB2 for i, DB2 LUW, and DB2 z/OS
The Java agent connects to the database by using JDBC (Java Database Connectivity). The Java agent enables Oracle GoldenGate Veridata to support comparisons in a heterogeneous environment, where different kinds of databases contain similar, but not identical data types. With a Java agent, one executable supports many operating systems and databases.
You can install the Java agent on the same system as the one where the database is running, or you can install it on a different system, such as the one where Oracle GoldenGate Veridata Server is installed. When considering where to install the agent, weigh the additional and significant use of network bandwidth that will be incurred if the agent is remote from the database, versus the savings in processing resources on the database host when an agent is not running there.
A Java environment is required on all platforms. Download and install either the Java Developer Kit (JDK) or the Java Runtime Environment (JRE) from the Oracle website. Java version 1.8.0_40 or higher is preferred because of the performance improvements for Oracle GoldenGate Veridata.
A TCP/IP port must be configured and active.
The listener must be configured and running.
A static TCP/IP port must be configured and enabled.
Know the ASE listen port.
Know the host name and port number of the database.
Download the appropriate JDBC driver from the database vendor's website before installing the Java agent. You will be prompted for the location during the installation steps in this guide.
Oracle GoldenGate Veridata also provides a C-code based agent for the following databases:
The C-agent is required for NonStop SQL/MP and Enscribe databases running on the NonStop platform. This agent can be installed in a Guardian environment.
The C-agent is supported for the Oracle database, but as of release 18.104.22.168.0, it will no longer be enhanced.
You must install the C-agent on the same system as the one that hosts the database.
For Oracle, a dynamically linked C-agent is available. If you use this agent, you must set the following environment variables:
||All other supported UNIX platforms|
The agent requires at least 1GB of RAM.
The disk space requirements for the Oracle GoldenGate Veridata Agent vary by platform, but up to 200 MB may be required. On UNIX and Linux, additional space might be required to install the Java environment (if not already installed).
The main consumers of processing resources are the row sorting operations that are required during a comparison. To improve performance, you might need to increase the temporary memory space in the database if the columns that are being used as keys are not a native unique index or primary key. You specify the columns to use as keys when configuring Oracle GoldenGate Veridata.
Using server-side sorting instead of database sorting might reduce the load on the database server and improve comparison performance, depending on the number of rows, the indexes defined, the keys used, and the way the database is tuned. See Section 2.5.2, "Disk and Memory Requirements for the Server Component."
Oracle GoldenGate Veridata Agent makes use of a database login, which must be created before you can run comparisons. You provide the login and password when you configure connection objects in the Oracle GoldenGate Veridata Web interface. The following are the database privileges that are required for the database user.
SELECT privileges on the tables that will be compared.
GRANT SELECT on the tables to be compared. It is recommended, but not necessary, to
GRANT SELECT ANY TABLE.
Read access to the SQL/MP system catalog (for queries to
Read access to the SQL/MP catalogs that you want Oracle GoldenGate Veridata to use.
Read access to the DDL dictionaries that you want Oracle GoldenGate Veridata to use.
Read access to the Enscribe and SQL/MP tables that will be compared.
Read, write, create, purge permissions for the Oracle GoldenGate Veridata report and trace files, and access to the sub volumes where they are installed.
db_datareader or the equivalent on the tables to be compared.
VIEW DEFINITION in the databases to be compared.
The database must allow SQL Server authentication.
Access to the databases to be compared.
SELECT privileges on the tables to be compared.
SELECT privileges on the
sysdatabases system table in the master database to view the list of databases available in the server.
SELECT privileges on the tables to be compared.
For all databases, the database user must have the
DELETE privileges on the tables to be repaired.
For Sybase database, if the table has triggers and suppression of triggers enabled, the database user must have the
For SQL Server database, If the table being repaired has 'identity columns', the Repair User specified must be either the table owner, or should have
ALTER permission on the table that is being repaired.
This section describes the installation location, additional programs, disk, memory, and repository requirements for Oracle GoldenGate Veridata Server.
The server and web user interface components are installed from one installation program on Windows, UNIX, and Linux systems. The installer includes all files that are needed to run those programs. One installation can be used for comparisons among all of the supported databases, but multiple installations can be used as needed.
Do not install the server and web user interface components on a NonStop system. To use Oracle GoldenGate Veridata for NonStop databases:
Install the server and web user interface components on a supported Windows, UNIX, or Linux system.
Make certain that this system has access over high-speed network connections to the NonStop systems.
The server component uses about 200 MB of fixed virtual memory for basic tasks. The remaining virtual memory is used for comparisons. The main consumers of processing resources on the Oracle GoldenGate Veridata machine are the row sorting operations of the initial comparison step when using server-side sorting.
Enough combined disk space and virtual memory is needed to store all of the rows that are sent for comparison from the source and target systems. To estimate the amount of memory per row:
((number of cols in key + 1) * 4) + 16 + (comparison width of a key col)
comparison width of a key col depends on the comparison format that is selected by Oracle GoldenGate Veridata (or a user override) to use for a comparison.
Comparison format data sizes:
|Comparison Format||Data Size|
|Numbers||One byte for each significant digit. Leading zeros and trailing zeros after the decimal point (such as the right most zeros in 1234.500) are not counted.|
|Timestamp||19 to 32 bytes depending on the fractional precision.|
|Time||8 to 18 bytes depending on the fractional precision.|
|String||1 to 4 bytes per character for the UTF-8 encoding of the Java agent. The NonStop agent and the Oracle C agent use the database native character set.|
|Binary||The bytes as stored in the database.|
For example, the number 109998877, if compared as a decimal float, would require:
((1 + 1) * 4) + 16 + 9 = 33 bytes of memory for this row
Note:This assumes that all non-key columns are compared by using a hash, not literally. More space is needed for literal comparisons
Oracle GoldenGate Veridata uses an external merge sort to sort the data. As data is received from the agent, the rows are sorted in memory. When a memory buffer is full, the sorted rows are written to disk.
In order to sort the data, the sort process matches the initial data set size for temporary storage space. The required amount of temporary space is determined by the number of rows, the row size, and the amount of available sort memory. The following cases illustrate the different modes of the sort depending on the available resources.
In-Memory Sort: This sorts the data entirely in memory and is the fastest method, but the memory requirements may exceed what is available. The sort memory must be approximately 2.5 times larger than the size of the data set.
One Disk Pass: This sorts data and writes to the disk only once. It requires sort disk space equal to the size of the data set. This process is almost as fast as the in-memory sort and the memory requirements are lower. In general the Oracle GoldenGate Veridata server can write the rows to disk faster than the agent can read them from the database.
Two Disk Passes: This sorts and writes to the disk twice, requiring sort disk space twice the size of the data set. Although the disk requirement is greater, very large data sets can be sorted with a reasonable amount of memory.
Three or More Disk Passes: After all of the rows have been received from the agent, additional sorting may be required before the rows are ready for the final write to disk. If it is necessary to access the disk three or more times, the required sort space will be three or more times the data set size. This is slow and should be avoided.
Beyond this allocation, memory is required for storing rows during the second step of processing, the confirmation step. This can be up to 20 MB if you expect a large number of rows to require confirmation, as is usually the case when replication latency is very high. These rows are staged in the main memory before they are confirmed.
On 64-bit systems, more memory can be addressed, so more data can be stored in main memory instead of on slower disk devices. The memory that is used in the initial comparison step is not necessarily all released at once to be available for the confirmation step. Consequently, some memory will be shared between processes. When the sort cannot hold all of the rows in memory, it uses disk storage.
When deciding how much memory to allocate, be aware of the following ways that you can manage it with parameter settings within the Oracle GoldenGate Veridata application:
The temporary space should be located on a reasonably fast file system. A network file system located on a remote server may slow the comparison processing.
You can increase disk I/O performance by specifying multiple temporary directories with profile settings. For maximum benefit, put the directories on different physical disks.
You can use a profile setting to terminate the confirmation step after a given number of out-of-sync rows, to work around resource limitations.
Additional memory properties can be controlled with server parameters. See "Configuration Parameters" in Administering Oracle GoldenGate Veridata.
Oracle GoldenGate Veridata Server requires a database to serve as a repository for objects that store the information and environment preferences that users create when using Oracle GoldenGate Veridata Web interface.
Use the Repository Creation Utility (RCU) to create the repository. See Chapter 4, "Creating the Oracle GoldenGate Veridata Repository Schema".
You can use the following databases as a repository:
Create a user and password.
QUOTA UNLIMITED on the user's default tablespace.
Create a database and login that is a user of the database where you will be installing the repository.
Grant this login sufficient privileges to perform the following operations:
CONNECT to the database
DROP TABLE in the database
DROP INDEX in the database
DELETE from tables in the database
SELECT from tables in the database
ALTER SCHEMA of the login's default schema
The database instance name
ORACLE_HOME (if using
TNSNAMES connection method)
Default and temporary tablespaces for the repository (if you will be creating a new user for the server component during installation)
A login and password, if using an existing database user for the repository.
The SQL Server instance must be configured to use a static port number. This port is stored in a configuration file so that it can be referenced to make JDBC connections to the database.
A login and password (or integrated authentication), if using an existing database user for the repository.
This section describes the Java package, browsers, screen resolution, security, and ports recommended or required for the Oracle GoldenGate Web User Interface.
See Section 2.5.1, "Location for the Server Component". One installer program installs both Oracle GoldenGate Veridata Web Server component and Oracle GoldenGate Veridata Web User Interface.
JDK 1.8.0_40 or higher is required for the Veridata Web User Interface installation.
Note:The Veridata Web User Interface cannot be installed on DB2 for i because it does not support JDK 1.7.
Microsoft Internet Explorer version 11 or higher
Mozilla Firefox version 38 or higher
Google Chrome version 43
Apple Safari version 8 or higher
The Oracle GoldenGate Veridata Web application interacts with Oracle WebLogic Server. Oracle WebLogic Server is installed with Oracle GoldenGate Veridata Server on default ports. You can change the port numbers if needed.
Oracle GoldenGate Veridata Web makes use of the default port 8830.
The web server provides user security roles that control access to certain pages of the Oracle GoldenGate Veridata Web interface. To create users and define user roles, use the Oracle WebLogic Server Administration Console. For more information, see "Securing Access to Oracle GoldenGate Veridata Web Interface by Defining User Roles" in Administering Oracle GoldenGate Veridata.
On SQL/MP tables with clustered keys, the right-most portion of the primary key is a timestamp added by the file system. For compare pairs composed of such tables, the timestamp will be different on the source and target systems. As a result, it must be excluded from the comparison, because Oracle GoldenGate Veridata compares keys to ensure that the correct rows are compared.
If, after the timestamp portion of a key is eliminated, the remaining key columns do not produce a unique key value, then those tables must have a unique index or other columns that can be specified to create a unique value. Otherwise, they cannot be compared with Oracle GoldenGate Veridata.