如何查明存储过程在 Oracle 中最后一次修改或编译的时间?

问题描述 投票:0回答:5

我最好寻找 SQL 查询来完成此任务,但其他选项也可能有用。

sql oracle stored-procedures plsql oracle10g
5个回答
44
投票
SELECT LAST_DDL_TIME, TIMESTAMP
FROM USER_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE'
AND OBJECT_NAME = 'MY_PROC';

LAST_DDL_TIME
是最后一次编译。
TIMESTAMP
是最后一次更改。

当依赖项更改时,即使过程没有更改,也可能需要重新编译。


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

0
投票

以下查询将在 Oracle 中执行

 SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME = 'OBJ_NAME' ;

0
投票

我在谷歌搜索时找到了在特定日期后更改的 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'
按时间戳记排序;

0
投票

我们可以有历史记录来帮助我们找到该程序在oracle中执行的次数吗?

© www.soinside.com 2019 - 2024. All rights reserved.