GoldenGate for DB2 to Teradata

30 downloads 7160 Views 2MB Size Report
GoldenGate for DB2 to Teradata. Page 1. GoldenGate for DB2 to Teradata. Objective. Upon completion of this lesson, you will be able to keep a DB2 database ...
GoldenGate for DB2 to Teradata

GoldenGate for DB2 to Teradata Objective Upon completion of this lesson, you will be able to keep a DB2 database synchronized with a Teradata database. During this lesson, you will learn how to:  Prepare your user environment.  Implement the direct initial data load process.  Configure and start the change capture process.  Configure and start the change delivery process of database operations.

DB2 to UNIX Teradata configuration The following diagram illustrates a GoldenGate configuration for log-based replication from DB2 source data to a Teradata target database with GoldenGate installed on either Windows or UNIX.

UNIX server

LUW server

DB2 Manager

Manager

Source

Network

Log

Extract

Collector

Teradata server

Trails

database

database

Network Replicat

Target

                                         Page 1

GoldenGate for DB2 to Teradata

Overview of Tasks Prepare the Environment In order to execute this lesson, the GoldenGate application must be installed on both the DB2 source and Teradata target systems. The installation includes a sample database and scripts to generate initial data as well as subsequent update operations. The source and target tables are created and loaded with initial data. The GoldenGate Manager processes are also started so that other processes may be configured and started.

Initial Data Load Initial database synchronization is almost always required. To initially load data across heterogeneous databases, you have limited choices. GoldenGate provides the ability to perform initial data synchronization while your application remains active. This lesson demonstrates using Extract to pull data from the source files and sending the data directly to Replicat on the target system. UNIX server

LUW server

Teradata server

DB2 Network Source

Initial Extract

Network Replicat

Target

Configure Change Capture For log-based DB2 capture, database changes are captured directly from the DB2 logs by an Extract process and distributed to data queues known as GoldenGate remote trails.

Configure Change Delivery Once the tables have been initially loaded with data, the Replicat process is configured to deliver the captured change data into the target Teradata database.

Prerequisites The prerequisites for this lab include the following.  GoldenGate installed in both the source and the target .

 Teradata ODBC installed in the target environment.

                                         Page 2

Prepare the Environment

Exercise 1.

Prepare the Environment               

Objective The goals of this exercise are to:  Configure and start the Manager processes  Prepare source and target sample databases  Configure database connections

Prepare the source UNIX DB2 environment 1. Configure the Manager process on the source Execute the following commands on the system.  Start the command interface Shell> cd Shell> ggsci

 Specify the port that the Manager should use. GGSCI> EDIT PARAMS MGR -- GoldenGate Manager Parameter file PORT

 Start Manager GGSCI> START MANAGER

 Verify the results: GGSCI> INFO MANAGER

2. Create source tables and load with initial data Execute the scripts demo_db2_create.sql and demo_db2_insert.sql on the system to create the source tables and load with data.

                                         ©©2011 GoldenGate Software, Inc. All rights reserved. 3

Prepare the Environment

Note: It is advisable to update the demo_db2_create.sql and demo_db2_insert.sql scripts to ensure that the database connection information matches your system. Shell> cd Shell> db2 –tf demo_db2_create.sql Shell> db2 –tf demo_db2_insert.sql

Verify the results: Shell> db2 => db2 => db2 => db2 => db2 => db2 =>

db2 connect to describe table tcustmer describe table tcustord select * from tcustmer select * from tcustord quit

3. Configure source definition generator Execute the following commands on the system to create the DEFGEN parameter file and add the listed parameters. Shell> cd Shell> ggsci GGSCI> edit param defgen DEFSFILE dirdef/source.def, PURGE SOURCEDB , USERID , PASSWORD TABLE .TCUSTMER; TABLE .TCUSTORD; GGSCI> exit

4, Execute the source definition generator Execute the following commands on the system. Shell> defgen paramfile dirprm/defgen.prm

5. Transfer the source definition file to the target system Shell> ftp Name (:): Password: password ftp> ascii ftp> cd /dirdef ftp> lcd /dirdef ftp> put source.def ftp> bye

Note: To avoid overlaying existing definition files, always put the file as .def instead of source.def (e.g. DB2.def).

                                         ©©2011 GoldenGate Software, Inc. All rights reserved. 4

Prepare the Environment

Prepare the Teradata target environment 6. Configure the Manager process Execute the following command on the Teradata system.  Start the command interface shell> cd shell> ggsci

 Specify the port that the Manager should use. GGSCI> EDIT PARAMS MGR -- GoldenGate Manager Parameter file PORT

 Start Manager GGSCI> START MANAGER

 Verify the results: GGSCI> INFO MANAGER

