管理调度程序

本模块介绍了如何创建作业类、窗口和资源计划,以使用调度程序管理作业。

本模块将讨论以下主题:

概述
前提条件
创建作业类
创建窗口
创建属于不同作业类的作业
清除日志

将光标置于该图标上将显示所有屏幕截图。您也可以将光标置于每个图标上,只查看与之关联的屏幕截图。

何为数据库调度程序?

调度程序使数据库管理员和应用程序开发人员可以控制各种任务发生的时间和位置。这些任务可能比较复杂并需要大量时间,因此使用调度程序可以帮助您提高这些任务的管理和规划。此外,通过确保许多日常数据库任务在没有手动干预的情况下发生,您可以降低操作成本、实现更可靠的例程以及最大限度地减少人工错误。

调度程序使用三个主要组件:

规划指定作业执行的时间和次数。与程序相似,规划是数据库项并可以保存在数据库中。同一规划计划可以由多个作业使用。
程序是一个有关调度程序将运行的任务的元数据集合。它包括程序名、程序类型等信息,以及有关传递给程序的参数的信息。
作业指定需要执行的任务以及执行时间。例如,“任务”可以是 PL/SQL 过程、可执行的 C 程序、java 应用程序、shell 脚本或客户端 PL/SQL。可以将程序(任务)和计划(时间)指定为作业定义的一部分,也可以使用现有程序或计划。

返回主题列表

在开始本模块的学习之前,您应该已经:

1.

完成了为安装 Oracle 数据库 10g 配置 Linux课程

2.

完成了在 Linux 上安装 Oracle 数据库 10g 课程

3.

完成了调度作业课程

返回主题列表

作业类定义一类作业,此作业共享通用资源使用情况要求和其他特性。执行以下操作:

1.

打开一个浏览器,并输入以下 URL:

http://:5500/em

输入 sys/ 作为 SYSDBA 以进行登录,然后单击 Login

将鼠标移到该图标上可以查看该图像

 

2.

单击 Administration 选项卡

将鼠标移到该图标上可以查看该图像

 

3.

单击 Job Classes

将鼠标移到该图标上可以查看该图像

 

4.

单击 Create

将鼠标移到该图标上可以查看该图像

 

5.

输入以下信息,然后单击 Resource Consumer Group 旁边的搜索指示灯。

名称:COMPUTE_CLASS001
描述:This job class contains all the compute jobs
日志级别:log job runs only (RUNS)
日志保留期: 7

将鼠标移到该图标上可以查看该图像

 

6.

选择 LOW_GROUP 使用者组,然后单击 Select

将鼠标移到该图标上可以查看该图像

 

7.

单击 OK

将鼠标移到该图标上可以查看该图像

 

8.

已经创建了作业类。单击 Database 路径式导航栏。

将鼠标移到该图标上可以查看该图像

 

9.

用户需要拥有作业类的 EXECUTE 权限以在该作业类中创建作业。单击 Users

将鼠标移到该图标上可以查看该图像

 

10.

选择希望能够访问此作业类的用户。在本示例中,单击 HR

将鼠标移到该图标上可以查看该图像

 

11.

选择 Object Privileges 选项卡。

将鼠标移到该图标上可以查看该图像

 

12.

从 Select Object Type 下拉列表中选择 Job Classes,然后单击 Add

将鼠标移到该图标上可以查看该图像

 

13.

单击 Select Job Classes 旁边的搜索灯。

将鼠标移到该图标上可以查看该图像

 

14.

选中 COMPUTE_CLASS001 并单击 Select

将鼠标移到该图标上可以查看该图像

 

15.

从权限列表中选择 EXECUTE 并单击 Move。然后单击 OK

将鼠标移到该图标上可以查看该图像

 

16.

单击 Apply

将鼠标移到该图标上可以查看该图像

 

17.

现在,HR 用户可以创建可以属于作业类的作业。单击 database 路径式导航栏。

将鼠标移到该图标上可以查看该图像

 

返回主题列表

窗口由一个具有良好定义的开始和结束时间间隔表示,并用于在不同的时间激活不同的资源计划。执行以下操作:

1.

单击 Windows

将鼠标移到该图标上可以查看该图像

 

2.

单击 Create

将鼠标移到该图标上可以查看该图像

 

3.

输入名称 COMPUTE_WINDOW001 并单击 Create Resource Plan

将鼠标移到该图标上可以查看该图像

 

4.

输入计划 COMPUTE_PLAN001 并单击 Modify

将鼠标移到该图标上可以查看该图像

 

5.

选择 LOW_GROUP 并单击 Move。然后单击 OK

将鼠标移到该图标上可以查看该图像

 

6.

对于 LOW_GROUP Level 1 计划输入 90,并对 OTHER_GROUPS Level 1 计划输入 10。然后单击 OK

将鼠标移到该图标上可以查看该图像

 

7.

输入下面的信息并单击 OK

资源计划:COMPUTE_PLAN001
优先级:High
描述:For the duration of this window the COMPUTE_PLAN001 will be active
规划:Use a Calendar
重复:By Days
间隔:7
时间:11:00PM
开始:Later
日期:Today's date
时间:6:00PM
持续时间:4 hours
结束日期:One year from today's date

将鼠标移到该图标上可以查看该图像

 

8 .

现在,可以创建一个使用刚刚创建的窗口和作业类的作业。单击 Database 路径式导航栏。

将鼠标移到该图标上可以查看该图像

 

返回主题列表

您现在将在不同的作业类中创建两个作业,并将演示如何在两个作业之间分配 CPU。您将执行以下任务:

设置资源限制初始化参数
创建一个属于前面创建的作业类的作业
创建一个属于缺省作业类的作业
启用第一个作业
检查 CPU 分配情况

设置资源限制初始化参数

返回列表

如果未设置此参数,则数据库将不跟踪统计信息。执行以下操作:

1.

单击 All Initialization Parameters

将鼠标移到该图标上可以查看该图像

 

2.

在过滤器字段中输入 resource,然后单击 Go

将鼠标移到该图标上可以查看该图像

 

3.

对于 resource_limit 选择 TRUE,然后单击 Apply

将鼠标移到该图标上可以查看该图像

 

4.

修改完成。单击 Database 路径式导航栏。

将鼠标移到该图标上可以查看该图像

 

创建一个属于前面创建的作业类的作业

返回列表

执行以下操作:

1.

单击 Jobs

将鼠标移到该图标上可以查看该图像

 

2.

单击 Create

将鼠标移到该图标上可以查看该图像

 

3.

输入以下信息,然后单击 Job Class 旁边的搜索指示灯

名称:CPU_JOB001
所有者:SYS
启用:No
描述:This job is a cpu intensive job
日志级别:Log job runs only (RUNS)

将鼠标移到该图标上可以查看该图像

 

4.

选择 COMPUTE_CLASS001 作业类并单击 Select

将鼠标移到该图标上可以查看该图像

 

5.

对于 Restartable 选择 TRUE,然后在 Command Type 区域中输入以下命令并选择 Schedule 选项卡。

declare
i number;
f number;
begin
for i in 1..30000000 loop
f := f * i;
end loop;
end;

将鼠标移到该图标上可以查看该图像

 

6.

确保将 Start 设置为 Immediately,然后单击 OK

将鼠标移到该图标上可以查看该图像

 

7.

已创建作业。单击 Disabled 选项卡以查看刚刚创建的作业。如果看不到作业,则单击 Refresh。

将鼠标移到该图标上可以查看该图像

 

创建一个属于缺省作业类的作业

返回列表

由于此作业与上一个作业非常相似,因此将使用 Create Like 特性。执行以下操作:

1.

选择刚刚创建的作业 CPU_JOB001 前面的单选按钮,然后单击 Create Like

将鼠标移到该图标上可以查看该图像

 

2.

输入以下信息,然后单击 Job Class 旁边的搜索指示灯

名称:CPU_JOB002
启用:Yes

将鼠标移到该图标上可以查看该图像

 

3.

选择 DEFAULT_JOB_CLASS 作业类并单击 Select

将鼠标移到该图标上可以查看该图像

 

4.

单击 OK

将鼠标移到该图标上可以查看该图像

 

启用第一个作业。

返回列表

现在,您需要启用第一个作业。执行以下操作:

1.

选择作业 CPU_JOB001

将鼠标移到该图标上可以查看该图像

 

2.

将 Enabled 更改为 Yes,然后单击 Apply

将鼠标移到该图标上可以查看该图像

 

3.

选择 Jobs 路径式导航栏。

将鼠标移到该图标上可以查看该图像

 

检查 CPU 分配情况

返回列表

执行以下操作:

1.

选择 Runing 选项卡。

 

2.

请注意 cpu 在两个作业之间的分配情况。

 

可以清除作业日志。执行以下操作:

1.

单击 Purge All Logs

将鼠标移到该图标上可以查看该图像

 

2.

单击 Yes 确认。

将鼠标移到该图标上可以查看该图像

 

3.

已经清除了所有日志。

将鼠标移到该图标上可以查看该图像

 

将光标置于该图标上可以隐藏所有屏幕截图。