`
张洪财
  • 浏览: 275140 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

job 管理

阅读更多

http://www.dedecms.com/plus/view.php?aid=37022

 

 

SVRMGR> select * from dba_jobs;

初始化相关参数job_queue_processes
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000  ;job_queue_interval = 10  //调度作业刷新频率秒为单位
DBA_JOBS describes all jobs in the database.
USER_JOBS describes all jobs owned by the current user

1  select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)
2 select job,what,last_date,next_date,interval from  dba_jobs where job in (1,3);


查询job的情况。
show paramter background_dump_dest.
看alter.log 和trace

 

SVRMGR> select * from dba_jobs;

初始化相关参数job_queue_processes
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000

job_queue_interval = 10  //调度作业刷新频率秒为单位


DBA_JOBS describes all jobs in the database.
USER_JOBS describes all jobs owned by the current user

1  select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)
2 select job,what,last_date,next_date,interval from  dba_jobs where job in (1,3);


查询job的情况。
show paramter background_dump_dest.
看alter.log 和trace

 

请问我如何停止一个JOB
SQL> exec dbms_job.broken(1,true)

PL/SQL 过程已成功完成。
SQL>commit  //必须提交否则无效

启动作业
SQL> exec dbms_job.broken(1,false)

PL/SQL 过程已成功完成。

停其他用户的job
SQL>exec sys.dbms_ijob.broken(98,true);
SQL>commit;


============================

exec dbms_job.broken(:job) 停止
exec dbms_job.broken(186,true) //标记位broken
exec dbms_job.broken(186,false)//标记为非broken
exec dbms_job.broken(186,false,next_day(sysdate,'monday')) //标记为非broken,指定执行时间
exec dbms_job.remove(:job);删除
exec dbms_job.remove(186);
commit;

把一个broken job重新运行


三、查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息


创建JOB
variable jobno number;
begin
  dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
  commit;
end;
print jobno

例如,我们已经建立了一个存储过程,其名称为my_job,在sql/plus中以scott用户身份登录,执行如下命令:
sql> variable n number;
sql> begin
dbms_job.submit(:n‘my_job;’,sysdate,
‘sysdate+1/360’);
commit;
end;
Sql> print :n;

系统提示执行成功。
Sql> print :n;
系统打印此任务的编号,例如结果为300。

 

简单例子
一个简单例子:

创建测试表
SQL> create table TEST(a date);

表已创建。

创建一个自定义过程
SQL> create or replace procedure MYPROC as
  2  begin
  3  insert into TEST values(sysdate);
  4  end;
  5  /

过程已创建。

创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
  2  dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
  3  end;
  4  /

PL/SQL 过程已成功完成。

运行JOB
SQL> begin
  2  dbms_job.run(:job1);
  3  end;
  4  /

PL/SQL 过程已成功完成。

SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;

时间
-------------------
2001/01/07 23:51:21
2001/01/07 23:52:22
2001/01/07 23:53:24

删除JOB
SQL> begin
  2  dbms_job.remove(:job1);
  3  end;
  4  /

PL/SQL 过程已成功完成。

=======================================


a、利用dbms_job.run()立即执行该job
   sql>begin
   sql>dbms_job.run(:jobno) 该jobno为submit过程提交时返回的job number
   sql>end;
   sql>/
b、利用dbms_job.broken()重新将broken标记为false
   sql>begin
   sql>dbms_job.broken (:job,false,next_date)
   sql>end;
   sql>/

 

========================================
SQL> create table a(a date);
Table created

创建一个过程
SQL> create or replace procedure test as
  2  begin
  3  insert into a values(sysdate);
  4  end;
  5  /
Procedure created

提交作业
SQL> declare
  2  job1 number;   //定义一个数字型变量
  3  begin
  4  dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  //按分钟算一天1440分钟
  5  end;
  6  /
PL/SQL procedure successfully completed
job1
---------
4
SQL> commit;
Commit complete

运行作业
SQL> begin
  2  dbms_job.run(4);
  3  end;
  4  /
PL/SQL procedure successfully completed

删除作业
SQL> begin
  2  dbms_job.remove(4);
  3  end;
  4  /
PL/SQL procedure successfully completed
SQL> commit;
Commit complete


job change//修改作业
execute dbms_job.change(186,null,null,'sysdate+3');
execute dbms_job.change(186,'scott.test(update)');

 

DBA_JOBS
===========================================
字段(列)          类型                 描述
JOB                NUMBER          任务的唯一标示号
LOG_USER           VARCHAR2(30)    提交任务的用户
PRIV_USER          VARCHAR2(30)    赋予任务权限的用户
SCHEMA_USER        VARCHAR2(30)    对任务作语法分析的用户模式
LAST_DATE          DATE            最后一次成功运行任务的时间
LAST_SEC           VARCHAR2(8)     如HH24:MM:SS格式的last_date日期的小时,分钟和秒
THIS_DATE     DATE            正在运行任务的开始时间,如果没有运行任务则为null
THIS_SEC     VARCHAR2(8)     如HH24:MM:SS格式的this_date日期的小时,分钟和秒
NEXT_DATE          DATE            下一次定时运行任务的时间
NEXT_SEC           VARCHAR2(8)     如HH24:MM:SS格式的next_date日期的小时,分钟和秒
TOTAL_TIME         NUMBER          该任务运行所需要的总时间,单位为秒
BROKEN             VARCHAR2(1)     标志参数,Y标示任务中断,以后不会运行
INTERVAL           VARCHAR2(200)   用于计算下一运行时间的表达式
FAILURES    NUMBER     任务运行连续没有成功的次数
WHAT               VARCHAR2(2000)  执行任务的PL/SQL块
CURRENT_SESSION_LABEL RAW          MLSLABEL 该任务的信任Oracle会话符
CLEARANCE_HI      RAW MLSLABEL     该任务可信任的Oracle最大间隙
CLEARANCE_LO      RAW              MLSLABEL 该任务可信任的Oracle最小间隙
NLS_ENV           VARCHAR2(2000)   任务运行的NLS会话设置
MISC_ENV          RAW(32)          任务运行的其他一些会话参数

 


描述                    INTERVAL参数值
每天午夜12点            'TRUNC(SYSDATE + 1)'
每天早上8点30分         'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
每星期二中午12点         'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
每个月第一天的午夜12点    'TRUNC(LAST_DAY(SYSDATE ) + 1)'
每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
每星期六和日早上6点10分    'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'

分享到:
评论

相关推荐

    xxl-job管理界面,调度中心

    xxl-job管理控制台安装程序和脚本,使用说明请参考文章 https://blog.csdn.net/robinhunan/article/details/127984611 XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展...

    oracle-Job-管理.pdf

    Oracle Job管理是Oracle数据库中的一个关键特性,用于自动化执行数据库任务,如定时备份、数据清理或报告生成等。以下是对Oracle Job管理的详细解释: 1. **创建Job**: 在Oracle中,你可以通过创建存储过程来定义...

    .net Core Job Windows + Linux部署文档

    在Linux系统中,我们通常使用`supervisord`这个进程管理器来守护.NET Core Job。以下是使用`supervisord`部署.NET Core Job的步骤: 1. **安装supervisord**:使用包管理器(如apt-get或yum)安装`supervisord`。...

    oracle-Job-管理.docx

    Oracle Job管理是数据库中用于定时执行任务的一种机制,它允许用户安排存储过程、PL/SQL块或其他数据库操作在预设的时间点自动运行。在Oracle 9i版本中,我们可以使用SQL命令或者DBMS_SCHEDULER包来创建、修改和管理...

    DataStage JOB的备份还原

    2. **选择备份选项**:在DataStage Manager界面中,定位至Job管理模块,选择相应的Job或Job集合进行备份。这里需注意,备份操作并非在DataStage Server端执行,而是通过客户端进行,这意味着备份文件将保存在运行...

    php获取后台Job管理的实现代码

    Job管理是一个在后台执行任务的过程,常用于处理长时间运行的任务,避免阻塞用户界面。实现这一功能通常需要使用多进程或者多线程的方式,以确保主程序可以继续响应其他操作。以下是针对给定文件中描述的PHP后台Job...

    【RAC】rac中如何指定job的运行实例.pdf

    1. RAC环境的job管理及其与普通Oracle数据库的区别。 2. DBMS_JOB和DBMS_SCHEDULER包的特点和使用场景。 3. 在RAC环境中如何指定job运行的实例级别。 4. 如何获取RAC集群中所有节点的IP地址。 5. Oracle系统视图的...

    oracle job创建脚本

    你可以使用`DBMS_JOB.INFO`查询Job的状态,或者使用`DBMS_SCHEDULER`包(在Oracle 10g及以后版本推荐)进行更高级的Job管理,包括查看Job日志、暂停、恢复和删除Job。 8. **注意事项**: - 修改`next_date`以适应...

    Quartz-Job-Scheduling-Framework-中文版-V0.9.1.zip

    内容提要:SchedulerListener (Scheduler 监听器) 的介绍和使用方法,多是关于对 Scheduler 管理事件的监听,而不只专注于 Job 或 Trigger 的。 第七章. 实现 Quartz 监听器 (第五部分) 内容提要:Quartz 专门提供...

    Lesson 3: More About Jobs and Job Details

    总的来说,Lesson 3会带领我们深入到任务调度的底层,理解Job的生命周期,掌握如何通过源码分析提升Job管理的效率和可靠性。这对于我们设计和维护高效稳定的服务至关重要,无论是在企业级应用还是在个人项目中,理解...

    elastic-job技术分享

    elastic-job技术分享,自己整理的分布式定时器,有实践细节以及踩过的一些坑

    SAP BACKGROUD JOB 新增SCHEDULE

    2. **进入Background Job管理界面**:登录后,在SAP GUI的命令行中输入事务代码SM36,按下回车键进入Background Job管理界面。 3. **新建Background Job**:在SM36界面中,选择“New Job (Wizard)”选项,即通过...

    当当网开源的分布式作业调度组件 Elastic-Job.zip

    Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架。去掉了和dd-job中的监控和ddframe接入规范部分。该项目基于成熟的开源产品Quartz和Zookeeper及其客户端Curator进行二次开发。 ddframe其他...

    人才管理系统jobsystem

    《人才管理系统jobsystem初探与解析》 在信息化飞速发展的今天,人才是企业最宝贵的资源,高效的人力资源管理成为提升企业竞争力的关键。本文将以“人才管理系统jobsystem”为研究对象,深入探讨其核心功能及应用...

    elastic-job控制管理台-console-2.1.4 .zip

    elastic-job控制管理台-console-2.1.4.zipelastic-job控制管理台-console-2.1.4.zipelastic-job控制管理台-console-2.1.4.zipelastic-job控制管理台-console-2.1.4.zipelastic-job控制管理台-console-2.1.4....

    elastic-job控制管理台-console-2.1.4.zip

    本次我们关注的是Elastic-Job-Lite的控制管理台——`elastic-job控制管理台-console-2.1.4.zip`。 Elastic-Job控制管理台是Elastic-Job-Lite的一个重要组成部分,它为开发者提供了图形化的界面,用于管理和监控...

    传参数给job及job状态学习

    标题中的“传参数给job及job状态学习”指的是在使用Quartz Scheduler进行任务调度时,如何传递参数给Job以及理解Job的状态管理。Quartz Scheduler是一个开源的Java作业调度框架,它允许程序创建、安排和执行重复的...

    分布式调度xxl-job

    * 分布式调度:XXL-Job可以应用于分布式调度,实现集群管理调度与分布式部署的定时任务。 * 高可用:XXL-Job可以应用于高可用场景,实现高可用、并行调度、分片处理等。 * 分布式任务调度:XXL-Job可以应用于分布式...

    xxl-job-2.2.0-pg集成nacos配置管理,可直接运行

    2. **配置管理**:在XXL-JOB中,通过Nacos可以集中管理所有节点的配置,包括数据库连接、任务调度参数等,便于运维操作和版本控制。 3. **动态配置**:配置变更时,Nacos能实时推送更新到各个节点,避免了因配置错误...

    xxl-job的管理在代码中实现,新增,编辑,执行等操作

    - 使用Java SDK:在Java项目中,可以通过引入XXL-JOB的SDK,调用其提供的`XxlJobAdminService`等类进行任务管理。 - RESTful API:非Java环境也可以通过HTTP请求调用RESTful API进行任务操作。 了解并掌握以上...

Global site tag (gtag.js) - Google Analytics