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

StackOverflow https://stackoverflow.com/questions/1798046

Вопрос

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

SELECT last_used_date FROM dba_magic
WHERE materialized_view_name = 'peters_mview'

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

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

Это было полезно?

Решение

Oracle Auditing может сказать вам это после настроения в соответствии с документами. После настройки включите его по «Audit Select on {name of Materialized View}». Аудиторская тропа будет находиться в столе AUD $ в схеме SYS.

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top