13 XStream Dynamic Performance (V$) Views

This chapter describes the dynamic performance (V$) views related to XStream. In an XStream configuration, an apply process can function as an XStream outbound server or inbound server.

This chapter contains these topics:

V$STREAMS_APPLY_COORDINATOR

V$STREAMS_APPLY_COORDINATOR displays information about each apply process coordinator. The coordinator for an apply process gets transactions from the apply process reader and passes them to apply servers. An apply process coordinator is a subcomponent of an apply process, outbound server, or inbound server.

Column Data Type Description
SID NUMBER Session ID of the coordinator's session
SERIAL# NUMBER Serial number of the coordinator's session
STATE VARCHAR2(21) State of the coordinator:
  • INITIALIZING - Starting up

  • IDLE - Performing no work

  • APPLYING - Passing transactions to apply servers

  • SHUTTING DOWN CLEANLY - Stopping without an error

  • ABORTING - Stopping because of an apply error

APPLY# NUMBER Apply process number

An apply process coordinator is an Oracle background process, prefixed by ap.

APPLY_NAME VARCHAR2(30) Name of the apply process
TOTAL_APPLIED NUMBER Total number of transactions applied by the apply process since the apply process was last started
TOTAL_WAIT_DEPS NUMBER Number of times since the apply process was last started that an apply server waited to apply a logical change record (LCR) in a transaction until another apply server applied a transaction because of a dependency between the transactions
TOTAL_WAIT_COMMITS NUMBER Number of times since the apply process was last started that an apply server waited to commit a transaction until another apply server committed a transaction to serialize commits
TOTAL_ADMIN NUMBER Number of administrative jobs issued since the apply process was last started
TOTAL_ASSIGNED NUMBER Number of transactions assigned to apply servers since the apply process was last started
TOTAL_RECEIVED NUMBER Total number of transactions received by the coordinator process since the apply process was last started
TOTAL_IGNORED NUMBER Number of transactions which were received by the coordinator but were ignored because they had been previously applied
TOTAL_ROLLBACKS NUMBER Number of transactions which were rolled back due to unexpected contention
TOTAL_ERRORS NUMBER Number of transactions applied by the apply process that resulted in an apply error since the apply process was last started
UNASSIGNED_COMPLETE_TXNS NUMBER Total number of complete transactions that the coordinator has not assigned to any apply servers
AUTO_TXN_BUFFER_SIZE NUMBER Current value of transaction buffer size

Transaction buffer size refers to the number of transactions that the apply reader can assemble ahead of apply servers. The apply process periodically adjusts the transaction buffer size.

LWM_TIME DATE Time when the message with the lowest message number was recorded

The creation time of the message with the lowest message number was also recorded at this time.

LWM_MESSAGE_NUMBER NUMBER Number of the message corresponding to the low-watermark

That is, messages with a commit message number less than or equal to this message number have definitely been applied, but some messages with a higher commit message number also may have been applied.

LWM_MESSAGE_CREATE_TIME DATE For captured messages, creation time at the source database of the message corresponding to the low-watermark. For user-enqueued messages, time when the message corresponding to the low-watermark was enqueued into the queue at the local database.
HWM_TIME DATE Time when the message with the highest message number was recorded

The creation time of the message with the highest message number was also recorded at this time.

HWM_MESSAGE_NUMBER NUMBER Number of the message corresponding to the high-watermark

That is, no messages with a commit message number greater than this message number have been applied.

HWM_MESSAGE_CREATE_TIME DATE For captured messages, creation time at the source database of the message corresponding to the high-watermark. For user-enqueued messages, time when the message corresponding to the high-watermark was enqueued into the queue at the local database.
STARTUP_TIME DATE Time when the apply process was last started
ELAPSED_SCHEDULE_TIME NUMBER Time elapsed (in hundredths of a second) scheduling messages since the apply process was last started
ELAPSED_IDLE_TIME NUMBER Elapsed idle time
LWM_POSITION RAW(64) Position of the low-watermark LCR
HWM_POSITION RAW(64) Position of the high-watermark LCR
PROCESSED_MESSAGE_NUMBER NUMBER Message number currently processed by the apply coordinator

Note:

The ELAPSED_SCHEDULE_TIME column is only populated if the TIMED_STATISTICS initialization parameter is set to true, or if the STATISTICS_LEVEL initialization parameter is set to TYPICAL or ALL.

V$STREAMS_APPLY_READER

V$STREAMS_APPLY_READER displays information about each apply reader. The apply reader is a process which reads (dequeues) messages from the queue, computes message dependencies, and builds transactions. It passes the transactions on to the coordinator in commit order for assignment to the apply servers. An apply reader is a subcomponent of an apply process, outbound server, or inbound server.

Column Data Type Description
SID NUMBER Session ID of the reader's session
SERIAL# NUMBER Serial number of the reader's session
APPLY# NUMBER Apply process number

An apply process is an Oracle background process prefixed by ap.

APPLY_NAME VARCHAR2(30) Name of the apply process
STATE VARCHAR2(36) State of the reader:
  • INITIALIZING - Starting up.

  • IDLE - Performing no work.

  • DEQUEUE MESSAGES - Dequeuing messages from the queue.

  • SCHEDULE MESSAGES - Computing dependencies between messages and assembling messages into transactions.

  • SPILLING - Spilling unapplied messages from memory to hard disk.

  • PAUSED - WAITING FOR DDL TO COMPLETE - Waiting for a data definition language (DDL) LCR to be applied.

TOTAL_MESSAGES_DEQUEUED NUMBER Total number of messages dequeued since the apply process was last started
TOTAL_MESSAGES_SPILLED NUMBER Number of messages spilled by the reader since the apply process was last started
DEQUEUE_TIME DATE Time when the last message was received
DEQUEUED_MESSAGE_NUMBER NUMBER Number of the last message received
DEQUEUED_MESSAGE_CREATE_TIME DATE For captured messages, creation time at the source database of the last message received. For user-enqueued messages, time when the message was enqueued into the queue at the local database.
SGA_USED NUMBER Amount (in bytes) of SGA memory used by the apply process since it was last started
ELAPSED_DEQUEUE_TIME NUMBER Time elapsed (in hundredths of a second) dequeuing messages since the apply process was last started
ELAPSED_SCHEDULE_TIME NUMBER Time elapsed (in hundredths of a second) scheduling messages since the apply process was last started. Scheduling includes computing dependencies between messages and assembling messages into transactions.
ELAPSED_SPILL_TIME NUMBER Elapsed time (in hundredths of a second) spent spilling messages since the apply process was last started
LAST_BROWSE_NUM NUMBER Reserved for internal use
OLDEST_SCN_NUM NUMBER Oldest SCN
LAST_BROWSE_SEQ NUMBER Reserved for internal use
LAST_DEQ_SEQ NUMBER Last dequeue sequence number
OLDEST_XIDUSN NUMBER Transaction ID undo segment number of the oldest transaction that either has been applied or is being applied
OLDEST_XIDSLT NUMBER Transaction ID slot number of the oldest transaction that either has been applied or is being applied
OLDEST_XIDSQN NUMBER Transaction ID sequence number of the oldest transaction that either has been applied or is being applied
SPILL_LWM_SCN NUMBER Spill low-watermark SCN
PROXY_SID NUMBER When the apply process uses combined capture and apply, the session ID of the propagation receiver that is responsible for direct communication between capture and apply. If the apply process does not use combined capture and apply, then this column is 0.
PROXY_SERIAL NUMBER When the apply process uses combined capture and apply, the serial number of the propagation receiver that is responsible for direct communication between capture and apply. If the apply process does not use combined capture and apply, then this column is 0.
PROXY_SPID VARCHAR2(12) When the apply process uses combined capture and apply, the process identification number of the propagation receiver that is responsible for direct communication between capture and apply. If the apply process does not use combined capture and apply, then this column is 0.
CAPTURE_BYTES_RECEIVED NUMBER When the apply process uses combined capture and apply, the number of bytes received by the apply process from the capture process since the apply process last started. If the apply process does not use combined capture and apply, then this column is not populated.
DEQUEUED_POSITION RAW(64) Dequeued position

This column is populated only for an apply process that is functioning as an XStream inbound server.

LAST_BROWSE_POSITION RAW(64) Reserved for internal use
OLDEST_POSITION RAW(64) The earliest position of the transactions currently being dequeued and applied

This column is populated only for an apply process that is functioning as an XStream inbound server.

SPILL_LWM_POSITION RAW(64) Spill low-watermark position

This column is populated only for an apply process that is functioning as an XStream inbound server.

OLDEST_TRANSACTION_ID VARCHAR2(128) Oldest transaction ID
TOTAL_LCRS_WITH_DEP NUMBER Total number of LCRs with row-level dependencies since the apply process last started
TOTAL_LCRS_WITH_WMDEP NUMBER Total number of LCRs with watermark dependencies since the apply process last started

A watermark dependency occurs when an apply process must wait until the apply process's low-watermark reaches a particular threshold.

TOTAL_IN_MEMORY_LCRS NUMBER Total number of LCRs currently in memory
SGA_ALLOCATED NUMBER The total amount of shared memory (in bytes) allocated from the Streams pool for the apply process since the apply process last started

Note:

The ELAPSED_DEQUEUE_TIME and ELAPSED_SCHEDULE_TIME columns are only populated if the TIMED_STATISTICS initialization parameter is set to true, or if the STATISTICS_LEVEL initialization parameter is set to TYPICAL or ALL.

V$STREAMS_APPLY_SERVER

V$STREAMS_APPLY_SERVER displays information about each apply server and its activities. An apply server receives messages from the apply coordinator for an apply process. For each message received, an apply server either applies the message or sends the message to the appropriate apply handler. An apply server is a subcomponent of an apply process, outbound server, or inbound server.

Column Data Type Description
SID NUMBER Session ID of the apply server's session
SERIAL# NUMBER Serial number of the apply server's session
APPLY# NUMBER Apply process number

An apply process is an Oracle background process prefixed by ap.

APPLY_NAME VARCHAR2(30) Name of the apply process
SERVER_ID NUMBER Parallel execution server number of the apply server
STATE VARCHAR2(20) State of the apply server:
  • INITIALIZING - Starting up.

  • IDLE - Performing no work.

  • RECORD LOW-WATERMARK - Performing an administrative job that maintains information about the apply progress, which is used in the ALL_APPLY_PROGRESS and DBA_APPLY_PROGRESS data dictionary views.

  • ADD PARTITION - Performing an administrative job that adds a partition that is used for recording information about in-progress transactions.

  • DROP PARTITION - Performing an administrative job that purges rows that were used to record information about in-progress transactions.

  • EXECUTE TRANSACTION - Applying a transaction.

  • WAIT COMMIT - Waiting to commit a transaction until all other transactions with a lower commit SCN are applied. This state is possible only if the COMMIT_SERIALIZATION apply process parameter is set to a value other than DEPENDENT_TRANSACTIONS and the PARALLELISM apply process parameter is set to a value greater than 1.

  • WAIT DEPENDENCY - Waiting to apply an LCR in a transaction until another transaction, on which it has a dependency, is applied. This state is possible only if the PARALLELISM apply process parameter is set to a value greater than 1.

  • ROLLBACK TRANSACTION - Rolling back a transaction.

  • TRANSACTION CLEANUP - Cleaning up an applied transaction, which includes removing LCRs from the apply process's queue.

  • WAIT FOR CLIENT - Waiting for an XStream client application to request more LCRs.

  • WAIT FOR NEXT CHUNK - Waiting for the next set of LCRs for a large transaction.

