You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出Oracle数据库所有函数并按修改日期排序?遇ORA-00942错误

获取Oracle数据库所有函数及修改日期的查询方案

错误原因

你使用DBA_OBJECTS报错,是因为当前用户没有查询该系统视图的权限——DBA_OBJECTS需要SELECT_CATALOG_ROLE角色或显式授权才能访问。

可用查询语句

1. 普通用户推荐:ALL_OBJECTS

该视图展示当前用户有权限访问的所有函数(含其他用户创建的):

SELECT owner, object_name, last_ddl_time
FROM all_objects
WHERE object_type = 'FUNCTION'
ORDER BY owner, last_ddl_time DESC;

字段说明:

  • owner:函数所属用户
  • object_name:函数名称
  • last_ddl_time:函数最后修改/编译/创建的时间

2. 仅查当前用户函数:USER_OBJECTS

无需额外权限,仅返回当前用户创建的函数:

SELECT object_name, last_ddl_time
FROM user_objects
WHERE object_type = 'FUNCTION'
ORDER BY last_ddl_time DESC;

3. 如需访问DBA_OBJECTS(需管理员操作)

若必须查看数据库中所有用户的函数,联系管理员给你授权:

-- 管理员执行以下任一授权语句
GRANT SELECT ON dba_objects TO your_username;
-- 或授予角色
GRANT select_catalog_role TO your_username;

授权后可执行精简版的初始查询(避免返回冗余字段):

SELECT owner, object_name, last_ddl_time
FROM dba_objects
WHERE object_type = 'FUNCTION'
ORDER BY owner, last_ddl_time DESC;

内容的提问来源于stack exchange,提问作者ilthignore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:48:24