管理调度程序
本模块介绍了如何创建作业类、窗口和资源计划,以使用调度程序管理作业。
本模块将讨论以下主题:
将光标置于该图标上将显示所有屏幕截图。您也可以将光标置于每个图标上,只查看与之关联的屏幕截图。
返回列表
何为数据库调度程序?
调度程序使数据库管理员和应用程序开发人员可以控制各种任务发生的时间和位置。这些任务可能比较复杂并需要大量时间,因此使用调度程序可以帮助您提高这些任务的管理和规划。此外,通过确保许多日常数据库任务在没有手动干预的情况下发生,您可以降低操作成本、实现更可靠的例程以及最大限度地减少人工错误。
调度程序使用三个主要组件:
规划 指定作业执行的时间和次数。与程序相似,规划是数据库项并可以保存在数据库中。同一规划计划可以由多个作业使用。
程序 是一个有关调度程序将运行的任务的元数据集合。它包括程序名、程序类型等信息,以及有关传递给程序的参数的信息。
作业 指定需要执行的任务以及执行时间。例如,“任务”可以是 PL/SQL 过程、可执行的 C 程序、java 应用程序、shell 脚本或客户端 PL/SQL。可以将程序(任务)和计划(时间)指定为作业定义的一部分,也可以使用现有程序或计划。
返回主题列表
在开始本模块的学习之前,您应该已经:
返回主题列表
作业类定义一类作业,此作业共享通用资源使用情况要求和其他特性。执行以下操作:
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。您将执行以下任务:
设置资源限制初始化参数
返回列表
如果未设置此参数,则数据库将不跟踪统计信息。执行以下操作:
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.
单击 Purge All Logs 。
2.
单击 Yes 确认。
3.
已经清除了所有日志。
将光标置于该图标上可以隐藏所有屏幕截图。