GoldenGate XIDs After Recovery — Diagnostic Playbook Revision: 2026-11-05 / Version 1.0 / English Reading guide, not an executable script. It contains GoldenGate, SQL, and PowerShell examples. Do not run the entire file. References: GoldenGate 26ai and Oracle Database 19c. Check your installed release, mode, and privileges first. 1. Record the context Record time and time zone, source database/instance/container, Extract group/mode/release, first error, and any intervening restart. A persistent XID alone does not establish a stall or justify a restart. 2. Query from the GoldenGate command environment Replace EXTRACT_A. Take two observations under comparable conditions and compare positions and statistics. INFO EXTRACT EXTRACT_A, DETAIL INFO EXTRACT EXTRACT_A, SHOWCH SEND EXTRACT EXTRACT_A, STATUS SEND EXTRACT EXTRACT_A, SHOWTRANS SEND EXTRACT EXTRACT_A, GETLAG STATS EXTRACT EXTRACT_A, TOTAL TOTAL accumulates since startup. Do not subtract across a restart. Distinguish current and recovery checkpoints. Compare the relevant redo thread and file sequence, not RBA alone. SHOWTRANS Start Time is the first extracted operation, not necessarily the database transaction's start. For empty database results, check database, instance, container, and time. V$GOLDENGATE_TRANSACTION in an Integrated setup does not cover every active transaction. 3. Query only after the DBA has prepared LogMiner Agree on scope and resource impact. Use continuous coverage for the relevant RAC threads from the same database/incarnation. The 19c explicit-file workflow is ADD_LOGFILE, START_LOGMNR, query, then END_LOGMNR in the same session. ADD_LOGFILE in a CDB requires root. Check the dictionary against historical object definitions. Do not filter away in-progress or rolled-back work with COMMITTED_DATA_ONLY when investigating it. The XID below belongs to the incident. Replace it with the transaction being investigated. SELECT timestamp, scn, operation, seg_owner, seg_name, status, info, sql_redo FROM v$logmnr_contents WHERE xidusn = 14 AND xidslt = 15 AND xidsqn = 4795600 ORDER BY scn; Check separately for missing logs and errors outside the XID filter. COMMIT supports a source commit, not completed target delivery. No COMMIT found does not prove an open transaction. Recheck range, gaps, container, and filters. Do not execute SQL_REDO against production. Have the DBA finish with DBMS_LOGMNR.END_LOGMNR in the same session. 4. Check Windows disk activity in PowerShell Counter names are localized. Discover available names first and adapt these English-name examples. Get-Counter -ListSet * | Select-Object CounterSetName Get-Counter '\PhysicalDisk(*)\Avg. Disk sec/Transfer', '\PhysicalDisk(*)\Disk Reads/sec', '\PhysicalDisk(*)\Current Disk Queue Length' ` -SampleInterval 1 -MaxSamples 60 Compare the actual GoldenGate disks with their normal activity. Do not infer health from one fixed threshold or apply blanket antivirus exclusions. 5. Decide from the evidence - If positions advance, monitor errors and lag trends and verify target delivery. - If positions stop with repeated errors or waits, investigate the first error, log access, and resource waits. - If evidence is insufficient, defer restarting and collect observations. - Before a restart, establish recovery position, redo/archive availability, BR state, business impact, and approval. - FORCESTOP, SKIPTRANS, FORCETRANS, and checkpoint changes are not part of this diagnostic procedure. - The three-day incident and reducing concurrent recoveries from five to three are historical observations, not product limits or general recommendations. - Verify Extract, transport, Replicat, and actual target delivery. Conditional restart runbook: https://datainhands.com/en/goldengate-conditional-restart-monitoring-runbook/ References / reviewed November 5, 2026 https://docs.oracle.com/en/database/goldengate/core/26/gclir/send-extract.html https://docs.oracle.com/en/database/goldengate/core/26/gclir/stats-extract.html https://docs.oracle.com/en/database/goldengate/core/26/gclir/info-extract.html https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-GOLDENGATE_TRANSACTION.html https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_LOGMNR.html https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-LOGMNR_CONTENTS.html https://docs.oracle.com/en/database/goldengate/core/26/reference/br.html https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.diagnostics/get-counter?view=powershell-7.5