相忘于江湖

不抛弃,不放弃... 请给我勇敢,改变可以改变的;请给我坚强,接受不可以改变的;请给我智慧,分辨这两者。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2011年8月31日

摘要: 众所周知,一般操作系统会提供定时执行任务的方法,例如:Unix平台上提供了让系统定时执行任务的命令Crontab。但是,对于某些需求,例如:一些对数据库表的操作,最为典型的是证券交易所每日收盘后的结算,它涉及大量的数据库表操作,如果仍然利用操作系统去定时执行,不仅需要大量的编程工作,而且还会出现用户不一致等运行错误,甚至导致程序无法执行。 一、分析问题 事实上,对于以上需求,我们可以利用数据库本身拥有的功能Job Queue(任务队列管理器)去实现。任务队列管理器允许用户提前调度和安排某一任务,使其能在指定的时间点或时间段内自动执行一次或多次,由于任务在数据库中被执行,所以执行效率很高。 任. 阅读全文
posted @ 2011-08-31 11:03 playman0211 阅读(273) 评论(0) 推荐(0) 编辑

摘要: 今天用oracle的定时任务来实现定时检测。于是goole了一把,在经历了片刻迷茫后,还是实现了。故小作记录,以备忘之:1.确保Oracle的工作模式允许启动任务队列管理器 Oracle定时执行“Job Queue”的后台程序是SNP进程,而要启动SNP进程,首先要确保整个系统的模式是可以启动SNP进程的,这需要以DBA的身份去执行如下命令: svrmgrl> alter system enable restricted session; 或sql> alter system disenable restricted session; 利用如上命令更改系统的会话方式为disenab 阅读全文
posted @ 2011-08-31 11:02 playman0211 阅读(298) 评论(0) 推荐(0) 编辑

摘要: 最简单的一个Oracle定时任务一、在PLSQL中创建表:create table HWQY.TEST(CARNOVARCHAR2(30),CARINFOID NUMBER)二、在PLSQL中创建存储过程:create or replace procedure pro_testAScarinfo_id number;BEGINselect s_CarInfoID.nextval into carinfo_idfrom dual;insert into test(test.carno,test.carinfoid) values(carinfo_id,'123');commit; 阅读全文
posted @ 2011-08-31 11:00 playman0211 阅读(330) 评论(0) 推荐(0) 编辑