2

I have a table of size 120 GB in MySQL 5.7 which I need to migrate to Oracle 12c. I am using Oracle GoldenGate for initial load of the table.

I tried with initial load of full table but it consumed complete RAM and I had to cancel it.

Even trying to run with primary key range initial load for 1/20th of table at a time, but it abends after certain time with:

ERROR OGG-01233 Send TCP params error: TCP/IP error 110 (Connection timed out)

Is there any better approach to get this completed?

4
  • 1
    If your program says ''Send TCP params error: TCP/IP error 110 (Connection timed out)'' then I think this means that the mysql side sends a message and does not get an answer and therefore stops to try to communicate after waiting some time and writes this error message. So you have a communication problem- Maybe some parameters are wrong configured, your firewall does not allow the access or you have a routing problem. So I think you will not be able to send even one row to the target. So you have to solve this problem before you can use OGG.
    – miracle173
    Jul 31, 2018 at 6:37
  • So are you able to load a table tha has only one row?
    – miracle173
    Jul 31, 2018 at 6:45
  • 1
    There is an Oracle support Document OGG-01233 Error While Starting OGG Initial Load With Large MySQL Tables (Doc ID 1903150.1). Register and check the document.
    – miracle173
    Jul 31, 2018 at 6:48
  • MySQL has several configurable timeouts in /etc/my.cnf (or thereabouts); increase them.
    – Rick James
    Aug 18, 2018 at 22:04

1 Answer 1

1

From my experience with GoldenGate, it's better to do initial loads with database native tools. In this case, you would use:

SELECT * FROM TABLENAME INTO OUTFILE 'filename';

https://dev.mysql.com/doc/refman/5.7/en/select-into.html

Then load into Oracle with SQL*Loader.

Example control file for SQL Loader:

$ cat example1.ctl
load data
 infile '/home/ramesh/employee.txt'
 into table employee
 fields terminated by ","
 ( id, name, dept, salary )

Example taken from: https://www.thegeekstuff.com/2012/06/oracle-sqlldr/

If you cannot stop data changes to perform the load, you need to:

  • Start your extract
  • Export the data
  • Load the data
  • start your replicat with HANDLECOLLISIONS enabled

After your replicat has caught up, remove HANDLECOLLISIONS.

For some good Tutorials, I've used https://gavinsoorma.com/category/goldengate/

Also the Oracle TechNet forums were responsive for GoldenGate questions - even for some really obscure scenarios.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.