Answer
Background-job errors aren't always fully captured or surfaced in the standard job log — the visible error just points into the generic background-job-runner package (TRANSACTION_SYS) rather than revealing the real underlying cause. The most reliable way to get the actual root-cause error is to run the exact same Rowkey-activation operation directly and synchronously, in real time rather than as a background job, against a full copy of the environment, so the genuine error message surfaces immediately rather than being buried in an incompletely-logged background job. A long-running Rowkey activation that eventually fails this way is often actually running out of UNDO tablespace, though getting the genuine synchronous error message directly is far more reliable than guessing at the root cause from the background job's own generic trace.