Sundaramurthy Blog

February 15, 2010

Streams Basic

Filed under: Oracle Streams (AQ ),Streams concept — sundar5 @ 6:57 pm

Streams has the ability to replicate both DML and DDL changes to objects in another database or within database.

There are three main processes in Streams environments

Capture

Propagate

Apply.

Capture process: The capture change step reads changes from redo logs. All changes like DML and DDL in redo logs are captured.

Generate LCR: This step examines each captured change, and determines if streams is configured to handle that change or not by using rule. Then this step converts that change into one or more logical change records (LCRs).

Basically, the capture process reads changes, the propagate process copies changes, and the apply process writes changes to the coresponding objects.

Enqueue Message: This step places  LCRs onto the capture process’s queue. This work is performed by background(q00n)  workers, and by the queue Monitor Coordinator(QMNC)process.

The propagate process copies messages from a source queue to a destination queue.
These transfers are done by the j00n (job queue) background processes.

Dequeue Message: This step removes (dequeues) messages from the destination queue. This is done by the apply reader process.

Apply Message: This step applies (writes) the contents of a dequeued message to the destination objects.
This step is performed by apply server processes.

views used for streams

Capture Process

dba_capture
dba_capture_parameters
streams$_capture_process
v$streams_capture

Propagate Process

dba_propagation
v$propagation_sender
v$propagation_receiver
streams$_propagation_process

Apply Process

v$streams_apply_coordinator
dba_apply
dba_apply_parameters
streams$_apply_process
v$streams_apply_reader
v$streams_apply_server

misc. view

v$buffered_queues

AQ_TM_PROCESSES : Do not explicitly set this parameter to 0 or 10. Doing so could disable the queue monitoring processing and impact the Streams pool memory utilization

DB_NAME :On each Streams database, specify the name that was given to the database when it was first created

DB_DOMAIN:On each Streams database, specify the network domain where the database resides

GLOBAL_NAME=TRUE :On each Streams database, specify GLOBAL_NAMES=TRUE to ensure that each database link used by Streams has the same name as the destination’s database GLOBAL_NAME to which the link points

JOB_QUEUE_PROCESSES=4: On each Streams database, specify JOB_QUEUE_PROCESSES=4 (the minimum recommended value) to start and use four job queue processes (jnnn) for Streams propagation jobs

_JOB_QUEUE_INTERVAL=1 On each Streams database, specify how many seconds the job queue is scanned for work. It is recommended that you set this parameter to 1 (seconds) to improve the propagation job performance and minimize the delay for how often propagation jobs will execute

SHARED_POOL_SIZE=256M :On each Streams database, set this parameter to a minimum value of 256 MB because Streams uses a significant amount of PL/SQL and library cache components

STREAMS_POOL_SIZE=256M:On each database where there is either a capture or apply process running

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

Create a free website or blog at WordPress.com.

%d bloggers like this: