Skip to main content

DBMS_LOGSTDBY SKIP_TRANSACTION

When a transaction prevents sql apply service, it can be found by querying DBA_LOGSTDBY_EVENTS view.

select * from DBA_LOGSTDBY_EVENTS order by EVENT_TIMESTAMP, COMMIT_SCN;
Using this query, transaction identification information is listed.
XIDUSN NUMBER (Transaction ID undo segment number)
XIDSLT NUMBER (Transaction ID slot number)
XIDSQN NUMBER (Transaction ID sequence number)


To skip the transaction DBMS_LOGSTDBY.SKIP_TRANSACTION procedure is used.

First, LOGICAL STANDBY APPLY must be stopped.
ALTER DATABASE STOP LOGICAL STANDBY APPLY;

Then, transaction is skipped.
EXECUTE DBMS_LOGSTDBY.SKIP_TRANSACTION(XIDUSN, XIDSLT, XIDSQN);

Last, LOGICAL STANDBY APPLY is started.
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

To find which transaction being skipped.
select * from DBA_LOGSTDBY_SKIP_TRANSACTION;

Comments

Popular posts from this blog

Sending Jboss Server Logs to Logstash Using Filebeat with Multiline Support

In addition to sending system logs to logstash, it is possible to add a prospector section to the filebeat.yml for jboss server logs. Sometimes jboss server.log has single events made up from several lines of messages. In such cases Filebeat should be configured for a multiline prospector.
Filebeat takes lines do not start with a date pattern (look at pattern in the multiline section "^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}" and negate section is set to true) and combines them with the previous line that starts with a date pattern.

server.log file excerpt where DatePattern: yyyy-MM-dd-HH and ConversionPattern: %d %-5p [%c] %m%n
Logstash filter: