【100分在线等】初用Oracle求定时器相关解决方案

wodexiaohao 2010-07-27 02:32:16
大家好!

兄弟初用Oracle,遇到下面一个问题,不知如何求解,特来求助,望赐教:

简化一下大概是这样的:


航班信息表:
================================
航班号 起飞时间
--------------------------------
CA9900 2010-7-27 08:00:00
CA9230 2010-7-27 08:40:00
CA9450 2010-7-27 08:50:00
CA9460 2010-7-27 11:00:00
……………………

需求:
每个航班起飞之前24小时、12小时、6小时、3小时、30分钟各执行一次存储过程SP_TEST(航班号)

情况:
[航班信息表]中会有源源不断的新数据进入,总之,数据量比较大。

问题:
我知道Oracle中有dbms_job,但本需求感觉比较复杂,不知道敢不敢用dbms_job来实现?如果用dbms_job的话,每隔XX秒(or 分钟)就遍历表并执行过程,会不会给数据库带来较大压力?有没有其它适合此场景的方案?


望专家们多多赐教!不胜感激!



...全文
122 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang448246711 2010-07-29
  • 打赏
  • 举报
回复
如果说航班号老是那么几个的话~~

用航班号,用分区吧......

如果太多的话~~

我就是来学习的~~等高手~~
wodexiaohao 2010-07-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 java3344520 的回复:]

可行,而且还不错..
在这张表的加索引就更快了,,
但是,每天凌晨扫描航班信息表,当天凌晨之后增加的航班有当天飞的情况你怎么处理?(个人感觉存在这样的业务..嘿嘿..)
[/Quote]

谢谢!谢谢指出这个问题,我没考虑到。

不过万幸,这个功能叫“次日计划”所以临时加的当天航班应该可以不用考虑。\(^o^)/~
gelyon 2010-07-28
  • 打赏
  • 举报
回复
有高人潜水啊!! 学习。。。
liuyi8903 2010-07-28
  • 打赏
  • 举报
回复
最好是用crontab吧,job这个技术说真的有时候是不可靠的。
iqlife 2010-07-28
  • 打赏
  • 举报
回复
可行,而且还不错..
在这张表的加索引就更快了,,
但是,每天凌晨扫描航班信息表,当天凌晨之后增加的航班有当天飞的情况你怎么处理?(个人感觉存在这样的业务..嘿嘿..)
wodexiaohao 2010-07-28
  • 打赏
  • 举报
回复
感觉这样效率还是太低,开销还是太大了

系统很庞大,航班信息表可能有上百上千万数据

我准备这样做:

每天凌晨扫描航班信息表,把接下来3天的航班信息select出来,根据其起飞时间,分别将起飞时间前的5个时段记录到一张专门的队列表中(5条记录)。

然后开一个job,定时扫描这个队列并执行就OK了。

大家觉得如何?有没有什么建议?

beita258 2010-07-27
  • 打赏
  • 举报
回复
可以尝试
航班信息表加时间索引,分 24小时、12小时、6小时、3小时、30分钟 这5个时段的5个job执行
未做尝试,只提想法
iqlife 2010-07-27
  • 打赏
  • 举报
回复
你的JOB里的操作相当于5分钟查询一次这个表,然后再去执行相应的存储过程,
你先测试下每次遍历消耗的时间和资源...时间是否有索引...
wodexiaohao 2010-07-27
  • 打赏
  • 举报
回复
额,应该说是精确度吧,偏差5分钟以内没问题,再多估计就不行了
wodexiaohao 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 java3344520 的回复:]

你这个需求是实时监控表的数据,而且你表的数据在不断变化的,
你的JOB粒度和精确性要很高?可以偏差多少?一分钟?5分钟?
[/Quote]

谢谢!

时间的粒度是5分钟,应该不算很高吧
iqlife 2010-07-27
  • 打赏
  • 举报
回复
你这个需求是实时监控表的数据,而且你表的数据在不断变化的,
你的JOB粒度和精确性要很高?可以偏差多少?一分钟?5分钟?
wodexiaohao 2010-07-27
  • 打赏
  • 举报
回复
谢谢帮顶
Phoenix_99 2010-07-27
  • 打赏
  • 举报
回复
关注中。。。。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