Как получить самое последнее действие SELECT, выполненное для объекта в каждой схеме в базе данных Oracle? - PullRequest
0 голосов
/ 18 апреля 2019

Я не эксперт Oracle, но мне было поручено удалить популярную базу данных Oracle в компании, но я делал это по схеме.Для этого мне сначала нужно определить, когда к каждой схеме обращались в последний раз.Я использовал следующий SQL, чтобы перечислить все схемы.Может ли кто-нибудь оказать помощь в перечислении самой последней даты доступа (с помощью действия вызова SELECT) для каждой схемы?

SELECT USERNAME FROM SYS.ALL_USERS

Мое исследование показало только нечто похожее, но для каждой таблицы.Мне нужно, чтобы результаты были конкретными для уровня схемы.Наконец, я использую жабу для Oracle.Заранее спасибо за помощь.

1 Ответ

1 голос
/ 19 апреля 2019
select parsing_schema_name, min(first_load_time), to_char(max(last_active_time), 'YYYY-MM-DD HH24:MI')   from v$sql
group by parsing_schema_name
order by parsing_schema_name, max(last_active_time)

Вывод для примера.

ALEXS           2018-04-18/10:10:34 2019-04-19 10:14
ASOUP           2018-04-18/10:10:04 2019-04-19 10:14
BEV257          2018-04-18/10:12:19 2019-04-19 10:14
BLACKBOX88      2018-04-18/10:09:42 2019-04-19 10:14
BLACKBOX_ASPT   2018-04-19/05:01:50 2019-04-19 05:02
BLACKBOX_ASUSPS 2018-12-20/11:32:42 2019-04-19 08:55
BLACKBOX_COUB   2018-04-18/10:12:39 2019-04-19 10:14
BLACKBOX_ETD    2018-04-18/14:00:42 2019-04-19 04:38
BLACKBOX_KASAT  2018-04-18/10:26:49 2019-04-19 10:06
BLACKBOX_NBD2   2018-04-19/00:30:55 2019-04-19 00:30
BLACKBOX_READ   2018-04-19/03:00:00 2019-04-19 03:36
BLACKBOX_WEB    2018-04-18/10:10:34 2019-04-19 10:14
BUGMK           2018-04-18/13:19:40 2019-04-19 10:14
...