定时任务应用场景: 某一个生产系统上面,临时表不断变多,占了不少磁盘空间.由于这套软件是直接买的,不方便修改源代码.所以考虑使用Oracle定时任务直接从数据库层删除临时表. 定时任务业务: 首先写好一个存储过程.读当前用户所有以tempXXXXX开头的临时表,然后依次删除所有的临时表.然后在建立Oracle Job每天晚上定时调用这个存储过程. 存储过程代码: create or replace PROCEDURE KDDROPTEMPTABLE AS BEGIN declare curs
在Oracle的包里面,有一个名字叫做DBMS_JOB的包,它的作用是安排和管理作业队列.通过作业队列,可以让Oracle数据库定期执行特定的任务.当使用DBMS_JOB管理作业的时候,必须确保设置了初始化参数JOB_QUEUE_PROCESSES(不能为0). 1. SUBMIT 该过程用于建立一个新的作业,当建立作业的时候,需要通过设置相应的参数来告诉Oracle要执行的内容,要执行的时间,要执行任务的间隔.如下格式: DBMS_JOB.SUBMIT( JOB OUT BINA
说明:请在plsql工具的命令窗口中,依次按步骤执行如下脚本 (1)建立备份表 my_test_log2create table my_test_log2 as select * from my_test_log t where 1=2; (2)创建索引create index ind_userId on my_test_log2(userId); (3)创建存储过程:每天移植数据到my_test_log2 CREATE OR REPLACE PROCEDURE MV_MY_TEST_LOG