oracle查询所有的job

本文介绍如何使用SQL语句查询Oracle数据库中当天运行的任务(job),并计算特定任务的执行时长(小时)。通过这些SQL脚本可以方便地监控和管理数据库作业。

select * from all_jobs

 

--查询当天跑的job

select * from all_jobs where last_date>=trunc(sysdate) 

 

 

 

--查询当天跑的job

select * from all_jobs where last_date>=trunc(sysdate) 

 

--查询某一job执行了多少小时

select  total_time/1000/60/60  from user_jobs

Oracle 数据库中,作业(Job)通常是指通过 `DBMS_JOB` 或 `DBMS_SCHEDULER` 创建的定时任务。查询所有用户的作业信息需要访问相关的系统视图。 ### 查询使用 `DBMS_JOB` 创建的作业信息 Oracle 提供了 `DBA_JOBS`、`ALL_JOBS` 和 `USER_JOBS` 视图来查看作业信息。其中: - `DBA_JOBS`:显示数据库中所有的作业(需要 DBA 权限)。 - `ALL_JOBS`:显示当前用户有权限访问的所有作业。 - `USER_JOBS`:仅显示当前用户拥有的作业。 以下是一个查询所有用户的作业信息的 SQL 示例(需要具有 `DBA` 权限): ```sql SELECT job, log_user AS owner, schema_user AS schema, next_date, next_sec, interval, what, broken, failures, last_date, last_sec FROM dba_jobs; ``` ### 查询使用 `DBMS_SCHEDULER` 创建的作业信息 `DBMS_SCHEDULER` 是更现代的调度机制,提供了更强大的功能。可以查询 `DBA_SCHEDULER_JOBS`、`ALL_SCHEDULER_JOBS` 和 `USER_SCHEDULER_JOBS` 视图来获取相关信息。 以下是一个查询所有用户的调度作业信息的 SQL 示例: ```sql SELECT owner, job_name, job_type, job_action, start_date, repeat_interval, end_date, enabled, state, last_start_date, next_run_date FROM dba_scheduler_jobs; ``` ### 权限要求 - 查询 `DBA_JOBS` 和 `DBA_SCHEDULER_JOBS` 需要具有 `DBA` 角色或相应的系统权限。 - 如果没有 `DBA` 权限,可以尝试查询 `ALL_JOBS` 或 `ALL_SCHEDULER_JOBS` 以查看当前用户可访问的作业信息。 ### 示例:查询当前用户拥有的所有作业 ```sql -- 查询 DBMS_JOB 类型的作业 SELECT job, schema_user AS schema, next_date, next_sec, interval, what, broken FROM user_jobs; -- 查询 DBMS_SCHEDULER 类型的作业 SELECT job_name, job_type, job_action, start_date, repeat_interval, state, last_start_date, next_run_date FROM user_scheduler_jobs; ``` ### 查看作业运行日志 对于 `DBMS_SCHEDULER` 作业,可以通过 `DBA_SCHEDULER_JOB_LOG` 和 `DBA_SCHEDULER_RUN_DETAILS` 查询作业的执行日志: ```sql -- 查询调度作业的运行日志 SELECT log_id, job_name, log_date, status, error#, run_duration, output FROM dba_scheduler_job_log WHERE job_name = 'YOUR_JOB_NAME'; -- 查询具体的运行细节 SELECT log_date, instance_id, activity, duration, cpu_used FROM dba_scheduler_run_details WHERE log_name = 'LOG_ID_FROM_JOB_LOG'; ``` 对于 `DBMS_JOB` 的日志,可以查询 `DBA_JOBS_RUN` 视图(如果存在)或通过 `DBA_JOBS` 中的 `last_date` 和 `last_sec` 字段了解最近的执行情况。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值