Дата запроса или изменения таблицы Oracle

Мне было поручено выполнить некоторые операции по схеме Oracle, к которой у меня есть доступ. В двух словах, я хотел бы отбросить все таблицы, которые не были "использованы" в течение последних 3 месяцев (таблицы, которые не были запрошены или манипулировали данными в течение последних 3 месяцев). У меня есть доступ для чтения / записи к схеме, но я не администратор баз данных; Я запускаю относительно простые запросы DML/DDL в Oracle.

Я пытаюсь выяснить, есть ли способ для меня идентифицировать старые / избыточные таблицы; вот что я пробовал (в основном безуспешно)

  • USER_TABLES был мой первый порт захода, но LAST_ANALYZED дата в этой таблице не является последней измененной / запрошенной датой, которую я ищу

  • Гугл принес DBA_Hist таблицы к моему вниманию, я попытался запросить некоторые из них (т.е. DBA_HIST_SYSSTAT) но я сталкиваюсь с (ORA-00942: table or view does not exist)

  • Я также пытался запрашивать V$SESSION_WAIT, V$ACTIVE_SESSION_HISTORY а также V$SEGMENT_STATISTICS, но я получаю то же самое ORA-00942 ошибка

Я был бы признателен за любые советы о том, предлагают ли приведенные выше варианты именно ту информацию, которая мне нужна о таблицах, и если да, то, что я могу сделать, чтобы обойти ошибки, которые я получаю. Кроме того, есть ли другие варианты, которые я мог бы изучить?

1 ответ

Вероятно, проще всего сделать, чтобы быть на 100% уверенным, - включить аудит таблиц Oracle, которые вас интересуют (возможно, все они). После включения Oracle имеет контрольную таблицу (dba_audit_trail), которую вы можете запросить, чтобы узнать, обращались ли к этим таблицам. Вы можете включить аудит, выполнив: AUDIT on . ПО СЕССИИ;

Я выбрал "по сеансам", чтобы вы получали только одну запись за сеанс, независимо от того, сколько раз сеанс выполняет операцию (чтобы минимизировать записи в таблице аудита).

Пример:

Аудит выбора по боб.инвентаризации по сессиям;

Затем вы можете запросить dba_audit_trail через некоторое время, чтобы увидеть, есть ли какие-либо записи для этой таблицы.

Вы можете отключить аудит, введя команду "noaudit".

Надеюсь, это поможет.

-Джим

Другие вопросы по тегам