我最好寻找 SQL 查询来完成此任务,但其他选项也可能有用。
SELECT LAST_DDL_TIME, TIMESTAMP
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE'
AND OBJECT_NAME = 'MY_PROC';
LAST_DDL_TIME
是最后一次编译。
TIMESTAMP
是最后一次更改。
当依赖项更改时,即使过程没有更改,也可能需要重新编译。
SELECT name, create_date, modify_date
FROM sys.procedures order by modify_date desc
以下查询将在 Oracle 中执行
SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME = 'OBJ_NAME' ;
我在谷歌搜索时找到了在特定日期后更改的 PLSQL 包,这与上面的问题有点相似。 使用上面的 WW.s 答案,我得到了这个查询来查找任何“最近”更改的对象:
选择 LAST_DDL_TIME、TIMESTAMP、OBJECT_NAME、object_type 来自 USER_OBJECTS WHERE -- OBJECT_TYPE IN ('PROCEDURE', 'PACKAGE', 'PACKAGE BODY', 'VIEW', 'FUNCTION') AND 时间戳 > '2019-02-20' 按时间戳记排序;
我们可以有历史记录来帮助我们找到该程序在oracle中执行的次数吗?