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

Oracle APEX超时中断存储过程运行的技术咨询

APEX存储过程超时问题解决方案

针对你遇到的存储过程运行14分41秒后超时的问题,结合Windows Server 2019、Oracle 19.3、APEX 22.1的环境,解答如下:

1. APEX管理员设置(超时设置)是否需重启Windows服务器才生效?

不需要重启整个Windows服务器,不同层级的超时设置生效方式不同:

  • APEX应用/页面级超时:保存设置后立即生效,无需重启任何服务。
  • ORDS(Oracle REST Data Services)超时:修改配置后只需重启ORDS服务即可。
  • IIS反向代理超时(若使用IIS):修改后重启对应IIS站点即可,无需重启服务器。

2. 如何将页面超时时间从14分41秒调整为2小时?

超时可能来自多个环节,需逐一检查调整:

APEX层面设置

  • 页面级:进入目标页面的「属性」→「安全」,找到「会话超时」选项,设置为120分钟。
  • 应用级:进入应用属性→「安全」→「会话超时」,设置为120分钟(此设置会覆盖页面级默认值)。

ORDS层面设置

修改ORDS配置文件(如ords/conf/ords_defaults.xml),调整以下参数:

<entry key="jdbc.max_statement_idle_time">7200</entry> <!-- 单位:秒,2小时 -->
<entry key="jetty.idleTimeout">7200000</entry> <!-- 单位:毫秒,2小时 -->

修改完成后重启ORDS服务。

IIS层面设置(若使用IIS做反向代理)

打开IIS管理器,找到对应站点→「高级设置」→「连接超时」,设置为7200秒,随后重启该站点。

Oracle数据库层面设置

检查用户配置文件的IDLE_TIME参数,若其值小于2小时会导致会话提前断开,可执行以下语句修改:

ALTER PROFILE DEFAULT LIMIT IDLE_TIME 0; -- 0表示无空闲时间限制

若仅针对特定用户,替换DEFAULT为对应用户的配置文件名即可。

3. 如何设置使存储过程在超时后仍能继续运行?

要让存储过程脱离APEX会话的约束,需采用异步执行方式,推荐两种方案:

方案一:使用DBMS_SCHEDULER创建异步任务

这是Oracle 11g及以上版本的推荐方式,示例代码:

BEGIN
  DBMS_SCHEDULER.CREATE_JOB (
    job_name        => 'RUN_LONG_PROC_' || TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'),
    job_type        => 'STORED_PROCEDURE',
    job_action      => '你的存储过程名', -- 若带参数需写成"PROC_NAME(:1,:2)"并添加job_args参数
    start_date      => SYSTIMESTAMP,
    enabled         => TRUE,
    auto_drop       => TRUE, -- 任务完成后自动删除
    comments        => '异步执行长耗时存储过程'
  );
END;
/

方案二:使用DBMS_JOB(兼容旧版)

若习惯使用旧版调度工具,可执行:

DECLARE
  v_jobno NUMBER;
BEGIN
  DBMS_JOB.SUBMIT(
    job       => v_jobno,
    what      => '你的存储过程名;', -- 结尾需加分号
    next_date => SYSDATE
  );
  COMMIT;
END;
/

权限说明

确保执行APEX的数据库用户拥有创建任务的权限:

GRANT CREATE JOB TO 你的APEX数据库用户名;

补充:Linux环境无超时的可能原因

Linux上同版本APEX未出现超时,大概率是因为Linux环境下ORDS或Web服务器(如Apache)的默认超时配置比Windows更长,未触发超时阈值;而Windows的IIS或ORDS默认设置更严格,导致提前断开会话。

内容的提问来源于stack exchange,提问作者dorog.zultan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:57:46