我尚未对此进行编码,因此在任何人要求我要备份零代码之前,我试图牢固地掌握这一问题需要发生的事情。
我的问题是我有一个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