因为在OEM中设置了每天10点自动备份整个数据库,上周星期六是正常的,自动备份出两个文件:O1_MF_NCSN1_BACKUP_SANDING_000_1_6D4JN2X9_.BKP  6.81M(文件大小)10:01(备份时间)
O1_MF_NNND1_BACKUP_SANDING_000_1_6D4JJLPG_.BKP  560M(文件大小) 10:01(备份时间)
星期天没开机,等今天9点多一开机,再等10点的自动备份,发现备份文件夹下有4个文件:O1_MF_NNND1_BACKUP_SANDING_000_1_6D9S6M1G_.BKP  561M   10:01(备份时间)
O1_MF_NNND1_BACKUP_SANDING_000_1_6D9Q2GPG_.BKP  560M   9:25(备份时间)
O1_MF_NCSN1_BACKUP_SANDING_000_1_6D9S8DHN_.BKP  6.81M  10:01(备份时间)
O1_MF_NCSN1_BACKUP_SANDING_000_1_6D9Q4KWB_.BKP  6.81M  9:25(备份时间)
问题是这样的,是不是星期天没开机,等星期一开机了,检查到有自动备份的作业,就会马上先自动备份一次了?然后等到当天10点再备份一次?

解决方案 »

  1.   

    这个得深究job的运行机制.我去查查资料.
      

  2.   

    呵呵,首先查到一个有用的,确认了一件事情,下次运行时间是在本次运行开始时就运算得到的,不是在本次运行完毕后计算得到的.
    Using the PL/SQL expression, the next time the job will run depends on the actual start time of the current run of the job. As an example of the difference, if a job started at 2:00 PM and its schedule was to repeat every 2 hours, then, if the repeat interval was specified with the calendaring syntax, it would repeat at 4, 6 and so on. If PL/SQL was used and the job started at 2:10, then the job would repeat at 4:10, and if the next job actually started at 4:11, then the subsequent run would be at 6:11.