Java 利用cron从远程程序终止数据库作业的策略

Java 利用cron从远程程序终止数据库作业的策略,java,sql,oracle,cron,database-backups,Java,Sql,Oracle,Cron,Database Backups,我还没有为这个问题编写一个潜在的解决方案,所以在有人问我之前,我没有任何代码来支持这个问题,因为我正试图牢牢掌握需要发生的事情背后的处理过程。 我的问题是,我有一个Oracle数据库,它将不断地(每隔10分钟左右)启动作业,我需要一种安全的方式(从安全角度和数据完整性角度)来终止这些作业,并防止它们在夜间备份时执行。为了便于讨论,这将通过cron作业完成。我认为它应该工作的方式是,cron作业将在凌晨1点启动(或者其他一些低使用时间,我指的是

我还没有为这个问题编写一个潜在的解决方案,所以在有人问我之前,我没有任何代码来支持这个问题,因为我正试图牢牢掌握需要发生的事情背后的处理过程。

我的问题是,我有一个Oracle数据库,它将不断地(每隔10分钟左右)启动作业,我需要一种安全的方式(从安全角度和数据完整性角度)来终止这些作业,并防止它们在夜间备份时执行。为了便于讨论,这将通过cron作业完成。我认为它应该工作的方式是,cron作业将在凌晨1点启动(或者其他一些低使用时间,我指的是<0.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中,调度程序有一个窗口定义,可以完全满足您的需要。窗口结束时,可以终止正在运行的作业的处理


在Oracle 10+DBMS\u调度程序中,有一个窗口定义,它完全满足您的需要。窗口结束时,可以终止正在运行的作业的处理


我相信,如果你做一个(现在是旧式的)EXP-那么任何正在运行的作业都会在相应的IMP中继续进行。fwiw@Randy我不确定我是否理解,你能详细说明一下吗?换句话说,你应该能够cron一个EXP-而不必担心运行作业。我相信如果你做一个(现在已经是旧式的)EXPEXP-然后,任何正在运行的作业都将在相应的IMP上停止的位置重新开始。fwiw@Randy我不确定我是否理解,你能详细说明一下吗?换句话说,你应该能够cron一个EXP-而不用担心运行作业。