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

如何查询Oracle中DBMS_SCHEDULER创建程序的参数属性?

Oracle DBMS_SCHEDULER 程序参数查询方法

你通过DBMS_SCHEDULER.CREATE_PROGRAM创建的调度程序参数,不会存储在ALL_ARGUMENTS视图中,该视图仅记录独立存储的PL/SQL对象(存储过程、自定义函数、包方法等)的参数定义,调度程序的参数是Scheduler组件单独维护的元数据,需要查询专属系统视图。

对应查询视图

根据权限范围不同,可从三个层级的视图查询参数信息:

  • USER_SCHEDULER_PROGRAM_ARGS:查询当前登录用户名下所有调度程序的参数
  • ALL_SCHEDULER_PROGRAM_ARGS:查询当前用户持有访问权限的所有调度程序的参数
  • DBA_SCHEDULER_PROGRAM_ARGS:查询数据库实例内全量调度程序的参数,需要DBA权限才可访问

查询示例

替换WHERE条件中的程序名为你实际创建的程序名(注意Oracle元数据默认存储为大写)即可查询对应参数:

SELECT
  program_name,
  argument_name,       -- 自定义参数名
  argument_position,   -- 参数位置序号,从1开始计数
  argument_type,       -- 参数数据类型
  default_value,       -- 参数配置的默认值
  required,            -- 标记是否为必填参数
  enabled              -- 参数是否启用
FROM ALL_SCHEDULER_PROGRAM_ARGS
WHERE program_name = 'XXX';

补充说明

  • 调度程序本身的基础属性(创建时填写的program_type、program_action、comments、启用状态等),可从*_SCHEDULER_PROGRAMS视图查询。
  • 如果程序类型为STORED_PROCEDURE,即使你没有手动调用DBMS_SCHEDULER.DEFINE_PROGRAM_ARGUMENT显式定义参数,只要number_of_arguments设置值大于0,参数视图也会自动同步对应位置的参数记录;如果是PLSQL_BLOCK、EXECUTABLE类型的程序,只有手动添加的参数才会出现在视图中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 05:24:52