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

如何在SQL Developer中并行调用脚本?无需多会话的替代方案

在SQL Developer中并行执行多个脚本的替代方案

不需要打开3个独立SQL Developer会话的话,有以下两种实用方案:

方案1:利用SQL Developer内置的后台执行功能

这是最直接的方法,无需额外配置:

  • 打开3个工作表(Worksheet)标签,分别加载myscript1.sql、myscript2.sql、myscript3.sql
  • 对每个标签的脚本,右键选择Run Script in Background(或使用快捷键Ctrl+Shift+Enter)
  • 所有脚本会在独立的后台会话中并行执行,你可以通过SQL Developer左侧的「Background Jobs」面板实时查看每个任务的进度、日志和执行结果

方案2:使用PL/SQL调度器(DBMS_SCHEDULER)创建并行作业

如果脚本是非交互式、无用户输入的,可以通过数据库内置的调度器来触发并行执行:

  • 以具有调度器权限的用户登录,执行以下PL/SQL代码创建并行作业(注意替换脚本的实际路径,路径需为数据库服务器可访问的路径,或使用本地路径时需配置外部作业):
-- 执行myscript1的作业
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name        => 'JOB_RUN_SCRIPT1',
    job_type        => 'SQL_SCRIPT',
    job_action      => '/your/script/path/myscript1.sql',
    enabled         => TRUE,
    auto_drop       => TRUE, -- 执行完成后自动删除作业
    comments        => 'Parallel execution of myscript1'
  );
END;
/

-- 执行myscript2的作业
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name        => 'JOB_RUN_SCRIPT2',
    job_type        => 'SQL_SCRIPT',
    job_action      => '/your/script/path/myscript2.sql',
    enabled         => TRUE,
    auto_drop       => TRUE,
    comments        => 'Parallel execution of myscript2'
  );
END;
/

-- 执行myscript3的作业
BEGIN
  DBMS_SCHEDULER.CREATE_JOB(
    job_name        => 'JOB_RUN_SCRIPT3',
    job_type        => 'SQL_SCRIPT',
    job_action      => '/your/script/path/myscript3.sql',
    enabled         => TRUE,
    auto_drop       => TRUE,
    comments        => 'Parallel execution of myscript3'
  );
END;
/
  • 执行后三个作业会立即并行启动,你可以通过SELECT * FROM USER_SCHEDULER_JOBS;查看作业状态,执行日志可在USER_SCHEDULER_JOB_LOG表中查询

注意:如果脚本需要读取本地文件(而非服务器路径),需配置DBMS_SCHEDULER的外部作业环境,或者将脚本内容内嵌到PL/SQL块中使用DBMS_SQL执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:30:45