How to set commit frequency in Oracle Entreprise stage

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
Atanu
Participant
Posts: 5
Joined: Wed May 04, 2005 3:36 am

How to set commit frequency in Oracle Entreprise stage

Post by Atanu »

Hi to DS gurus,

I am using Oracle enterpeise stage in my Parallel job which is as :
Sequential file -> transformer -> Oracle Enterprise Target table

Write method is : UPSERT

My question is how to set TRANSACTION SIZE.

Their is one option host array size.How it will be benefical in UPSERT mode?

Thanks in advance.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Search is your friend. :wink:

Try this post.
-craig

"You can never have too many knives" -- Logan Nine Fingers
elavenil
Premium Member
Premium Member
Posts: 467
Joined: Thu Jan 31, 2002 10:20 pm
Location: Singapore

Post by elavenil »

As of my best knowledge, the transaction size (Commit interval) should be set to 1 for Upsert mode due to additional check is required to identify the existence of the record. So transaction size is set to 1.

Hope TWH.

Regards
Saravanan
SriKara
Premium Member
Premium Member
Posts: 30
Joined: Wed Jun 01, 2005 8:40 am
Location: UK

Post by SriKara »

Set the transaction size to 1 ??
The scenario which you mentioned may arise only if you have an Insert record and an Update record with the same key in the same input dataset.

I think if the source is expected to give an insert and an update for the same key in the same loading, the ETL design should be altered to take care of sequence of loading. IMHO.
jasper
Participant
Posts: 111
Joined: Mon May 06, 2002 1:25 am
Location: Belgium

Post by jasper »

If you're working with parallell processes it might indeed be best to set this to 1.
I've also come accross deadlock situation, that had nothing to do with bad design. Only way to avoid this is if you can partition your table and get datastage partiotioned in the same way.
Lawrence
Premium Member
Premium Member
Posts: 46
Joined: Thu Jun 10, 2004 12:47 am
Location: Australia

Post by Lawrence »

Does anybody know how to set the commit interval for the 'load' - Write Method. My job log looks like it commits every 5000 rows or so, and I can't find any setting in the ctl file that Datastage generates.
alisoviejo
Participant
Posts: 49
Joined: Fri Nov 11, 2005 10:19 am

Post by alisoviejo »

Use the env variable "Oracle commit row interval" , search for t and set the value , the default is 5000
ALISO
Post Reply