快捷搜索:

Oracle Scheduler和Job介绍

Oracle Scheduler是用来治理和计划数据库的Job,经由过程它可以让很多老例的数据库义务自动履行,削减工资干预,解放劳动力,本色上来说,它和Linux的crontab,商业义务治理软件如Autosys, UC4一样,只是它们的领域不一样,Oracle Scheduler专注于Oracle数据库Job的自动化治理、掩护和监控。

本篇是理论篇,先容Oracle Scheduler的基础观点,Oracle Scheduler的名词很多,下面逐一先容:

Program (法度榜样)

Program是指Job履行的工具,如存储历程、PL/SQL块、外部可履行法度榜样等

Schedule (计划)

Schedule定义Job什么时刻履行,以及履行的次数,有以下两种类似的Schedule:

1)基于光阴的计划(Time Schedule)

2)基于事故的计划(Event Schedule)

Destination (地点)

Destination定义Job履行的地点,有以下两种:

1)数据库(Database Destination):表示Job在数据库里履行(包孕本地和远程的数据库)

2)外部(External Destination):表示Job在数据库外履行

这里有要留意的是:假如Job履行的地点在远程,则必须把Scheduler Agent安装在远程主机上。

File Watcher(文件看管者)

文件看管者定义目的地、文件名等属性,一旦有相符前提的文件到达便触发一个事故,启动Job

Credential (认证)

Credential定义了用户密码对,只有经由过程认证的Job才能启动,主要有以下两种认证:

1)远程数据库认证

2)外部认证(如操作系统)

Chain (义务链)

Chain用于定义一系列Job履行的依附关系

Window(光阴窗口)

光阴窗口用于定义一天中的某个光阴段内Job的资本分配环境。

Group(组)

一系列相同的工具组成Group,有以下三种Group:

1)Database Destination Group

2)External Destination Group

3)Window Group

Job, Program, Schedule是若何交互的?

上图显示了它们之间的关系,同一个Program可以被多个Job调用,同样地,多个Job可以共用同一个Schedule

Scheduler架构

如上图所示,Scheduler主要包孕以下几个组件:

1)Job Table:寄放所有Job的信息,可经由过程视图*_scheduler_jobs查看

2)Job Coordinator:它是一个或多个后台进程(cjqNNN),用于节制和启动Job Slave

3)Job Slave(JS):真正履行Job的进程

您可能还会对下面的文章感兴趣: