- я использую что-то вроде этого, с концепциями и некоторым кодом, украденным у asktom.
- предложения по улучшению приветствуются
С
sess AS
(
ВЫБРАТЬ *
ОТ V $ СЕССИИ
ГДЕ ИМЯ ПОЛЬЗОВАТЕЛЯ = ПОЛЬЗОВАТЕЛЬ
ЗАКАЗАТЬ НА СТОРОНУ
)
ВЫБЕРИ si.SID,
si.LOCKWAIT
si.OSUSER
si.PROGRAM
si.LOGON_TIME
si.STATUS
(
ВЫБЕРИТЕ КРУГЛЫЙ (USED_UBLK * 8 / 1024,1)
ОТ V $ СДЕЛКИ,
Sess
ГДЕ sess.TADDR = V $ TRANSACTION.ADDR
AND sess.SID = si.SID
) rollback_remaining,
(
SELECT (MAX (DECODE (PIECE, 0, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 1, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 2, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 3, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 4, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 5, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 6, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 7, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 8, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 9, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 10, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 11, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 12, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 13, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 14, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 15, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 16, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 17, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 18, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 19, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 20, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 21, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 22, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 23, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 24, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 25, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 26, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 27, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 28, SQL_TEXT, NULL)) ||
MAX (DECODE (PIECE, 29, SQL_TEXT, NULL)))
FROM V $ SQLTEXT_WITH_NEWLINES
ГДЕ АДРЕС = SI.SQL_ADDRESS И
ЧАСТЬ <30 <BR>
) SQL_TEXT
ОТ sess si;