XIDUSN NUMBER Transaction ID undo segment number of the transaction currently being applied
XIDSLT NUMBER Transaction ID slot number of the transaction currently being applied
XIDSQN NUMBER Transaction ID sequence number of the transaction currently being applied
COMMITSCN NUMBER Commit SCN of the transaction currently being applied
DEP_XIDUSN NUMBER Transaction ID undo segment number of a transaction on which the transaction being applied by this apply server depends
DEP_XIDSLT NUMBER Transaction ID slot number of a transaction on which the transaction being applied by this apply server depends
DEP_XIDSQN NUMBER Transaction ID sequence number of a transaction on which the transaction being applied by this apply server depends
DEP_COMMITSCN NUMBER Commit SCN of the transaction on which this apply server depends
MESSAGE_SEQUENCE NUMBER Number of the current message being applied by the apply server. This value is reset to 1 at the beginning of each transaction.
TOTAL_ASSIGNED NUMBER Total number of transactions assigned to the apply server since the apply process was last started
TOTAL_ADMIN NUMBER Total number of administrative jobs done by the apply server since the apply process was last started. See the STATE information in this view for the types of administrative jobs.
TOTAL_ROLLBACKS NUMBER Number of transactions assigned to this server that were rolled back
TOTAL_MESSAGES_APPLIED NUMBER Total number of messages applied by this apply server since the apply process was last started
APPLY_TIME DATE Time the last message was applied
APPLIED_MESSAGE_NUMBER NUMBER Number of the last message applied
APPLIED_MESSAGE_CREATE_TIME DATE Creation time at the source database of the last captured message applied. No information about user-enqueued messages is recorded in this column.
ELAPSED_DEQUEUE_TIME NUMBER Time elapsed (in hundredths of a second) dequeuing messages since the apply process was last started
ELAPSED_APPLY_TIME NUMBER Time elapsed (in hundredths of a second) applying messages since the apply process was last started
COMMIT_POSITION RAW(64) Commit position of the transaction.

This column is populated only for an apply process that is functioning as an XStream outbound server or inbound server.

DEP_COMMIT_POSITION RAW(64) Commit position of the transaction the slave depends on

This column is populated only for an apply process that is functioning as an XStream inbound server.

LAST_APPLY_POSITION RAW(64) For inbound servers, the position of the last message applied; for outbound servers, the position of the last message sent to the XStream client application

This column is populated only for an apply process that is functioning as an XStream outbound server or inbound server.

TRANSACTION_ID VARCHAR2(128) Transaction ID that the slave is applying

This column is populated only for an apply process that is functioning as an XStream inbound server.

DEP_TRANSACTION_ID VARCHAR2(128) Transaction ID of the transaction the slave depends on

This column is populated only for an apply process that is functioning as an XStream inbound server.


Note:

  • The ELAPSED_DEQUEUE_TIME and ELAPSED_APPLY_TIME columns are only populated if the TIMED_STATISTICS initialization parameter is set to true, or if the STATISTICS_LEVEL initialization parameter is set to TYPICAL or ALL.

  • The WAIT FOR NEXT CHUNK apply server state is available starting with Oracle Database 11g Release 2 (11.2.0.2).

V$XSTREAM_CAPTURE

Note:

This functionality is available starting with Oracle Database 11g Release 2 (11.2.0.2).

V$XSTREAM_CAPTURE displays information about each capture process that sends LCRs to an XStream outbound server.

Note:

This view does not display information about capture processes that send LCRs to Oracle Streams apply processes. To view information about such capture processes, query the V$STREAMS_CAPTURE view.
Column Data Type Description
SID NUMBER Session identifier of the capture process
SERIAL# NUMBER Session serial number of the capture process session
CAPTURE# NUMBER Capture process number

A capture process is an Oracle background process prefixed by cp.

