You are previewing Oracle 11g Streams Implementer's Guide.
O'Reilly logo
Oracle 11g Streams Implementer's Guide

Book Description

Design, implement, and maintain a distributed environment with Oracle Streams

  • Implement Oracle Streams to manage and coordinate the resources, information, and functions of a distributed system

  • Get to grips with in-depth explanations of the components that make up Oracle Streams, and how they work together

  • Learn design considerations that help identify and avoid Oracle Streams obstacles – before you get caught in them

  • Covers implementation steps with explanations of 'why' as well as 'how'

  • In Detail

    From smaller businesses through to huge enterprises – users all over the world often require access to data 24 hours a day. Distributed database systems proliferate the world of data sharing providing an ability to access real-time data anywhere, anytime. Oracle Streams, a built-in feature of the Oracle database, is a data replication and integration feature critical to the success and wellbeing of enterprises in today's fast moving economy. This book provides the reader with solid techniques to master Oracle Streams technology and successfully deploy distributed database systems.

    This book quickly goes over the basics and gets you up and running with a simple Oracle 11g Streams environment. It will serve as an excellent companion to the Oracle Streams Administration Guide. It is intended for Oracle database architects and administrators, and provides in-depth discussion on must-know information for the design, implementation, and maintenance of an Oracle Streams environment.

    The book does not attempt to regurgitate all the information in the Oracle Streams Administration Guides, but rather provides additional clarification and explanation of design, implementation, and troubleshooting concepts that are often elusive in Streams documentation. It also identifies helpful tools and Oracle resources to add to your knowledge base, as well as tried and tested tricks and tips to help you tame Oracle Streams.

    The book starts by introducing and explaining the components of Oracle Streams and how they work together. It then moves on logically, helping you to determine your distributed environment requirements and design your Streams implementation to meet those requirements. Once these concepts are discussed, the book moves to configuration and basic implementation examples to help solidify those concepts. It then addresses advanced features such as tags, down-stream capture, and conflict resolution. You then move on to maintenance techniques such as documenting the environment, effectively planning and implementing changes to the environment, and monitoring and troubleshooting the environment. When you have studied the techniques and completed the hands-on examples, you will have an understanding of Oracle Streams' core concepts and functionally that will allow you to successfully design, implement, and maintain an Oracle Streamed environment.

    Table of Contents

    1. Oracle 11g Streams Implementer's Guide
      1. Oracle 11g Streams Implementer's Guide
      2. Credits
      3. About the Authors
      4. About the Reviewers
      5. Preface
        1. Replication in general
          1. Distributed database systems
          2. What is Data Replication?
          3. How do "Replication" and "Distributed Systems" interact?
          4. Why would we want to replicate?
            1. Replication architecture
            2. Replication methods
            3. Replication configurations
        2. Oracle Streams
        3. What this book is (and is NOT)
        4. Who this book is for
        5. Conventions
        6. Reader feedback
        7. Customer support
          1. Errata
          2. Piracy
          3. Questions
      6. 1. All the Pieces: The Parts of an Oracle 11g Streams Environment
        1. Streams architecture overview
          1. Topology configurations
            1. Single source
              1. Single database
              2. Uni-directional
              3. Cascaded/directed network
              4. Hub-and-Spoke
            2. Multiple source
              1. Bi-directional/N-way/Master-to-Master
              2. Uni-directional Spokes-to-Hub
              3. Bi-directional Spoke-to-Hub
              4. Hybrid
              5. Heterogeneous
          2. Simultaneous versus Synchronous replication
          3. Oracle's Streams replication process flow
          4. Streams components
        2. About those Queues
        3. Capture process—what are we supposed to stream?
          1. Downstream Capture
          2. Synchronous Capture
        4. Instantiation
          1. What sets the instantiation SCN and when?
        5. Propagate process
          1. The Network: COMLINK
          2. Propagation success/failure
          3. Propagation Stream Split and Merge
        6. Apply process
          1. Trigger firing and Apply
        7. Combined Capture and Apply
        8. SCN Coordination—keeps it flowing smoothly
          1. The SCNs of Capture
            1. FIRST_SCN
            2. START_SCN
            4. CAPTURED_SCN
            5. APPLIED_SCN
            6. MAXIMUM_SCN
            7. LAST_ENQUEUED_SCN
            9. MAX_CHECKPOINT_SCN
          2. The SCNs of Propagation
          3. The SCNs of Apply
            1. IGNORE_SCN
            2. MAXIMUM_SCN
            3. OLDEST_SCN_NUM
            4. Low-watermark SCN
          4. SCN SYNC-hronization
          5. Capture checkpointing
          6. Archive Log availability
        9. LCRs—what they are and how they work
          1. Extracting data from an LCR
          2. Conflict detection and the LCR
            1. Controlling conflict detection
          3. Types of LCRs and how they get created
        10. Oracle 11g memory and storage architecture (basic) relating to Streams
        11. A word on performance
        12. Streams Change tables
        13. Oracle GoldenGate XSTREAMS
        14. Summary
      7. 2. Plot Your Course: Design Considerations
        1. Why?
        2. What?
        3. Where?
        4. Who and How?
        5. When and How?
        6. Other factors to consider
          1. Network capabilities
          2. Transaction sizes
          3. Potential queue growth
          4. Additional hardware resource requirements
          5. Administration and maintenance costs
          6. Third party application requirements
          7. Security
          8. Change auditing
          9. Platform and version compatibility
          10. KISS
          11. Design aid: Streams site matrix
            1. The Matrix template
        7. Summary
      8. 3. Prepare the Rafts and Secure Your Gear: The pre-work before configuring Oracle 11g Streams
        1. Network connectivity
          1. Check the waterways
          2. Configure the Oracle Net "Current"
        2. Configure the database
          1. Initialization parameters
          2. Logging features
            1. Archive logging
            2. Supplemental logging
            3. Forced logging
          3. Separate tablespaces
            1. LogMiner tablespace
            2. Streams Administration tablespace
        3. Streams users and privileges
          1. Trusted Streams Administrator user configuration
          2. Untrusted Streams capture, propagation, and apply user configuration
            1. Streams Administration user
            2. Capture user
            3. Propagation user
            4. Apply user
            5. Database links
          3. Trusted versus untrusted configurations
        4. Understanding your Instantiation tools
          1. Using Data Pump to Instantiate
          2. Setting Instantiation SCN manually
        5. Oracle Demo Schemas
        6. Summary
      9. 4. Single-Source Configuration
        1. The stream flows one way: Downhill
          1. The Enterprise Manager
            1. Setup options
              1. Configure replication
              2. Processes
              3. Directory objects
              4. Options
              5. Object selection
              6. Review
            2. Schedule Streams setup job
            3. Verify
          2. The code behind the curtain
            1. Checking the waters
            2. Diving in
            3. The proof is in the pudding (or propagation in this case)
          3. Sequences and triggers and Apply
          4. Other levels at which to replicate
            1. The beauty of DBMS_STREAMS_ADM.MAINTAIN_*
        2. Summary
      10. 5. N-Way Replication
        1. Pre-planning for N-way replication
        2. Avoiding conflict
        3. The setup
          1. Preliminary setup
          2. Streaming STRM1 to STRM2
          3. Streaming STRM2 to STRM1
        4. Conflict resolution
        5. Extending the example
        6. Rinse and repeat
        7. Summary
      11. 6. Get Fancy with Streams Advanced Configurations
        1. Synchronous Capture—straight to the Queue
        2. Subsetting — the micro side of replication
        3. Tag! — you're it
          1. The default behaviour of tags
          2. Making tags work for you
            1. Setting the tag value
            2. Evaluating tags at the replication process rule level
              1. INCLUDE_TAGGED_LCR
              2. INCLUSION_RULE
              3. AND_CONDITION
                1. LCR subprograms
            3. Tag usage
              1. Capture at the Hub
              2. Capture, Propagate, and Apply at each spoke
              3. Apply at the Hub
              4. Propagation at the Hub
        4. RULES — they're what we live by
          1. Rule components
            1. Rule conditions
            2. Rule evaluation context
            3. Action context
          2. Creating your own rules
            1. Rule creation
            2. Rule Sets
            3. Event context
            4. How it all comes together
          3. Rule based transformation — eat your heart out transformers!
            1. Declarative versus User Created
              1. Declarative transformation
              2. User created Rule Based Transformations (UCRBT)
              3. Transformation order of execution
            2. How the transformation is processed
              1. At the Capture (basic and synchronous)
              2. At the Propagation
              3. At the Apply
            3. Transformation errors
              1. At the Capture (basic and synchronous)
              2. At the Propagation
              3. At the Apply
          4. Things to remember when working with Rules
        5. Downstream Capture — avoid white water at the source
          1. Setting up the redo log transport
          2. Configuring the Streams part of DSC
        6. Streams change tables — just tracking the "Facts" Ma'am
        7. Automatic propagation split and merge — redirecting the current
        8. Basic Heterogeneous Configuration
          1. Configuring a Heterogeneous Apply process
          2. Data Transfer via Queue Messaging
        9. Basic XSTREAMS Configuration
          1. XSTREAMS Servers
            1. Configuring the Database
            2. Configuring XSTREAMS Out
              1. Steps for configuring an XSTREAMS Outbound Server
                1. Subsetting Rules for an Outbound Server
              2. Configuring XSTREAMS In
                1. Steps for configuring an XSTREAMS inbound server
        10. Summary
      12. 7. Document What You Have and How It Is Working
        1. Mapping the Stream
        2. The Stream without a map
          1. Making the map
        4. Basic Streams views
        5. UTL_SPADV
          1. Automating the collection of Streams performance data
        6. Summary
      13. 8. Dealing with the Ever Constant Tides of Change
        1. Affecting expected change effectively
          1. Changing States: Starting and stopping processes
          2. Database changes
            1. Structure changes to existing objects
            2. Data changes — beware the bulk load!
          3. Expanding your Streamed environment
            1. Example: Adding a Master Site
              1. Time based values used for comparision and time zones.
            2. Example: Adding a table to a replicated schema
          4. Shrinking the Streamed environment
            1. Removing table, scheme, and tablespace level replication from Streams
            2. Removing a site from a Streamed environment
        2. Troubleshooting unexpected changes and resulting Streams errors
          1. Failure Points and Most Likely Causes (a.k.a. FPs and MLCs)
            1. Failure Point 1: DML/DDL statement commit logging
              1. Successful commit
              2. NOLOGGING option
              3. Archive Log mode
            2. Failure Point 2: LogMiner
              1. Supplemental logging
              2. _LOG_PARALLELISM
            3. Failure Point 3: Capture process and rules
              1. Memory allocation
              2. Capture process status
              3. Capture queue designation
              4. Capture Rules and Rule Sets
            4. Failure Point 4: Capture enqueue
              1. Capture user privileges
            5. Failure Point 5: Propagation dequeue from Capture queue
              1. Propagation Status
              2. Propagation source configuration
              3. Propagation Job
            6. Failure Point 6: Propagation Rules
            7. Failure Point 7: Database link configuration
            8. Failure Point 8: Network connectivity and stability
            9. Failure Point 9: Propagation enqueue to the Apply queue
              1. Destination availability
              2. Propagation destination configuration
            10. Failure Point 10: Apply dequeue
              1. Apply process status
              2. Apply user privileges
            11. Failure Point 11: Apply Rules
              1. Apply latency
            12. Failure Point 12: Conflict detection and resolution rules
            13. Failure Point 13: Apply Errors
          2. Troubleshooting tools
            1. Enterprise Manager: Streams management
              1. Streams Overview
            2. Command line packages and scripts
            3. Compare and Converge divergent data.
              1. Comparing data
              2. Oracle HealthCheck
              3. Custom QuickCheck
              4. Extract LCRs.
              5. Tricks and tips
              6. Keep propagation going on an unstable network
              7. How to change a Streams process Rule
        3. Summary
      14. 9. Appendix and Glossary
        1. Oracle Streams Commander
        2. Streams and Oracle RAC
        3. Oracle GoldenGate
        4. Glossary
        5. Summary