Oracle Streams Syed Muhammad Abid Azam FA-07-MS-0054
Agenda Background Overview of Streams Uses of Streams Architecture of Oracle Streams Heterogeneous Information Sharing Examples Of Streams Configurations
Background One of the challenges of today's distributed business environments is the sharing of information among a multitude of applications and databases. As the number of applications grows, you end up with several databases, which may even be from different vendors. Sharing information in such a complex and disparate environment can be demanding.  Oracle Streams provides a flexible infrastructure that businesses can use to simplify information sharing tasks.
Overview of Streams Oracle Streams  captures database changes at a source database, stages the changes, propagates the changes to one or more destination databases, and then applies the changes at the destination database(s). Using Oracle Streams, enterprise systems can capture, propagate, and apply information as follows:  Within an Oracle database Between two Oracle databases Among multiple Oracle databases Between an Oracle database and a non-Oracle database
Uses of Streams Oracle Streams are used for the following Message Queuing Oracle Streams Advanced Queuing (AQ) enables user applications to enqueue messages into  queue, propagate messages to subscribing queues, notify user applications that messages are ready for consumption, and dequeue messages at the destination.  Data Replication Streams can capture DML and DDL changes made to database objects and replicate those changes to one or more other databases. Data Warehouse Loading Data warehouse loading is a special case of data replication. Some of the most critical tasks in creating and maintaining a data warehouse include refreshing existing data, and adding new data from the operational databases. Streams components can capture changes made to a production system and send those changes to a staging database or directly to a data warehouse or operational data store
Architecture of Oracle Streams The architecture of Oracle Streams is very flexible. It contains three basic elements.     Capture Staging Consumption
Capture Process Changes made to database objects in an Oracle database are logged in the redo log to guarantee recoverability in the event of user error or media failure.  A capture process is an Oracle background process that scans the database redo log to capture DML and DDL changes made to database objects.  A capture process formats these changes into messages called Logical change record (LCR) and enqueues them into a queue Locally:  A local capture process runs at the source database and captures changes from the local source database redo log. Remotely at a downstream database A real-time downstream capture  configuration means that the log writer process (LGWR) at the source database sends redo data from the online redo log to the downstream database. At the downstream database, the redo data is stored in the standby redo log, and the capture process captures changes from the standby redo log. An archived-log downstream capture  configuration means that archived redo log files from the source database are copied to the downstream database, and the capture process captures changes in these archived redo log files.
Message Staging and Propagation Streams uses queues to stage messages for propagation or consumption. Propagations send messages from one queue to another, and these queues can be in the same database or in different databases. The queue from which the messages are propagated is called the source queue, and the queue that receives the messages is called the destination queue. There can be a one-to-many, many-to-one, or many-to-many relationship between source and destination queues. Propagation from a Source Queue to a Destiniaton Queue Explicit Enqueue and Dequeue of Messages in a Single Queue Explicit Enqueue, Propagation, and Dequeue of Message
Overview of the Apply Process An apply process is an Oracle background process that dequeues messages from a queue and either applies each message directly to a database object or passes the message as a parameter to a user-defined procedure called an apply handler. Apply handlers include message handlers, DML handlers, DDL handler, precommit handlers, and error handlers.
Heterogeneous Information Sharing In addition to information sharing between Oracle databases, Streams supports information sharing between Oracle databases and non-Oracle databases. Oracle to Non-Oracle Data Sharing Non-Oracle to Oracle Data Sharing
Oracle to Non-Oracle Data Sharing If an Oracle database is the source and a non-Oracle database is the destination, then the non-Oracle database destination lacks the following Streams mechanisms: A queue to receive messages An apply process to dequeue and apply messages To share DML changes, the Oracle database functions as a proxy and carries out some of the steps that would normally be done at the destination database. That is, the messages intended for the non-Oracle destination database are dequeued in the Oracle database itself, and an apply process at the Oracle database uses Heterogeneous Services to apply the messages to the non-Oracle database across a network connection through a gateway.
Non-Oracle to Oracle Data Sharing To capture and propagate changes from a non-Oracle database to an Oracle database, a custom application is required. It gets the changes made to the non-Oracle database by reading from transaction logs, using triggers, or some other method. The application must assemble and order the transactions and must convert each change into an LCR. Next, the application must enqueue the LCRs into a queue in an Oracle database by using the PL/SQL interface, where they can be processed by an apply process.
Examples Of Streams Configurations Streams Configuration in a Single Database
Streams Configuration Sharing Information Between Databases
Thank you

More Related Content

PPT
Oracle streams-step-by-step-ppt
PPT
Managing Oracle Streams Using Enterprise Manager Grid Control
PPTX
Oracle database 12c new features
PPT
High Availability And Oracle Data Guard 11g R2
PDF
RACAttack 12c Advanced Lab: Server Pools and Policy-managed databases
PPT
Dataguard presentation
PDF
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
PPT
Oracle dataguard overview
Oracle streams-step-by-step-ppt
Managing Oracle Streams Using Enterprise Manager Grid Control
Oracle database 12c new features
High Availability And Oracle Data Guard 11g R2
RACAttack 12c Advanced Lab: Server Pools and Policy-managed databases
Dataguard presentation
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
Oracle dataguard overview

What's hot (20)

PDF
Active dataguard
PPTX
Oracle DBA Tutorial for Beginners -Oracle training institute in bangalore
PDF
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
PPT
Oracle DataGuard Online Training in USA | INDIA
PDF
Oracle RAC 12c and Policy-Managed Databases, a Technical Overview
PPSX
Oracle database 12c new features
PPTX
What’s new in oracle 12c recovery manager (rman)
PDF
Policy based cluster management in oracle 12c
DOCX
Data guard architecture
PDF
Presentation oracle net services
PPT
Active / Active configurations with Oracle Active Data Guard
PPTX
Data Guard25 August
PPTX
Oracle DBA
PPT
Oracle Data Guard
PPTX
Oracle dba training
PDF
153 Oracle dba interview questions
PDF
Oracle Data Guard A to Z
PPTX
Oracle Basics and Architecture
PDF
Enteros StarWest 2012 - Database load testing
PDF
Difference between sql server 2008 and sql server 2012
Active dataguard
Oracle DBA Tutorial for Beginners -Oracle training institute in bangalore
Nabil Nawaz Oracle Oracle 12c Data Guard Deep Dive Presentation
Oracle DataGuard Online Training in USA | INDIA
Oracle RAC 12c and Policy-Managed Databases, a Technical Overview
Oracle database 12c new features
What’s new in oracle 12c recovery manager (rman)
Policy based cluster management in oracle 12c
Data guard architecture
Presentation oracle net services
Active / Active configurations with Oracle Active Data Guard
Data Guard25 August
Oracle DBA
Oracle Data Guard
Oracle dba training
153 Oracle dba interview questions
Oracle Data Guard A to Z
Oracle Basics and Architecture
Enteros StarWest 2012 - Database load testing
Difference between sql server 2008 and sql server 2012
Ad

Similar to Oracle Streams (17)

PPT
Introduction to oracle
DOC
11g architecture
PDF
Message broker.pdf
PPT
Oracle 10g Introduction 1
PDF
2516186 oracle9i-dba-fundamentals-ii-volume-ii
PPS
Overview of oracle database
PPS
Overview of oracle database
PPTX
Event Driven Architecture
PDF
Oracle RDBMS architecture
PDF
PDF
Lecture6 introduction to data streams
PPTX
Leo's notes - Oracle DBA 2 Days
PPT
Oracle architecture
PDF
Datastream management system1
PPTX
The oracle database architecture
PPTX
Oracle Database Introduction
PDF
Data Streaming Technology Overview
Introduction to oracle
11g architecture
Message broker.pdf
Oracle 10g Introduction 1
2516186 oracle9i-dba-fundamentals-ii-volume-ii
Overview of oracle database
Overview of oracle database
Event Driven Architecture
Oracle RDBMS architecture
Lecture6 introduction to data streams
Leo's notes - Oracle DBA 2 Days
Oracle architecture
Datastream management system1
The oracle database architecture
Oracle Database Introduction
Data Streaming Technology Overview
Ad

Recently uploaded (20)

PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Tartificialntelligence_presentation.pptx
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPT
Geologic Time for studying geology for geologist
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPTX
Modernising the Digital Integration Hub
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
August Patch Tuesday
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
NewMind AI Weekly Chronicles – August ’25 Week III
Tartificialntelligence_presentation.pptx
O2C Customer Invoices to Receipt V15A.pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A novel scalable deep ensemble learning framework for big data classification...
Geologic Time for studying geology for geologist
Chapter 5: Probability Theory and Statistics
Taming the Chaos: How to Turn Unstructured Data into Decisions
A review of recent deep learning applications in wood surface defect identifi...
Modernising the Digital Integration Hub
Web Crawler for Trend Tracking Gen Z Insights.pptx
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
August Patch Tuesday
Getting started with AI Agents and Multi-Agent Systems
A comparative study of natural language inference in Swahili using monolingua...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...

Oracle Streams

  • 1. Oracle Streams Syed Muhammad Abid Azam FA-07-MS-0054
  • 2. Agenda Background Overview of Streams Uses of Streams Architecture of Oracle Streams Heterogeneous Information Sharing Examples Of Streams Configurations
  • 3. Background One of the challenges of today's distributed business environments is the sharing of information among a multitude of applications and databases. As the number of applications grows, you end up with several databases, which may even be from different vendors. Sharing information in such a complex and disparate environment can be demanding. Oracle Streams provides a flexible infrastructure that businesses can use to simplify information sharing tasks.
  • 4. Overview of Streams Oracle Streams captures database changes at a source database, stages the changes, propagates the changes to one or more destination databases, and then applies the changes at the destination database(s). Using Oracle Streams, enterprise systems can capture, propagate, and apply information as follows: Within an Oracle database Between two Oracle databases Among multiple Oracle databases Between an Oracle database and a non-Oracle database
  • 5. Uses of Streams Oracle Streams are used for the following Message Queuing Oracle Streams Advanced Queuing (AQ) enables user applications to enqueue messages into queue, propagate messages to subscribing queues, notify user applications that messages are ready for consumption, and dequeue messages at the destination. Data Replication Streams can capture DML and DDL changes made to database objects and replicate those changes to one or more other databases. Data Warehouse Loading Data warehouse loading is a special case of data replication. Some of the most critical tasks in creating and maintaining a data warehouse include refreshing existing data, and adding new data from the operational databases. Streams components can capture changes made to a production system and send those changes to a staging database or directly to a data warehouse or operational data store
  • 6. Architecture of Oracle Streams The architecture of Oracle Streams is very flexible. It contains three basic elements.   Capture Staging Consumption
  • 7. Capture Process Changes made to database objects in an Oracle database are logged in the redo log to guarantee recoverability in the event of user error or media failure. A capture process is an Oracle background process that scans the database redo log to capture DML and DDL changes made to database objects. A capture process formats these changes into messages called Logical change record (LCR) and enqueues them into a queue Locally: A local capture process runs at the source database and captures changes from the local source database redo log. Remotely at a downstream database A real-time downstream capture configuration means that the log writer process (LGWR) at the source database sends redo data from the online redo log to the downstream database. At the downstream database, the redo data is stored in the standby redo log, and the capture process captures changes from the standby redo log. An archived-log downstream capture configuration means that archived redo log files from the source database are copied to the downstream database, and the capture process captures changes in these archived redo log files.
  • 8. Message Staging and Propagation Streams uses queues to stage messages for propagation or consumption. Propagations send messages from one queue to another, and these queues can be in the same database or in different databases. The queue from which the messages are propagated is called the source queue, and the queue that receives the messages is called the destination queue. There can be a one-to-many, many-to-one, or many-to-many relationship between source and destination queues. Propagation from a Source Queue to a Destiniaton Queue Explicit Enqueue and Dequeue of Messages in a Single Queue Explicit Enqueue, Propagation, and Dequeue of Message
  • 9. Overview of the Apply Process An apply process is an Oracle background process that dequeues messages from a queue and either applies each message directly to a database object or passes the message as a parameter to a user-defined procedure called an apply handler. Apply handlers include message handlers, DML handlers, DDL handler, precommit handlers, and error handlers.
  • 10. Heterogeneous Information Sharing In addition to information sharing between Oracle databases, Streams supports information sharing between Oracle databases and non-Oracle databases. Oracle to Non-Oracle Data Sharing Non-Oracle to Oracle Data Sharing
  • 11. Oracle to Non-Oracle Data Sharing If an Oracle database is the source and a non-Oracle database is the destination, then the non-Oracle database destination lacks the following Streams mechanisms: A queue to receive messages An apply process to dequeue and apply messages To share DML changes, the Oracle database functions as a proxy and carries out some of the steps that would normally be done at the destination database. That is, the messages intended for the non-Oracle destination database are dequeued in the Oracle database itself, and an apply process at the Oracle database uses Heterogeneous Services to apply the messages to the non-Oracle database across a network connection through a gateway.
  • 12. Non-Oracle to Oracle Data Sharing To capture and propagate changes from a non-Oracle database to an Oracle database, a custom application is required. It gets the changes made to the non-Oracle database by reading from transaction logs, using triggers, or some other method. The application must assemble and order the transactions and must convert each change into an LCR. Next, the application must enqueue the LCRs into a queue in an Oracle database by using the PL/SQL interface, where they can be processed by an apply process.
  • 13. Examples Of Streams Configurations Streams Configuration in a Single Database
  • 14. Streams Configuration Sharing Information Between Databases