CAPTURE_NAME VARCHAR2(30) Name of the capture process
LOGMINER_ID NUMBER Session ID of the Oracle LogMiner session associated with the capture process
STARTUP_TIME DATE Time when the capture process was last started
STATE VARCHAR2(551) State of the capture process:
  • INITIALIZING - Starting up.

  • WAITING FOR DICTIONARY REDO - Waiting for redo log files containing the dictionary build related to the first SCN to be added to the capture process session. A capture process cannot begin to scan the redo log files until all of the log files containing the dictionary build have been added.

  • DICTIONARY INITIALIZATION - Processing a dictionary build.

  • MINING (PROCESSED SCN = scn_value) - Mining a dictionary build at the SCN scn_value.

  • LOADING (step X of Y) - Processing information from a dictionary build and currently at step X in a process that involves Y steps, where X and Y are numbers.

  • CAPTURING CHANGES - Scanning the redo log for changes that satisfy the capture process rule sets.

  • WAITING FOR REDO - Waiting for new redo log files to be added to the capture process session. The capture process has finished processing all of the redo log files added to its session. This state is possible if there is no activity at a source database. For a downstream capture process, this state is possible if the capture process is waiting for new log files to be added to its session.

  • EVALUATING RULE - Evaluating a change against a capture process rule set.

  • CREATING LCR - Converting a change into an LCR.

  • ENQUEUING MESSAGE - Enqueuing an LCR that satisfies the capture process rule sets into the capture process queue.

  • PAUSED FOR FLOW CONTROL - Unable to enqueue LCRs either because of low memory or because propagations and outbound servers are consuming messages slower than the capture process is creating them. This state indicates flow control that is used to reduce spilling of captured LCRs when propagation or apply has fallen behind or is unavailable.

  • WAITING FOR THE BUFFERED QUEUE TO SHRINK - Waiting for the buffered queue to change to a smaller size. The buffered queue shrinks when there is a memory limitation or when an administrator reduces its size.

  • WAITING FOR n SUBSCRIBER(S) INITIALIZING - Waiting for outbound servers that receive LCRs from the capture process to start, where n is the number of outbound servers.

  • WAITING FOR TRANSACTION - Waiting for LogMiner to provide more transactions.

  • WAITING FOR INACTIVE DEQUEUERS - Waiting for the capture process's queue subscribers to start. The capture process stops enqueuing LCRs if there are no active subscribers to the queue.

  • SUSPENDED FOR AUTO SPLIT/MERGE - Waiting for a merge operation to complete.

  • SHUTTING DOWN - Stopping.

  • ABORTING - Aborting.

TOTAL_PREFILTER_DISCARDED NUMBER Total number of prefiltered messages discarded
TOTAL_PREFILTER_KEPT NUMBER Total number of prefiltered messages kept
TOTAL_PREFILTER_EVALUATIONS NUMBER Total number of prefilter evaluations
TOTAL_MESSAGES_CAPTURED NUMBER Total number of redo entries passed by LogMiner to the capture process for detailed rule evaluation since the capture process last started. A capture process converts a redo entry into a message and performs detailed rule evaluation on the message when capture process prefiltering cannot discard the change.
CAPTURE_TIME DATE Time when the most recent message was captured
CAPTURE_MESSAGE_NUMBER NUMBER Number of the most recently captured message
CAPTURE_MESSAGE_CREATE_TIME DATE Creation time of the most recently captured message
TOTAL_MESSAGES_CREATED NUMBER Count associated with ELAPSED_LCR_TIME to calculate rate
TOTAL_FULL_EVALUATIONS NUMBER Count associated with ELAPSED_RULE_TIME to calculate rate
TOTAL_MESSAGES_ENQUEUED NUMBER Total number of messages enqueued since the capture process was last started
ENQUEUE_TIME DATE Time when the last message was enqueued
ENQUEUE_MESSAGE_NUMBER NUMBER Number of the last enqueued message
ENQUEUE_MESSAGE_CREATE_TIME DATE Creation time of the last enqueued message
AVAILABLE_MESSAGE_NUMBER NUMBER For local capture, the last redo SCN flushed to the log files. For downstream capture, the last SCN added to LogMiner through the archived redo log files.
AVAILABLE_MESSAGE_CREATE_TIME DATE For local capture, the time the SCN was written to the log file. For downstream capture, the time the most recent archived redo log file (containing the most recent SCN) was added to LogMiner.
ELAPSED_CAPTURE_TIME NUMBER Elapsed time (in hundredths of a second) scanning for changes in the redo log since the capture process was last started
ELAPSED_RULE_TIME NUMBER Elapsed time (in hundredths of a second) evaluating rules since the capture process was last started
ELAPSED_ENQUEUE_TIME NUMBER Elapsed time (in hundredths of a second) enqueuing messages since the capture process was last started
ELAPSED_LCR_TIME NUMBER Elapsed time (in hundredths of a second) creating LCRs since the capture process was last started
ELAPSED_REDO_WAIT_TIME NUMBER Elapsed time (in hundredths of a second) spent by the capture process in the WAITING FOR REDO state
ELAPSED_PAUSE_TIME NUMBER Elapsed flow control pause time (in hundredths of a second)
STATE_CHANGED_TIME DATE Time at which the state of the capture process changed
SGA_USED NUMBER The total amount of shared memory (in bytes) currently used by the capture process out of the amount allocated (SGA_ALLOCATED)
SGA_ALLOCATED NUMBER The total amount of shared memory (in bytes) allocated from the Streams pool for the capture process
BYTES_OF_REDO_MINED VARCHAR2(64) The total amount of redo data mined (in bytes) since the capture process last started
SESSION_RESTART_SCN VARCHAR2(64) The SCN from which the capture process started mining redo data when it was last started

