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

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

Ответ 1

SELECT LAST_DDL_TIME, TIMESTAMP
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE'
AND OBJECT_NAME = 'MY_PROC';

LAST_DDL_TIME - последний раз, когда он был скомпилирован. TIMESTAMP - последний раз, когда он был изменен.

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

Ответ 2

SELECT name, create_date, modify_date 
FROM sys.procedures order by modify_date desc

Ответ 3

Следующий запрос будет выполняться в Oracle

 SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME = 'OBJ_NAME' ;