Sources about Streams

Streams is one of the least documented Oracle features. I’m used to start my research into a new area by reading few examples of how others used this feature. In the case of streams, very few examples were found and I had to work directly from Oracle documentation (the horrors!).

Here are the sources I’ve used while studying streams:

Lewis C. has the only useful example of streams I was able to find. In two parts. It was a good start but very soon I learned that streams is so customizable, that my use case is going to be very different than his.

Oracle’s Stream Replication Administrator Guide – Also known as “Everything you ever wanted to know about streams replication”. I found myself spending more time with this document than I did with my husband. At this point in the project I can cite entire sections verbatim. This is the streams replication Bible.

Oracle’s Streams Concepts and Administration Guide – Thats the second most important document. I started my project by reading the concepts part of it, and then referred to the administration part during the implementation stage. The chapter about monitoring was especially useful.

PL/SQL Packages Reference, DBMS_STREAMS_ADM – Documents the actual functions I’ve used. Of course, you can’t live without it – because you’ll always want to do things a bit differently from the examples in the administration guide.

If I were doing this project on 11g, I’d probably also try reading Oracle Database 2 Day + Data Replication and Integration Guide. But I only found out about this one today.

I’ll publish my own streams example in a day or two, so there will be at least one more example to work with.

7 Comments on “Sources about Streams”

  1. LewisC says:

    Hi Chen,

    You’re right. There’s not much out there. Advanced replication has at least one advantage in that you can only do it in so many ways. With streams, you can do anything you can think of, for the most part.

    Take care,


  2. Asif Momen says:

    Hi Chen,

    Yes, there are not many article’s available on net about Streams.

    I have written an article on Oracle Streams which is available on Metalink (Note Id: 431430.1). This article discusses upgrading Oracle 9i to 10g with minimum downtime. Basically, its a full database replication employing Oracle Streams.

    Hope we get to see some good examples on your blog.


    Asif Momen

  3. Hey there Chen!

    I’ve been working with Streams for the past week too! You’re right — not much out there. And the documentation is weak on Rules and confusing on Instantiation. Found a “bug” when trying to capture LOBs — they can’t be stored as NOLOGGING (which is obvious on the face of it — but the error message is extremely deceiving — says the column value type isn’t supported).

  4. prodlife says:

    Hi Asif,

    The problem with publishing on Metalink, is the risk that no one will ever find what you wrote… Metalink’s search engine is badly broken.

    Also, what were the reasons for using streams for full replication?

  5. prodlife says:

    Hi Dominic,

    Yes, the documentation has its problems. I left many comments about things that were obviously incorrect or misleading. I’m not sure what Oracle is doing with these comments, though.

    Regarding Instantiation – not only the documentation confusing, also dbms_streams sometimes creates buggy scripts 😦

  6. Asif Momen says:

    Hi Chen,

    We have a 24×7 database which was in 9i and we wanted to upgrade it to 10g with minimum downtime. Streams technology was best suited for this objective. We incurred around 5 minutes of downtime. We have to stop application servers from production (9i) and connected them to new production database (10g).

    We configured a bi-directional replication so that we can downgrade to 9i anytime after upgrade (even after weeks).

    Once the application was stable, we removed replication and trashed our old 9i database.

  7. prodlife says:

    Hi Asif,

    Nice idea. I especially liked how you configured it bidirectional for easy rollback.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s