ttLogHolds

This procedure returns information about transaction log holds. It includes those created on behalf of incremental backups, replication peers, active standby pairs (and any subscribers), AWT cache groups, persistent XLA subscribers, XA, long-running transactions and checkpoints. This procedure can help diagnose situations where it appears that checkpoint operations are not purging all unneeded transaction log files.

Applications should monitor log holds and the accumulation of log files. For more information, see Show Replicated Log Records in the Oracle TimesTen In-Memory Database Replication Guide and Monitoring Accumulation of Transaction Log Files in the Oracle TimesTen In-Memory Database Operations Guide.

Required Privilege

This procedure requires no privilege.

Usage in TimesTen Scaleout and TimesTen Classic

This procedure is supported in TimesTen Classic.

TimesTen Scaleout applications can call this built-in procedure.

This procedure returns a row for the element from which it was called. To see information about other elements, query the SYS.GV$LOG_HOLDS system table.

Related Views

This procedure has these related views.

SYS.GV$LOG_HOLDS

SYS.V$LOG_HOLDS

Syntax

ttLogHolds()

Parameters

ttLogHolds has no parameters.

Result Set

ttLogHolds returns the result set:

Column Type Description

HoldLFN

TT_INTEGER NOT NULL

Returns the transaction log file number of the hold.

HoldLFO

TT_BIGINT NOT NULL

Returns the transaction log file offset of the hold.

type

TT_CHAR (30) NOT NULL

Returns the type of hold, one of:

Checkpoint

Replication

Backup

XLA

Long-Running Transaction

Long-Running XA Transaction

TTGrid Replica

Element Duplicate

description

TT_VARCHAR (1024) NOT NULL

Describes the type-specific object for which the hold was created. Each description corresponds with the Type returned. Descriptions are one of:

  • The name of the checkpoint file

  • The name of the standby master

  • The name of the replication subscriber

  • _ORACLE when tracking AWT cache group propagation

  • The parallel replication track ID used by the subscriber

  • The backup path

  • The name of the persistent XLA subscription and the process ID of the last process to open it, if it is open

  • The XID (transaction ID) of the XA transaction

  • The TimesTen transaction ID of the long-running transaction

  • The index of the replica in the partition table, the replica id, the index of the local element, the version of partition table for the replica log hold, and the index for the loop of the list of replicas.

  • The string Log hold of Element Duplicate used by LBCU.

Examples

Command> call ttLogHolds();
< 0, 1148544, Long-Running XA Transaction , 
0x1-476c6f62616c-5861637431 >
< 0, 1149752, Long-Running Transaction, 4.2 >
< 0, 1149992, Checkpoint , sample.ds1 >
< 0, 1150168, Checkpoint , sample.ds0 >

The following example shows the output of ttLogHolds built-in procedure for an active standby pair replication scheme, where the active master is master1 and the standby master is master2 with a single subscriber, subscriber1.

Command> call ttLogHolds();
< 0, 3569664, Checkpoint                    , master1.ds0 >
< 0, 15742976, Checkpoint                    , master1.ds1 >
< 0, 16351496, Replication                   , ADC6160529:SUBSCRIBER1 >
< 0, 16351640, Replication                   , ADC6160529:MASTER2 >
4 rows found.

The following example shows the progress of the asynchronous propagation for an AWT cache group to the Oracle database. The description field contains "_ORACLE" to identify the transaction log hold for the AWT cache group propagation.

Command> call ttLogHolds();
< 0, 18958336, Checkpoint                    , cachealone1.ds0 >
< 0, 19048448, Checkpoint                    , cachealone1.ds1 >
< 0, 19050904, Replication                   , ADC6160529:_ORACLE >
3 rows found.