7. Create ODBC data source name An ODBC system data source stores information about how to connect to the Teradata . Execute the following commands on the Teradata system. Create your system DSN for Teradata with a name of to connect to your target name. These examples show a DSN named GGSTera and a server named Tribble, but these should be changed to match your names.

                                         ©©2011 GoldenGate Software, Inc. All rights reserved. 5

Prepare the Environment

Click on the Options button. Select ANSI for the Session Mode and AAA for the DateTime Format.

8. Create target files Execute the following commands on the system. Edit the script, demo_tera_create.sql and change the to the identifier for your target database. create table .tcustmer; create table .tcustord;

Using the Teradata command interface, BTEQ, logon and execute the script. BTEQ> .logon / Password: BTEQ> .run file = ./demo_tera_create.sql;

                                         ©©2011 GoldenGate Software, Inc. All rights reserved. 6

Initial Data Load

Exercise 2.

Initial Data Load using Direct Load Method               

Objective The goals of this exercise are to:  Configure the initial load capture task.  Configure the delivery of the data to the target system.  Execute and verify the initial load of data.

Configure initial load capture 1. Add the initial load capture batch task group Execute the following commands on the system to create an Extract named EINI1. GGSCI> ADD EXTRACT EINI, SOURCEISTABLE

Verify the results: GGSCI> INFO EXTRACT *, TASKS

2. Configure the initial load capture parameter file GGSCI> EDIT PARAMS EINI --- GoldenGate Initial Data Capture -- for TCUSTMER and TCUSTORD -EXTRACT EINI SOURCEDB , USERID , PASSWORD RMTHOST , MGRPORT RMTTASK REPLICAT, GROUP RINI TABLE .TCUSTMER; TABLE .TCUSTORD; GGSCI> EXIT

1

The process names used in lab exercises, for example EINIBD, are made up of 1) one character for the GoldenGate process (E for Extract, R for Replicat); 2) three or four to describe the process type (INI for initial data load, ORA for capture from or delivery to an Oracle database, etc.) and 3) two characters to create a unique identifier (usually your initials).                                          Page 7

Initial Data Load

Configure initial load delivery 3. Configure the initial load Replicat parameter file Execute the following commands on the system. GGSCI> EDIT PARAMS RINI --- GoldenGate Initial Load Delivery for TCUSTMER -REPLICAT RINI TARGETDB , USERID , PASSWORD SOURCEDEFS /dirdef/source.def MAP .TCUSTMER, TARGET .TCUSTMER; MAP .TCUSTORD, TARGET .TCUSTORD;

Note: Remember to use .def if you renamed the source.def when you transferred it to the .

4. Add the initial load Replicat batch task group Execute the following commands on the system. GGSCI> ADD REPLICAT RINI, SPECIALRUN

Verify the results: GGSCI> INFO REPLICAT *, TASKS

5. Execute the initial load Replicat process Execute the following commands on the system. GGSCI> START EXTRACT EINI

Verify the results: GGSCI> VIEW REPORT EINI

                                         Page 8

Configure Change Capture

Exercise 3.

Configure Change Capture               

Objective The goals of this exercise are to:  Add the Extract process that will capture changes.  Add the trail that will store the changes.  Start the Extract process.

Configure change capture 1. Add the Extract group Execute the following commands on the DB2 system to create the Extract group. GGSCI> ADD EXTRACT EDB2, TRANLOG, BEGIN NOW

Verify the results: GGSCI> INFO EXTRACT EDB2

2. Create the Extract parameter file Execute the following commands on the system. GGSCI> EDIT PARAM EDB2 --- Change capture parameter file to capture -- TCUSTMER and TCUSTORD changes -EXTRACT EDB2 SOURCEDB , USERID , PASSWORD TRANLOGOPTIONS NOUSEREXIT RMTHOST , MGRPORT RMTTRAIL ./dirdat/ TABLE .TCUSTMER; TABLE .TCUSTORD;

Note: Record the two characters selected for your : ______. You will need this in the next step and when you set up the Replicat. Close the parameter file and verify the results.

                                         Page 9

Configure Change Capture

GGSCI> VIEW PARAMS EDB2

3. Define the GoldenGate trails Execute the following on the system. GGSCI> ADD RMTTRAIL ./dirdat/, EXTRACT EDB2, MEGABYTES 5

Verify the results: GGSCI> INFO RMTTRAIL *

4. Start the capture process Execute the following on the system. GGSCI> START EXTRACT EDB2

Verify the results: GGSCI> INFO EXTRACT EDB2, DETAIL GGSCI> VIEW REPORT EDB2

Discussion Points 1. Identifying a remote system What parameter is used to identify the remote target system? _________________________________________________________________________ _________________________________________________________________________