Note:

The ELAPSED_CAPTURE_TIME, ELAPSED_RULE_TIME, ELAPSED_ENQUEUE_TIME, ELAPSED_LCR_TIME, and ELAPSED_REDO_WAIT_TIME columns are only populated if the TIMED_STATISTICS initialization parameter is set to true, or if the STATISTICS_LEVEL initialization parameter is set to TYPICAL or ALL.

V$XSTREAM_MESSAGE_TRACKING

Note:

This functionality is available starting with Oracle Database 11g Release 2 (11.2.0.2).

V$XSTREAM_MESSAGE_TRACKING displays information about LCRs tracked through the stream that are processed by XStream components.

You can track an LCR through a stream using one of the following methods:

  • Set the message_tracking_frequency capture process parameter to 1 or another relatively low value.

  • Run the SET_MESSAGE_TRACKING procedure in the DBMS_STREAMS_ADM package.

    When the actions parameter in the DBMS_STREAMS_ADM.SET_MESSAGE_TRACKING procedure is set to DBMS_STREAMS_ADM.ACTION_MEMORY, information about the LCRs is tracked in memory, and this view is populated with information about the LCRs. Currently, DBMS_STREAMS_ADM.ACTION_MEMORY is the only valid setting for the actions parameter in the procedure.

Note:

This view does not display information about messages flowing in an Oracle Streams configuration. To view information about such message streams, query the V$STREAMS_MESSAGE_TRACKING view.
Column Data Type Description
TRACKING_LABEL VARCHAR2(30) User-specified tracking label
TAG RAW(30) First 30 bytes of the tag of the LCR
COMPONENT_NAME VARCHAR2(30) Name of the component that processed the LCR
COMPONENT_TYPE VARCHAR2(30) Type of the component that processed the LCR
ACTION VARCHAR2(50) Action performed on the LCR
ACTION_DETAILS VARCHAR2(100) Details of the action
TIMESTAMP TIMESTAMP(9) WITH TIME ZONE Time when the action was performed
MESSAGE_CREATION_TIME DATE Time when the message was created
MESSAGE_NUMBER NUMBER SCN of the message
TRACKING_ID RAW(16) Globally unique OID of the LCR
SOURCE_DATABASE_NAME VARCHAR2(128) Name of the source database
OBJECT_OWNER VARCHAR2(30) Owner of the object
OBJECT_NAME VARCHAR2(30) Name of the object
XID VARCHAR2(128) Transaction ID
COMMAND_TYPE VARCHAR2(30) Command type of the LCR
MESSAGE_POSITION RAW(64) Position of the message

V$XSTREAM_OUTBOUND_SERVER

Note:

This functionality is available starting with Oracle Database 11g Release 2 (11.2.0.2).

V$XSTREAM_OUTBOUND_SERVER displays statistics about an outbound server. An outbound server sends LCRs to an XStream client application.

Note:

