Проверить, используется ли данный объект БД в Oracle?
-
23-09-2019 - |
Вопрос
Привет, кто-нибудь знает, как проверить, используется ли данный объект БД (Таблица / Представление / SP / Функция) внутри Oracle.
Например, чтобы проверить, используется ли таблица "A" в каких-либо определениях SP / функций или представлений.Я пытаюсь очистить неиспользуемые объекты в базе данных.
Я попробовал запрос select * from all_source, ГДЕ ТЕКСТ типа '%A%' (A - это имя таблицы).Как вы думаете, можно с уверенностью предположить, что он не используется, если он не возвращает никаких результатов?
Решение
Из этого Задать вопрос:
Вам нужно будет включить аудит, а затем вернуться через 3 месяца, чтобы посмотреть.
Мы не отслеживаем эту информацию по умолчанию. Кроме того, даже при проведении аудита может быть очень возможно, что объект, к которому осуществляется КОСВЕННЫЙ доступ (например:с помощью внешнего ключа для примера), который не будет отображаться.
Вы можете попробовать USER_DEPENDENCIES, но это не расскажет вам об объектах, на которые ссылается код в клиентских приложениях или через динамический sql
В потоке есть код для проверки ALL_SOURCE
, но подчеркивается, что это не серебряная пуля.