Undo Tablespace issue

From: yudhi s <learnerdatabase99_at_gmail.com>
Date: Tue, 4 Jul 2023 20:28:39 +0530
Message-ID: <CAEzWdqe4rvuye8ps3gi_QOWet9ijOxCG=UacOWtvX56nooct3g_at_mail.gmail.com>



Hello All,

Its Oracle version 19C(19.15) and using AUTO undo management. We have a job keep failing suddenly with UNDO error as below, after running for 6-7hours. It used to run fine in past months. But this time its failing multiple times even we rerun. I understand its a big transaction without commit in between. However checking (used_ublk) from gv$transaction showing the size its consuming is ~200GB only , however the full size of UNDO tablespace is ~1.5TB. And then checking the details out of DBA_UNDO_EXTENTS, we see majority of the blocks in the UNDO in "UNEXPIRED" status as below.

Does it mean that it may be that one odd transaction/session (or it may be a SELECT query) is holding all the UNDO and not letting it to mark as EXPIRED as its active? But then when doing a select on v$session for that exact node to which this UNDO tablespace is aligned and doing "logon_time desc" won't show any such long running sessions? Also checked GV$UNDOSTAT order by tuned_undoretention desc, but not seeing any such session standing out apart from the currently running one.

Any other possible way to get hold of the culprit session/user which we can kill to get back the "Unexpired UNDO blocks" back to the "Expired" bucket such that, that can be usable?

ORA-30036: unable to extend segment by 128 in undo tablespace 'UNDOTBS1'

SELECT DISTINCT STATUS, SUM(BYTES)/1024/1024/1024, COUNT(*) FROM DBA_UNDO_EXTENTS where tablespace_name='UNDOTBS1' GROUP BY STATUS;

STATUS SUM(BYTES)/1024/1024/1024 COUNT(*) UNEXPIRED 1130.301331 150047

EXPIRED      0.1328125 3
ACTIVE      594.6703491 44210


Regards

Yudhi

--
http://www.freelists.org/webpage/oracle-l
Received on Tue Jul 04 2023 - 16:58:39 CEST

Original text of this message