Oracle Advanced Queue

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
tonystark622
Premium Member
Premium Member
Posts: 483
Joined: Thu Jun 12, 2003 4:47 pm
Location: St. Louis, Missouri USA

Oracle Advanced Queue

Post by tonystark622 »

Does anyone know if DataStage will work with Oracle Advanced Queue? I see a plug-in for MQ Series and I've seen literature on DataStage and another IBM message queueing product (something about Websphere, I think). I haven't seen anything about it being able to use Oracle Advanced Queue.

Thanks,
Tony
vmcburney
Participant
Posts: 3593
Joined: Thu Jan 23, 2003 5:25 pm
Location: Australia, Melbourne
Contact:

Post by vmcburney »

My understanding of Oracle Messaging can be accessed through an Oracle database or through an Internet protocol such as HTTP.

That means with the current version of DataStage you can probably enqueue and dequeue from DataStage by calling up custom PL/SQL procedures. You can also put a trigger onto a DataStage target table to enqueue based on DataStage inserts, deletes and updates.

In the next version of DataStage you should be able to use web services to talk to the queue directly. Using XML you have access to to Queue operations such as enqueue, dequeue, notification and propogation and to use DataStage for real time updates.

Vincent McBurney
Data Integration Services
www.intramatix.com
tonystark622
Premium Member
Premium Member
Posts: 483
Joined: Thu Jun 12, 2003 4:47 pm
Location: St. Louis, Missouri USA

Post by tonystark622 »

Thanks, Vincent. That's more than I knew about AQ. I'll look into it when I have a minute...

Tony
trobinson
Participant
Posts: 208
Joined: Thu Apr 11, 2002 6:02 am
Location: Saint Louis
Contact:

Post by trobinson »

We use AQ in exactly the method suggested by vmcburney. We use AQ, and the DataStage MQSeries plug-in as both sources and targets in our near realtime ODS processing jobs.
tonystark622
Premium Member
Premium Member
Posts: 483
Joined: Thu Jun 12, 2003 4:47 pm
Location: St. Louis, Missouri USA

Post by tonystark622 »

Todd,

So, you use an Oracle OCI stage to execute the Enqueue and Dequeue packages withink Oracle? Oh, wait, I see, you insert into an Oracle table and the trigger Enqueue's the inserted data into the AQ. Sorry for being slow. It's been an "interesting" day...[:)]

Thanks,
Tony
vmcburney
Participant
Posts: 3593
Joined: Thu Jan 23, 2003 5:25 pm
Location: Australia, Melbourne
Contact:

Post by vmcburney »

The MQSeries plugin is a message adaptor in the DataStage Extended edition. Sounds like Todd is using it to let DataStage jobs interact directly with the Advanced Queue, which is a better alternative than doing it in PL/SQL. Todd, if you have time could you describe one of your jobs and how you go about scheduling or triggering that job.

Vincent McBurney
Data Integration Services
www.intramatix.com
tonystark622
Premium Member
Premium Member
Posts: 483
Joined: Thu Jun 12, 2003 4:47 pm
Location: St. Louis, Missouri USA

Post by tonystark622 »

Vincent and Todd,

I'm somewhat confused (I know, this is news? [:)]). Does the MQSeries plug-in work with Oracle Advanced Queue? I didn't think that it did, but after what's been posted here, I'm not sure.

Vincent, how did you call the custom procedures to Enqueue the data (that's what I'm mostly interested in, at the moment)?

Thanks guys. This is one of the 1001 things I need to look into in the near future. [:)]

Tony
trobinson
Participant
Posts: 208
Joined: Thu Apr 11, 2002 6:02 am
Location: Saint Louis
Contact:

Post by trobinson »

Sorry, I tried to say two things with one sentence. My jobs use MQSeries as a source of data. The MqSeries stage has a wait time defined as -1 which means its realtime. The shutdown mechanism is triggered when a MQ Message of a user defined type arrives on the source queue. Some of my jobs target Oracle PL/SQL functions and procedures. I call these with both the OCI and ODBC connections. Within the ODBC connection calling a stored procedure I then invoke AQ. Some other jobs write directly to a MQ Series stage which means I put messages directly out to a queue. My previous post was trying to say I do it both ways. MQSeries plug-in does not work with AQ it works with MQSeries queues. Oracle's AQ functionality also works with MQSeries Queues. My recommendation would be to treat AQ as Oracle functionality, wrap it in a stored procedure and call the stored procedure from DataStage.
tonystark622
Premium Member
Premium Member
Posts: 483
Joined: Thu Jun 12, 2003 4:47 pm
Location: St. Louis, Missouri USA

Post by tonystark622 »

Exactly what I needed.

Thanks, Todd.

Tony
vmcburney
Participant
Posts: 3593
Joined: Thu Jan 23, 2003 5:25 pm
Location: Australia, Melbourne
Contact:

Post by vmcburney »

Sorry for confusing things! For a moment there I thought Todd was using the MQ plugin with AQ.

Vincent McBurney
Data Integration Services
www.intramatix.com
Post Reply