从远程程序中终止数据库作业的策略



我尚未对此进行编码,因此在任何人要求我要备份零代码之前,我试图牢固地掌握这一问题需要发生的事情。

我的问题是我有一个Oracle数据库,该数据库将不断地(每10分钟左右一次)开发工作,并且我需要一种安全的方式(明智的和数据完整性明智),以终止这些作业并防止它们执行每晚都会备份。为了讨论,这将通过Cron工作完成。我认为应该工作的方式是,Cron作业将在1点的凌晨1点发射(或其他一些低使用时间,低我的意思是,用户群的.001%将与系统进行交互)。Java进程将需要在执行以下操作的数据库上执行一些PL/SQL函数:

1)  A force terminate on all running jobs  
2)  A snapshot of data that is to be written to an arbitrary directory  
3)  Restart all jobs  (mark them as enabled instead of disabled)  

我的问题是:

假设Oracle正确生成撤消/重做日志,那么如何使用最低权限来实现这一目标?如果这是一种不安全/糟糕的方法,那么任何其他建议都将受到赞赏。

在Oracle 10 dbms_scheduler中具有一个窗口定义,可以正是您想要的。窗口结束时,可以终止运行作业的处理。

http://docs.oracle.com/cd/e14072_01/appdev.112/e10577/d_sched.htm

最新更新