DBA_JOBS 列出了在数据库中创建的所有作业。您可以使用DBA_JOBS_RUNNING 视图列出当前在实例中运行的所有作业。
当我执行“select * from dba_jobs;”的sql时,结果显示没有作业在运行。
这显示了使用DBMS_JOBS 包创建的所有作业。该作业可能是使用 DBMS_SCHEDULER 包创建的。
SQL> select job from user_jobs;
JOB
----------
99
我只使用名为99 的DBMS_JOBpackage 创建了一份工作。
其他是使用DBMS_SCHEDULERpackage 创建的,可以使用:
SQL> select job_name from user_scheduler_jobs;
根据文档-
停止工作
请注意,一旦作业启动并运行,就没有简单的方法来停止作业。
停止工作并不容易。
不知道您使用的是哪个版本的 Oracle 数据库。但是从 Oracle 10g 开始,您可以使用以下查询来列出计划的作业。
SQL>select * from all_scheduler_jobs;
ALL_SCHEDULER_JOBS
ALL_SCHEDULER_JOBS 显示有关当前用户可访问的调度程序作业的信息。More...
使用以下查询查找当前正在运行的作业。
SQL>select job_name, session_id, running_instance, elapsed_time, cpu_used
from user_scheduler_running_jobs;
然后停止-
SQL>EXEC DBMS_SCHEDULER.STOP_JOB (job_name => 'JOB_NAME');