2. Reading the transaction log What parameter is used to set the options for reading the transaction log? _________________________________________________________________________ What options is this lab using? What do they control? _________________________________________________________________________ _________________________________________________________________________

                                         Page 10

Configure Change Delivery

Exercise 4.

Configure Change Delivery               

Objective The goals of this exercise are to:  Set up the checkpoint table on the target system.  Create a named group that includes the Replicat process and the checkpoint tables.  Configure the Replicat group by adding parameters.  Start the Replicat group.

Set up the checkpoint table 1. Edit the GLOBALS file on the target system Execute the following commands on the system.  Edit the GLOBALS parameter file to add the checkpoint table. Shell> cd Shell> ggsci GGSCI> EDIT PARAMS ./GLOBALS

In the text editor, add the following line: CHECKPOINTTABLE .ggschkpt

 Record the checkpoint table owner and name, then save and close the file. Table owner ____________________ name ___________________ Note: You could name the table anything you want, but for training purposes we are using ggschkpt.

2. Activate the GLOBALS parameters For the GLOBALS configuration to take effect, you must exit the session in which the changes were made. Execute the following command to exit GGSCI. GGSCI> EXIT

                                         Page 11

Configure Change Delivery

3. Add a Replicat checkpoint table On the system, execute the following commands in GGSCI: Shell> Shell> GGSCI> GGSCI>

cd ggsci DBLOGIN SOURCEDB , USERID , PASSWORD ADD CHECKPOINTTABLE

Configure Change Delivery 4. Add the Replicat group Execute the following command on the system to add a delivery group named RTER. GGSCI> ADD REPLICAT RTER, EXTTRAIL ./dirdat/

Note: Refer to your Extract set up for the correct two-character .

5. Create Replicat parameter file Execute the following commands on the system to bring up the parameter file in the editor. GGSCI> EDIT PARAM RTER

Type in the following parameters --- Change Delivery parameter file to apply -- TCUSTMER and TCUSTORD Changes -REPLICAT RTER TARGETDB , USERID , PASSWORD HANDLECOLLISIONS SOURCEDEFS ./dirdef/source.def DISCARDFILE ./dirrpt/RTER.DSC, PURGE MAP .tcustmer, TARGET .tcustmer; MAP .tcustord, TARGET .tcustord;

Note: Remember to use .def if you renamed the source.def when you transferred it to the the .

6. Start the Replicat process GGSCI> START REPLICAT RTER

Verify the results: GGSCI> INFO REPLICAT RTER                                          Page 12

Configure Change Delivery

Discussion points 1. When to use HANDLECOLLISIONS For which stage of GoldenGate processing – change capture, initial data load, or change delivery – would you use HANDLECOLLISIONS? What does it do? _________________________________________________________________________ _________________________________________________________________________

2. What information is supplied by SOURCEDEFS _________________________________________________________________________ _________________________________________________________________________

3. What is the purpose of the DISCARDFILE? _________________________________________________________________________ _________________________________________________________________________

                                         Page 13

Generate Activity and Verify Results

Exercise 5.

Generate Activity and Verify Results               

Objective The goals of this exercise are to:  Execute miscellaneous update, insert, and delete operations on the source system.  Verify the delivery of the changes to the target.  Turn off the error handling used for the initial load.

Generate database operations 1. Execute miscellaneous update, insert, and delete operations Execute the following commands on the system. Note: It is advisable to update the demo_db2_misc.sql script to ensure that the database connection information matches your system. Shell> cd Shell> db2 +c –tf demo_db2_misc.sql

Verify change capture and delivery 2. Verify your results on the source system Execute the following commands on the system. Shell> db2 db2> CONNECT TO db2> select * from TCUSTMER db2> select * from TCUSTORD db2> quit Shell> ggsci GGSCI> SEND EXTRACT EDB2, REPORT GGSCI> VIEW REPORT EDB2

3. Verify your results on the target system Execute the following commands to logon to BTEQ on the system and verify the target data. Shell> bteq                                          Page 14

Generate Activity and Verify Results

BTEQ> .logon /

This will prompt you for the . After that is entered you may query the database. BTEQ> select * from .tcustmer; BTEQ> select * from .tcustord; Shell> Shell> GGSCI> GGSCI>

cd ggsci SEND REPLICAT RTER, REPORT VIEW REPORT RTER

Turn off error handling 4. Turn off initial load error handling for the running delivery process GGSCI> SEND REPLICAT RTER, NOHANDLECOLLISIONS

5. Remove initial load error handling from the parameter file GGSCI> EDIT PARAMS RTER

Remove the HANDLECOLLISIONS parameter.

                                         Page 15

Exercise Name

                                         Page 16