![]() |
1
7
我倾向于谨慎使用像这样的工作来控制执行。可能是连续作业之间的延迟太短,DBA无法确定要终止/暂停哪些作业,或者延迟的时间足够长,以至于连续作业之间的延迟会占用大量的运行时间。
在不创建任何新对象的情况下,可以使用
DBMS_ALERT
允许DBA发送暂停作业的警报的包。您的代码可以调用
当然,您也可以通过创建一个新表来做同样的事情,让DBA向表中写入一行以暂停作业,并每隔N行从表中读取一行。 |
![]() |
2
2
另一种探索方法是DBMS调度器对执行窗口和资源计划的支持工具。 http://www.oracle-base.com/articles/10g/Scheduler10g.php 还有: http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14231/schedover.htm#sthref3501 使用Windows和资源计划,DBA可以简单地配置系统来执行您的过程,以遵守特定的规则-包括作业窗口,并且只使用特定数量的资源(即CPU使用率)执行。 这样,该过程可以一年运行一次,并且可以控制CPU的使用。 但这可能无法提供DBA想要的手动控制。 另一个想法是编写处理所有记录的过程,但每隔1000左右提交一次。dbms job.cancel()命令可以被DBA用来取消要停止的作业,然后他们可以在准备好执行时(通过重新安排或重新运行)继续执行。诀窍是,该过程需要能够跟踪处理的行,例如使用“处理日期”列,或单独的表,列出主键和处理日期。 |
![]() |
3
2
除了回答关于
|
![]() |
maddy · 如何根据oracle SQL中的某一列值进行排名 1 年前 |
![]() |
kiric8494 · 显示以元音开头和结尾的城市名称 2 年前 |
![]() |
Franz Biberkopf · Oracle:组合子查询和聚合函数 2 年前 |
![]() |
BitLauncher · 甲骨文-如何模拟位列和布尔和/或? 2 年前 |
![]() |
Arifullah · 如何从oracle中的列中删除特定的初始字符? 2 年前 |
![]() |
Anar · Oracle SQL用户定义函数 2 年前 |
![]() |
user1312312 · 如何为一组表编写通用触发器? 2 年前 |