我想获得Oracle数据库中所有函数的列表,沿着它们各自的修改日期。是否有SQL查询可以提供此信息?我尝试使用以下查询:
SELECT * FROM DBA_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION'
这是我在Donald伯莱森的文章中找到的,但我收到了一条错误消息,指出:ORA-00942:表或视图不存在。
gg0vcinb1#
如果您无法访问DBA_OBJECTS视图,可能是由于DBA没有授予必要的权限,因为该视图包含整个数据库的所有对象的元数据。但是,您可以使用ALL_OBJECTS视图,该视图只包含用户有权访问的对象的元数据。因此,如果您能够访问该视图,则可以使用其LAST_DDL_TIME列,该列提供了DDL语句(包括赠款和revoke)生成的每个对象的上次修改的时间戳。也就是说,您的查询应更新如下:
DBA_OBJECTS
ALL_OBJECTS
LAST_DDL_TIME
SELECT OBJECT_NAME, LAST_DDL_TIME FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION' ORDER BY LAST_DDL_TIME DESC
1条答案
按热度按时间gg0vcinb1#
如果您无法访问
DBA_OBJECTS
视图,可能是由于DBA没有授予必要的权限,因为该视图包含整个数据库的所有对象的元数据。但是,您可以使用
ALL_OBJECTS
视图,该视图只包含用户有权访问的对象的元数据。因此,如果您能够访问该视图,则可以使用其LAST_DDL_TIME
列,该列提供了DDL语句(包括赠款和revoke)生成的每个对象的上次修改的时间戳。也就是说,您的查询应更新如下: