oracle运维工作中每天巡检的必要性--job的相关问题

  今天上午十一点到十二点左右。生产库直接的同步出现了问题。导致了一段时间内系统无法正常使用,直接影响了几十万的用户量。这个情况看起来虽然很小,如果发生在不重要的时间之内,可以忽略不计。但是今天是业务运行的最后一天。很多人都在进行相关操作。这个时间点出现这种将近一个小时的处理时间,可以称之为事故了。

  这个两个生产库之间的数据同步是根据job定时加工取数的,操作是先truncate table 然后insert table ,另外插入操作因为直接取的dblink,是非常慢的(可能源端库数据量越来越大)。导致了目标库一个表一个多小时之内没有数据。不明白的是job加工是每天凌晨2点半开始。却在今天中午12点多一点又跑了一遍。job的next_date原理大概是这样。如果一个job设定1个小时同步一次。那么next_date分为两种。1.1个小时内跑完了,那么下次的执行时间就是上个执行时间+1个小时。2.如果1个小时内没有跑完,那么job会在当前job跑完之后,立即执行下个任务。

  如果是按照上面两种情况分析,这次数据库中午12点多执行,那么就有点不符合常理了。因为如果我今天凌晨2:30分开始跑job,一直到中午12点刚跑完。那么也不会触发下次的job。因为必须要等到明天凌晨2:30没有跑完(或者明天凌晨2:40跑完),这样才会立即执行下次的任务。 这只是我目前的分析,还没有具体的确认。初步是怀疑有人动过job的next_date时间。

  这个数据同步也是一个非常重要的环节,因为之前很长的一段时间没有出现问题。所有就忽略了检查。如果昨天晚上检查的话应该就会提前发现问题。也不会导致了这次事件的发生。所以以后的工作中要时刻注意数据及环境的巡检。

  

                                            --------写下心得,以示警告  2016-04-18

转载于:https://www.cnblogs.com/sherq1989/p/5406247.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值