vyp_007
16th November 2006, 07:22
Hi,

I want to copy data from one table to another. For example tunic001 in 810 company to tunic001 in 710 company. Both are logistics companies. What are the possible ways to do so. The volume of data is very high in the source table.

Regards

VYP

mr_suleyman
16th November 2006, 08:45
Yuo can use directly ORACLE SQL PLUS for it ! But be carefull for your data integrity.

For example


>insert into ttunic001710 (select * from ttunic001810)

> commit



you can improve this logic by adding queries.

Good luck !

suhas-mahajan
16th November 2006, 09:20
You can use ttaad4226m000 for taking seq. backup of tunic001 for 810.

And you can use ttaad4227m000 (for diff. comp).

As said, take care integrity.

The volume of data is very high in the source table.

Not..understood, why worried. Above sessions can work on huge data, no issues. You need to have more than that much space in your DB.

Also search on google for IMP and EXP utilities of Oracle. It can append records from diff. company and too fast.

Hope this helps.

regards,

-Suhas

mpenno
18th November 2006, 15:09
:)

You can try :

SET COPYCOMMIT 1;
SET ARRAYSIZE 1000
COPY FROM baan/baan@<ORACLE_SID> APPEND TTUNIC001710 USING SELECT * FROM TTUNIC001810;

with commit every 1000 records.

Max

vyp_007
20th November 2006, 10:30
Hi Max,

I tried your soultion. It is working fine. I wanted to know whether I need to write something extra to make commit happen after 1000 records or the commands provided by you will make it happen.

Regards,

VYP

Dikkie Dik
20th November 2006, 11:23
The COPYCOMMIT will do a commit after every batch. The batch size has been specified by ARRAYSIZE. So, in the specified case a commit is done every 1000 records.

Hope this helps,
Dick

mpenno
20th November 2006, 12:37
:)

Thanks !

Max