2009-11-25 2 views
1

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

SELECT last_used_date FROM dba_magic 
WHERE materialized_view_name = 'peters_mview' 

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

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

ответ

6

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

0

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

0

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

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

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

+0

Я использовал эти таблицы раньше, чтобы увидеть, что работает SQL, но рассказывают ли вам конкретно, какие внутренние объекты (индексы, материализованные представления и т. д.) используются? Материализованные представления могут использоваться, даже если они не упоминаются в исходном SQL-запросе пользователя. –

+0

Peter: Вы можете получить план из таблиц, связанных с V $ SQLAREA. –