Как использовать Oracle 10g для получения метрик доступа к таблице? - PullRequest
1 голос
/ 18 февраля 2010

У нас есть устаревшая / производственная база данных. Он находится в постоянном развитии и использует поддержку веб-сайта, который развивался в течение 10 лет. Доступ к базе данных осуществляется несколькими технологиями - perl cgi, php и java webapps.

Накапливается много нефти. Я хочу провести серьезный рефакторинг. Я уверен, что некоторые части полностью унаследованы (очевидными являются таблицы с нулевыми строками). Чтобы определить, какие части используются чаще всего, я предпочитаю использовать базу данных, а не проходить через очень большое количество потенциальных компонентов доступа.

Имеет ли oracle (10g) возможность ставить триггер на каждую таблицу, чтобы сообщать, когда и как часто к ней обращаются? Может кто-нибудь указать мне, как сделать этот или другой механизм для достижения той же цели?

(Пожалуйста, прокомментируйте с предложениями по другим стратегиям, чтобы помочь рефакторингу базы данных и в этом сенарио).

Ответы [ 2 ]

5 голосов
/ 18 февраля 2010

Если вы просто хотите узнать, к каким таблицам обращаются (или даже если вам нужна дополнительная информация), то самым простым способом было бы использовать встроенную функциональность Oracle AUDIT. Узнать больше .

Имейте в виду, что некоторые объекты базы данных могут использоваться только ежеквартально или даже ежегодно. Так что вам действительно нужен приличный набор документации или набор регрессионных тестов со 100% охватом. Конечно, если бы у вас был один из них, вы, вероятно, не задавали бы здесь свой вопрос :)

1 голос
/ 18 февраля 2010

Если у вас 10g и у вас включен TABLE MONITORING для таблиц, вы можете легко получить доступ к DBA_ALL_TAB_MODIFICATIONS.

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

Некоторая информация о включении Table Monitoring и запрос для расчета процентного изменения приведена здесь: ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...