When the COMMITTED_DATA_ONLY column is YES in the V$XSTREAM_OUTBOUND_SERVER view, the V$STREAMS_APPLY_SERVER view provides additional information about the outbound server process, and information about the apply server background processes used by the outbound server.
Column Data Type Description
SID NUMBER Session ID of the outbound server's session
SERIAL# NUMBER Serial number of the outbound server's session
SPID VARCHAR2(12) Process identification number of the operating-system process that sends LCRs to the client application
SERVER_NAME VARCHAR2(30) Name of the outbound server
STARTUP_TIME DATE Time when the client application attached to the outbound server
STATE VARCHAR2(37) State of the outbound server

When the COMMITTED_DATA_ONLY column shows YES, the following states are possible:

  • INITIALIZING - Starting up the outbound server.

  • IDLE - Performing no work because there are no LCRs to send to the XStream client application.

  • GET TRANSACTIONS - Receiving transactions from the outbound server's apply coordinator.

  • SEND TRANSACTION - Sending a transaction to an XStream client application.

  • WAIT FOR NEXT CHUNK - Waiting for the next set of LCRs for a large transaction.

  • TRANSACTION CLEANUP - Cleaning up an applied transaction, which includes removing LCRs from the outbound server's queue.

  • WAIT FOR CLIENT - Waiting for an XStream client application to request more LCRs.

When the COMMITTED_DATA_ONLY column shows NO, the following states are possible:

  • INITIALIZING - Starting up the outbound server.

  • INITIALIZING RULE EVALUATION CONTEXT - Initializing the context to evaluate the outbound server's rules.

  • IDLE - Performing no work because there are no LCRs to send to the XStream client application.

  • BROWSING LCR - Browsing the outbound server's queue for the next LCR.

  • EVALUATING RULES - Evaluating an LCR against a rule set.

  • DEQUEUING LCR - Dequeuing an LCR from the outbound server's queue.

  • SENDING LCR - Sending an LCR to an XStream client application.

  • WAITING FOR CAPTURE TO TERMINATE - Waiting for the capture process to become disabled.

  • SUSPENDED DUE TO A DROPPED SUBSCRIBER - Suspended because a connected subscriber was dropped. For example, a subscriber can be dropped during a split or merge operation.

  • SUSPENDED FOR AUTO SPLIT/MERGE - Suspended because an automatic split or merge operation is being performed.

  • WAITING ON EMPTY QUEUE - Waiting for more LCRs from the capture process.

  • WAITING FOR CLIENT - Waiting for the XStream client application to request more LCRs.

  • WAITING FOR CAPTURE TO INITIALIZE - Waiting for the capture process to finish the data dictionary build.

  • WAITING TO ATTACH TO CAPTURE - Waiting for the outbound server to attach to the capture process.

When a state refers to a capture process, it is the capture process that captures changes for the outbound server. When a state refers to a propagation, it is the outbound server that sends LCRs to the XStream client application.

XIDUSN NUMBER Transaction ID undo segment number of the transaction currently being processed

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

XIDSLT NUMBER Transaction ID slot number of the transaction currently being processed

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

XIDSQN NUMBER Transaction ID sequence number of the transaction currently being processed

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

COMMITSCN NUMBER Commit SCN of the transaction currently being processed

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

TOTAL_TRANSACTIONS_SENT NUMBER Total number of transactions sent by the outbound server to the XStream client application since the last time the client application attached to the outbound server

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

MESSAGE_SEQUENCE NUMBER Number of the current LCR being processed by the outbound server. This value is reset to 1 at the beginning of each transaction.

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

TOTAL_MESSAGES_SENT NUMBER Total number of LCRs sent by the outbound server to the XStream client application since the last time the client application attached to the outbound server
SEND_TIME DATE Time the last LCR was sent by the outbound server to the XStream client application
LAST_SENT_MESSAGE_NUMBER NUMBER Message number of the last LCR sent by the outbound server to the XStream client application
LAST_SENT_MESSAGE_CREATE_TIME DATE Creation time at the source database of the last LCR sent by the outbound server to the client application
ELAPSED_SEND_TIME NUMBER Time elapsed (in hundredths of a second) sending LCRs to the XStream client application since the last time the client application attached to the outbound server
COMMIT_POSITION RAW(64) Commit position of the transaction currently being processed

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

