Как узнать, используется ли материализованное представление в Oracle?

В нашей базе данных Oracle 9i есть несколько материализованных представлений, которые были созданы давным-давно парнем, который здесь больше не работает. Существует ли простой (или какой-либо) способ определить, использует ли Oracle эти представления для обслуживания запросов? Если они больше не используются, мы хотели бы избавиться от них. Но мы не хотим выяснять задним числом, что именно эти представления позволяют запустить какой-то случайный отчет менее чем за несколько часов. Ответ, о котором я мечтаю, будет примерно таким

SELECT last_used_date FROM dba_magic
WHERE materialized_view_name = 'peters_mview'

Еще более удивительным было бы то, что могло бы сказать мне, какие фактические SQL-запросы используют материализованное представление. Я понимаю, что, возможно, мне придется согласиться на меньшее.

Если есть решение, требующее 10G, мы скоро обновим его, поэтому эти ответы также будут полезны.


person Peter Recore    schedule 25.11.2009    source источник


Ответы (3)


Аудит Oracle может сказать вам об этом после настройки в соответствии с документами. После настройки включите его с помощью «AUDIT SELECT ON {имя материализованного представления}». Журнал аудита будет находиться в таблице AUD$ в схеме SYS.

person dpbradley    schedule 25.11.2009

Одним из методов, отличных от аудита, является чтение представления v$segment_statistics после одного обновления и до следующего обновления, чтобы увидеть, были ли какие-либо чтения. Вам также придется учитывать любые задания по автоматическому сбору статистики.

person David Aldridge    schedule 26.11.2009

В таблице V$SQLAREA есть два столбца, которые помогают идентифицировать запросы, выполняемые базой данных.

SQL_TEXT - VARCHAR2(1000) - Первая тысяча символов текста SQL для текущего курсора SQL_FULLTEXT - CLOB - Все символы текста SQL для текущего курсора

Мы можем использовать эти столбцы для поиска запросов с использованием указанных материализованных представлений.

person Community    schedule 26.11.2009
comment
Я использовал эти таблицы раньше, чтобы увидеть, какой SQL работает, но говорят ли они вам конкретно, какие внутренние объекты (индексы, материализованные представления и т. д.) используются? Материализованные представления можно использовать, даже если они не упоминаются в исходном sql, запущенном пользователем. - person Peter Recore; 27.11.2009
comment
Питер: Вы можете получить план из таблиц, связанных с V$SQLAREA. - person WW.; 14.06.2011