views:

373

answers:

1

This is from the Stream - AQ docs.

You can register system events, user events, and notifications on queues with Oracle Internet Directory. System events are database startup, database shutdown, and system error events. User events include user log on and user log off, DDL statements (create, drop, alter), and DML statement triggers. Notifications on queues include OCI notifications, PL/SQL notifications, and e-mail notifications.

Sounds interesting. What does this get me?

I mean these things look like DDL Triggers... So it's a matter of not building the DDL trigger in a database but instead building it in OID and letting OID manage the firing of the trigger?

+1  A: 

Having never used it, this is my guess.

Imagine you have a hundred databases, and you want to log every time people log into each one, you could do it on each individual server, but that would make answering questions like "Which databases did 'Mark' Login to" difficult". So, instead, you have each database register its "user logon" events with OID (via AQ), you then have a process receiving these events from OID and logging them. You then have a single point where you can audit system wide logins.

You can likely also use it to propagate messages from one AQ to another, and to lookup what queues exist within the system which can be subscribed to.

Matthew Watson
My guess as well, but I was looking for something definitive.