Дата запроса или изменения таблицы 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".
Надеюсь, это поможет.
-Джим