LAST_SENT_POSITION RAW(64) Position of the last LCR sent to the XStream client application

This column is populated only if the COMMITTED_DATA_ONLY column shows YES. When the COMMITTED_DATA_ONLY column shows NO, this column is NULL.

BYTES_SENT NUMBER Total number of bytes sent by the outbound server to the XStream client application since the last time the client application attached to the outbound server
COMMITTED_DATA_ONLY VARCHAR2(3) YES if the outbound server can send only LCRs in committed transactions to the XStream client application. A committed transaction is an assembled, noninterleaving transaction with no rollbacks.

NO if the outbound server can send LCRs in transactions that have not yet committed to the XStream client application. This mode is for internal Oracle use only.


V$XSTREAM_TRANSACTION

Note:

This functionality is available starting with Oracle Database 11g Release 2 (11.2.0.2).

V$XSTREAM_TRANSACTION displays information about transactions that are being processed by capture processes, outbound servers, and inbound servers. This view can identify long running transactions and display how many LCRs are being processed in each transaction. This view only contains information about captured LCRs. It does not contain information about user-enqueued LCRs or user messages.

This view only shows information about LCRs that are being processed because they satisfied the rule sets for the component at the time of the query. For capture processes, this view only shows information about changes in transactions that the capture process has converted into LCRs. It does not show information about all the active transactions present in the redo log.

For outbound servers, this view only shows information about LCRs that the outbound server has dequeued. It does not show information about LCRs in the outbound server's queue. For outbound servers, information about a transaction remains in the view until the transaction is sent to the XStream client application.

For inbound servers, information about a transaction remains in the view until the transaction commits or until the entire transaction is rolled back.

Note:

This view does not display information about Oracle Streams transactions. To view information about Oracle Streams transactions, query the V$STREAMS_TRANSACTION view.
Column Data Type Description
COMPONENT_NAME VARCHAR2(30) Name of the component
COMPONENT_TYPE VARCHAR2(10) Type of component:
  • CAPTURE for a capture process

  • APPLY for the apply reader subcomponent in an outbound server or inbound server

  • PROPAGATION_SENDER for the propagation sender that sends LCRs from a capture process to an outbound server

XIDUSN NUMBER Transaction ID undo segment number of the transaction
XIDSLT NUMBER Transaction ID slot number of the transaction
XIDSQN NUMBER Transaction ID sequence number of the transaction
CUMULATIVE_MESSAGE_COUNT NUMBER Number of LCRs processed in the transaction. If a component is restarted while the transaction is being processed, then this column shows the number of LCRs processed in the transaction since the component was started.
TOTAL_MESSAGE_COUNT NUMBER Total number of LCRs processed in the transaction by an outbound server or inbound server. This column does not pertain to capture processes.
FIRST_MESSAGE_TIME DATE Time stamp of the first LCR processed in the transaction. If a capture process is restarted while the transaction is being processed, then this column shows the time stamp of the first LCR processed after the capture process was started.
FIRST_MESSAGE_NUMBER NUMBER SCN of the first message in the transaction. If a capture process is restarted while the transaction is being processed, then this column shows the SCN of the first message processed after the capture process was started.
LAST_MESSAGE_TIME DATE Time stamp of the last LCR processed in the transaction
LAST_MESSAGE_NUMBER NUMBER SCN of the most recent message encountered in the transaction
FIRST_MESSAGE_POSITION RAW(64) Position of the first message seen by an XStream inbound server

This column is populated only for an apply process that is functioning as an XStream inbound server.

LAST_MESSAGE_POSITION RAW(64) Position of the last message seen by an XStream inbound server

This column is populated only for an apply process that is functioning as an XStream inbound server.

TRANSACTION_ID VARCHAR2(128) Transaction ID for an XStream inbound server

This column is populated only for an apply process that is functioning as an XStream inbound server.