Forum Stats

  • 3,876,207 Users
  • 2,267,082 Discussions
  • 7,912,469 Comments

Discussions

DDL capture in Oracle->Teradata

784624
784624 Member Posts: 28
edited Sep 24, 2010 12:07AM in GoldenGate
Hi

1) We are planning to enable DDL capture from Oracle(source) to Teradata(Target) using GG.
Just wanted to know if it is possible to convert an Oracle DDL to TD DDL( Data Type mapping is done automatically by GG ?) Are there any restrictions we have to be aware of.

2) I have reviewed the guide (Oracle GoldenGate Documentation on Non-Oracle Databases" (product V21825-01) ) server. The guide has good information on configuring TAM Extract process. I can't find instructions on configuring Replicat process on Teradata .Is it same as configuring replicat process on other databases ?

Thanks

Best Answer

  • -joe
    -joe Member Posts: 226
    I forgot about DDL... Well, unfortunately we do not yet support heterogeneous DDL but we're working on it with no dates set yet.

    So if you do DDL then you're going to have to plan these DDL changes and coordinate between the two systems. If you want to get a little more advanced then you can create an ON DDL trigger in Oracle that would populate a "maker table" (see docs on Event Marker Infrastructure and the EVENTACTIONS parameter). The idea is to populate this maker table (simply a table you define and add to replication). We can have the replicat(s) stop (EVENTACTIONS (STOP, LOG, CP BOTH)) when they encounter this record. Then you know you have a safe stop point to perform the DDL on the target. Next, regenerate the sourcedefs file, replace target sourcedefs with new sourcedefs and start back up the replicat(s).

    Good luck (again),
    -joe

Answers

  • -joe
    -joe Member Posts: 226
    edited Sep 24, 2010 12:07AM
    Hi.

    From V21825-01 check out pages 34-35 in the file gg_tera_inst_v104.pdf to see some specific info about configuring the replicat for Teradata. OGG has pretty consistent usage across all the databases so configuring a replicat for Teradata is almost identical to configuring a replicat for Oracle except you configure an .odbc.ini file (page 30) and you'll want to pay speciall attention to the following three parameters:

    1. SOURCEDEFS <full_pathname> | ASSUMETARGETDEFS
    You'll need to create a "sourcedefs" file from the source and put it in some directory on the target and reference it. dirdef/ and dirprm/ are commonly used but you can put it anywhere.

    2. [TARGETDB <dsn2>,] [USERID <user id>[, PASSWORD <pw>]]
    Notice the additional "TARGETDB <dsn2 or rather, ODBC name>"

    3. BATCHSQL
    It's a best practice to always use this for Teradata replicats and here especially has significant performance gains

    Good luck,
    -joe
  • -joe
    -joe Member Posts: 226
    I forgot about DDL... Well, unfortunately we do not yet support heterogeneous DDL but we're working on it with no dates set yet.

    So if you do DDL then you're going to have to plan these DDL changes and coordinate between the two systems. If you want to get a little more advanced then you can create an ON DDL trigger in Oracle that would populate a "maker table" (see docs on Event Marker Infrastructure and the EVENTACTIONS parameter). The idea is to populate this maker table (simply a table you define and add to replication). We can have the replicat(s) stop (EVENTACTIONS (STOP, LOG, CP BOTH)) when they encounter this record. Then you know you have a safe stop point to perform the DDL on the target. Next, regenerate the sourcedefs file, replace target sourcedefs with new sourcedefs and start back up the replicat(s).

    Good luck (again),
    -joe
This discussion has been closed.