Oracle® GoldenGate Veridata Administrator's Guide 11g Release 2 (11.2.1.0.0) Part Number E29092-01 |
|
|
PDF · Mobi · ePub |
This chapter discusses the supported databases and system requirements to install and run Oracle GoldenGate Veridata.
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.
Oracle GoldenGate Veridata supports the following databases for comparisons:
DB2 LUW and z/OS
Enscribe
Oracle
NonStop SQL/MP
SQL Server
Sybase Adaptive Server Enterprise (ASE)
Teradata
A list of currently supported database versions and operating systems can be found at http://support.oracle.com
.
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 hexidecimal in the out-of-sync reports.
Oracle GoldenGate Veridata provides a Java-based agent for the following databases:
DB2 LUW and Z/OS
Oracle
SQL Server
Sybase ASE
Teradata
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.
UNIX and Linux, all supported databases
A Java environment is required on UNIX and Linux systems. Download and install either the Java Software Developer's Kit (JSDK) or the Java Runtime Environment (JRE) from the Sun website. The minimum Java version is 1. 6, and 1.6_24 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 11.2.1.0.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:
Environment Variables for Dynamically Linked C-Agents
Variable | Operating System |
---|---|
|
Microsoft Windows |
|
HP-UX |
|
IBM AIX |
|
All other supported UNIX platforms |
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.4.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.
Required database privileges for Oracle GoldenGate Veridata Agent
SELECT
privileges on the tables that will be compared.
GRANT CONNECT
GRANT SELECT
on the tables to be compared. It is recommended, but not necessary, to GRANT SELECT ANY TABLE
.
SELECT_CATALOG_ROLE
Read access to the SQL/MP system catalog (for queries to CATALOGS
table).
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 subvolumes 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.
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)
Where:
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 rightmost zeros in 1234.500) are not counted. |
Timestamp |
19 to 32 bytes depending on the fractional precision. |
Date |
10 bytes. |
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.
The following table shows memory requirements for some sample data sets.
Data Set Size | In-Memory Sort | One Disk Pass | Two Disk Passes |
---|---|---|---|
20 MB |
50 MB |
Not Applicable |
Not Applicable |
400 MB |
1 GB |
50 MB |
Not Applicable |
2 GB |
5 GB |
125 MB |
50 MB |
8 GB |
20 GB |
250 GB |
50 MB |
50 GB |
125 GB |
600 MB |
80 MB |
Note:
The numbers in the previous table are for only one side of the comparison. You must allocate twice this to cover both sides
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.
The sort performs better if all of the data that needs to be sorted during the initial comparison step can be stored in main memory. 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 control the amount of memory that is allocated to each of the processing steps with profile settings.
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 Chapter 11, "Oracle GoldenGate Veridata Server Configuration Parameters".
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. You can use the following databases as a repository:
MySQL
Oracle
SQL Server
When installing Oracle GoldenGate Veridata Server, you can have the installer create a database (or schema if using Oracle) for the repository or install the repository objects into an existing database or schema.
The repository can be installed in a database on the same system as the server and web components, or it can be installed on a different system in a multi-tier configuration. For a multi-tier installation, enable communication between hosts as follows:
To use a MySQL database repository, all required MySQL client software is installed with the server and web components.
To use an Oracle database repository with Oracle GoldenGate Veridata server and web components installed on a Windows, UNIX, or Linux system, the Oracle client software is installed with the server and web components. Oracle GoldenGate Veridata supports TNSNAMES
and EZCONNECT
connection naming methods.
To use TNSNAMES
, the database instance where the repository will be installed must be included in the tnsnames.ora file
and in the listener.ora
file. Make certain that TNSNAMES
is one of the values in the NAMES.DIRECTORY_PATH
parameter in the sqlnet.ora
file on the database system.
To use EZCONNECT
, you will need to supply the installation program with the name or IP address of the database server (domain-qualified if required by the operating system), the database listening port number, and the instance name of the database.
To use a SQL Server database repository with server and web components installed on a different system, make certain that both systems are registered with the DNS.
During installation, you will be prompted for a user (or login) and password for Oracle GoldenGate Veridata to use when updating the repository. You can create the user with the required privileges before running the installation program, or you can allow the installation program to create it with the required privileges. Dedicate this user to Oracle GoldenGate Veridata.
To have the Oracle GoldenGate Veridata installation program create this user, an Administrator or DBA user and password are required. This user will only be used for this purpose and will not be retained in the Oracle GoldenGate Veridata configuration.
If creating the user outside the installer, grant the following privileges to create, update, and delete the tables in the repository. Have the user information available for the installation.
Required Database Privileges for Oracle GoldenGate Veridata Server
Create a user and identically named database.
Grant the user all DDL and DML privileges in that database when this user connects to the MySQL server from the host where Oracle GoldenGate Veridata is being installed.
Create a user and password.
Create a database role named VERIDATA_ROLE.
Grant these to VERIDATA_ROLE
:
CREATE SESSION
CREATE TABLE
CREATE VIEW
CREATE PROCEDURE
CREATE SYNONYM
Grant VERIDATA_ROLE
to the user.
Specify 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
CREATE
, ALTER
, DROP TABLE
in the database
CREATE
and DROP INDEX
in the database
INSERT
, UPDATE
, DELETE
from tables in the database
SELECT
from tables in the database
ALTER SCHEMA
of the login's default schema
During installation, you will be prompted for the following components. Have this information available for the installation.
Required environment components for Oracle GoldenGate Veridata Server
The database host name and port number.
A login and password, if using an existing database user for the repository.
The database instance name
The 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)
The host name, port number, and service name of the database instance (if using EZCONNECT
connection method)
A login and password, if using an existing database user for the repository.
An ODBC data source name (DSN). This must be a system DSN. You can create the DSN before installing Oracle GoldenGate Veridata or during the installation (you will be prompted for it). A system administrator can create a DSN from the Data Sources (ODBC) applet of the Administrative Tools control panel. (For basic instructions, see Appendix C, "Configuring an ODBC connection for a SQL Server Repository".) Any of the SQL Server clients can be used.
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.4.1, "Location for the Server Component". One installer program installs both Oracle GoldenGate VeridataWeb Server component and Oracle GoldenGate Veridata Web User Interface.
Except for UNIX and Linux, the installation package includes the required Java Run-time Environment (JRE) 1.6.x, which is installed into the JRE
directory within the main Oracle GoldenGate Veridata installation. To ensure that the web client runs properly, do not change this JRE environment.
The Oracle GoldenGate Veridata Web application interacts with the Apache Tomcat web server. Tomcat is installed with Oracle GoldenGate Veridata Server on default ports. You can change the port numbers if needed (see Appendix B, "Changing Oracle GoldenGate Veridata Web Port Numbers").
Oracle GoldenGate Veridata Web makes use of the following default ports, which you can change during installation:
8820: Shutdown port
8830: HTTP port
Other port numbers are used by default. You can change these port numbers after installation by following the directions in Appendix B, "Changing Oracle GoldenGate Veridata Web Port Numbers".
The Tomcat web server provides user security roles that control access to certain pages of the Oracle GoldenGate Veridata Web interface. You will be asked to specify an initial Oracle GoldenGate Veridata Administrator user and password during installation. You can use this user to create additional users after installation and assign them to roles.
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.