datastage load data into oracle rac ,and hang the session

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
richardzhi
Participant
Posts: 4
Joined: Thu Jun 11, 2009 1:35 am

datastage load data into oracle rac ,and hang the session

Post by richardzhi »

We have two node's oracle rac, ordinary we run etl job to load data into temp table smoothly. But occassionly, the job will be hung and no error returned. if we check the oracle session wait events, it 's row cache lock . But I think no other app concurrently access this temp table . My oracle rac db is 10.2.0.4 and running on HPUX 11.31, and etl datastage is 7.5 and running on one aix box. Becaus it happened by randomcity , how I can avoid this problem ?

thanks advance
ray.wurlod
Participant
Posts: 54595
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Welcome aboard. What errors are logged in DataStage when this problem occurs? Have you had your DBA investigate which sessions own the locks?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
richardzhi
Participant
Posts: 4
Joined: Thu Jun 11, 2009 1:35 am

Post by richardzhi »

thanks, ray
The datastage don't return any error and just hung, if I terminate the job, i can see that a session is holding the lock on the temp table. Since it happend in occassionly and the locked table is also randomly, I want to know how to avoid the problem occur, and what mechanism when datastage use oracle enterprise to load file data to temp table in oracle rac. If i have two node, does datastage lock the table two times?

thanks your replay and wish get more instruction.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Has nothing to do with RAC, so put that out of your mind. Yes, multiple nodes create multiple connections and locks so you need to be careful how your data is partitioned to avoid situations like that. Does the issue not occur if you run the jobs on 1 node only?
-craig

"You can never have too many knives" -- Logan Nine Fingers
richardzhi
Participant
Posts: 4
Joined: Thu Jun 11, 2009 1:35 am

Post by richardzhi »

I am sure that it's not about table partition.if i run job in one node, I don't meet that problem. I just load a file into one table,this is a small table, not used by anyone rahter by datastage job. I just assume that datastage create 2 connections to two node in the rac,one lock table and another also try to lock this tablemso it's blocked. So if I just use one connect to one node, maybe I wouldn't meet this problem, Any one can supply the advice?

thanks
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Didn't say anything about your table partioning, rather specifically how your data is partition over multiple processing nodes. And the fact that it works on 1 node is a big clue. Have you tried Hash (rather than Auto) partitioning?
-craig

"You can never have too many knives" -- Logan Nine Fingers
richardzhi
Participant
Posts: 4
Joined: Thu Jun 11, 2009 1:35 am

Post by richardzhi »

my question is :
1。 my datastage runs in aix server alone, and my db run two hp server. Should I have to setup environment variable ,such as put the line : APT_ORACLE_NO_OPS=1 in profile? if not, is datastage is aware automatically?
2. if I use odbc entry as following paragraph:

WORKDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = a01-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = a02p-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = preqdb)
)
)

datastage use oracle enterprise load file data to table, do datastage try to lock target table concurrently in two nodes?
Post Reply