oracle job 及存储过程案例
使用Submit()过程,工作被正常地计划好。
这个过程有五个参数:job、what、next_date、interval与no_parse。
PROCEDURE Submit ( job OUT binary_ineger,
What IN varchar2,
next_date IN date,
interval IN varchar2,
no_parse IN booean:=FALSE)
job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作。
what参数是将被执行的PL/SQL代码块。
next_date参数指识何时将运行这个工作。
interval参数何时这个工作将被重执行。
no_parse参数指示此工作在提交时或执行时是否应进行语法分析——TRUE
指示此PL/SQL代码在它第一次执行时应进行语法分析,
而FALSE指示本PL/SQL代码应立即进行语法分析。
在command window窗口中执行下面脚本
- declarejob1number;
- begin
- dbms_job.submit(job=>:job1,
- what=>'CLEAN_DATA_P;',
- next_date=>sysdate,
- interval=>'sysdate+1/1440');--每天1440分钟,即一分钟运行CLEAN_DATA_P存储过程一次
- commit;
- dbms_job.run(:job1);
- end;
- /
查看创建的job
查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息。
如:
- select*fromdba_jobs
2、运行JOB
说明:Run()过程用来立即执行一个指定的工作。这个过程只接收一个参数:
- begin
- dbms_job.run(:job);--:job为dba_jobs里面自己需要运行的jobid
- end;
- /
3、删除JOB
- begin
- dbms_job.remove(:job);--:job为dba_jobs里面自己需要运行的jobid
- end;
- /
- --绑定jobid
- variablejob1number;
- /
- --创建JOB每分钟执行一次
- begin
- dbms_job.submit(job=>:job1,
- what=>'CLEAN_DATA_P;',
- next_date=>sysdate,
- interval=>'sysdate+1/1440');
- commit;
- end;
- /
- --执行JOB
- begin
- dbms_job.run(:job1);
- end;
- /
- --删除JOB
- begin
- dbms_job.remove(:job1);--:job为dba_jobs里面自己需要运行的jobid
- end;
- /
- --创建JOB每天凌晨1点执行一次
- begin
- dbms_job.submit(job=>:job1,
- what=>'CLEAN_DATA_P;',
- next_date=>sysdate,
- interval=>'TRUNC(sysdate)+1+1/(24)');
- commit;
- end;
- /
附:CLEAN_DATA_P存储过程
- CREATEORREPLACEPROCEDURECLEAN_DATA_PIS
- cursor_nameINTEGER;
- rows_processedINTEGER;
- R_CONFIGEIP_CLEAN_DATA_CONFIG%ROWTYPE;--记录当前行
- R_TABLE_SPACEEIP_CLEAN_DATA_CONFIG%ROWTYPE;--记录tablespace数据配置当前行
- R_CLEAN_DATAvarchar2(255);
- CURSORC_CONFIGIS
- SELECTC.ID,
- C.TABLE_NAME,
- C.CLEAN_INTERVAL,
- C.LAST_UPDATE_DATE,
- C.ENABLED_FLAG
- FROMEIP_CLEAN_DATA_CONFIGC
- WHEREC.ENABLED_FLAG='Y'
- ANDC.TABLE_NAME!='EIP_SWITCH_TABLE_SPACE'
- ORDERBYC.ID;--定义读取配置表不包含表空间切换的游标
- CURSORC_TABLE_SPACEIS
- SELECTC.ID,
- C.TABLE_NAME,
- C.CLEAN_INTERVAL,
- C.LAST_UPDATE_DATE,
- C.ENABLED_FLAG
- FROMEIP_CLEAN_DATA_CONFIGC
- WHEREC.ENABLED_FLAG='Y'
- ANDC.TABLE_NAME='EIP_SWITCH_TABLE_SPACE'
- ORDERBYC.ID;--定义读取配置表表空间切换的游标
- BEGIN
- BEGIN
- OPENC_CONFIG;
- LOOP
- FETCHC_CONFIG
- INTOR_CONFIG;
- EXITWHENC_CONFIG%NOTFOUND;
- selectto_char(sysdate-R_CONFIG.CLEAN_INTERVAL/24/60,
- 'yyyy-mm-ddHH24:MI:SS')
- intoR_CLEAN_DATA
- fromdual;--获得当前时间减去时间间隔的时间
- cursor_name:=dbms_sql.open_cursor;--动态执行删除SQL
- dbms_sql.parse(cursor_name,
- 'DELETEFROM'||R_CONFIG.TABLE_NAME||
- 'WHERELAST_UPDATE_DATE<=:x',
- dbms_sql.native);
- dbms_sql.bind_variable(cursor_name,
- ':x',
- to_date(R_CLEAN_DATA,'yyyy-mm-ddHH24:MI:SS'));
- rows_processed:=dbms_sql.execute(cursor_name);
- dbms_sql.close_cursor(cursor_name);
- ENDLOOP;
- CLOSEC_CONFIG;
- OPENC_TABLE_SPACE;
- LOOP
- FETCHC_TABLE_SPACE
- INTOR_TABLE_SPACE;
- EXITWHENC_TABLE_SPACE%NOTFOUND;
- IF0=R_TABLE_SPACE.CLEAN_INTERVAL
- THEN
- --对表空间作转移
- dbms_utility.exec_ddl_statement('ALTERTABLEEIP_PERFORMANCE_CPUMOVETABLESPACEHQGK_DATA_MV1');
- dbms_utility.exec_ddl_statement('ALTERTABLEEIP_PERFORMANCE_MEMORYMOVETABLESPACEHQGK_DATA_MV1');
- dbms_utility.exec_ddl_statement('ALTERTABLEEIP_PERFORMANCE_PROCESSMOVETABLESPACEHQGK_DATA_MV1');
- --更新当前操作标识,用于表空间转移
- UPDATEEIP_CLEAN_DATA_CONFIGCSETC.CLEAN_INTERVAL=1WHEREC.TABLE_NAME='EIP_SWITCH_TABLE_SPACE';
- ELSE
- dbms_utility.exec_ddl_statement('ALTERTABLEEIP_PERFORMANCE_CPUMOVETABLESPACEHQGK_DATA_MV');
- dbms_utility.exec_ddl_statement('ALTERTABLEEIP_PERFORMANCE_MEMORYMOVETABLESPACEHQGK_DATA_MV');
- dbms_utility.exec_ddl_statement('ALTERTABLEEIP_PERFORMANCE_PROCESSMOVETABLESPACEHQGK_DATA_MV');
- UPDATEEIP_CLEAN_DATA_CONFIGCSETC.CLEAN_INTERVAL=0WHEREC.TABLE_NAME='EIP_SWITCH_TABLE_SPACE';
- ENDIF;
- --重建索引
- dbms_utility.exec_ddl_statement('ALTERINDEXPK_EIP_PERFORMANCE_CPUREBUILD');
- dbms_utility.exec_ddl_statement('ALTERINDEXPK_EIP_PERFORMANCE_MEMORYREBUILD');
- dbms_utility.exec_ddl_statement('ALTERINDEXPK_EIP_PERFORMANCE_PROCESSREBUILD');
- COMMIT;
- ENDLOOP;
- CLOSEC_TABLE_SPACE;
- EXCEPTION
- WHENOTHERSTHEN
- dbms_sql.close_cursor(cursor_name);
- ROLLBACK;
- END;
- COMMIT;
- ENDCLEAN_DATA_P;
- /
oracle job 及存储过程案例相关推荐
- 『Oracle数据库容灾案例系列』国元证券Oracle容灾案例
『Oracle数据库 容灾案例系列』 国元证券Oracle数据库容灾案例 使用产品:DDS 上线时间:2007 系统环境:Oracle 10g RAC IBM AIX5L 应用系统:金正 证券 ...
- Oracle job procedure 存储过程定时任务
Oracle job procedure 存储过程定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的job,可以查询视图 --相关视图 ...
- Oracle 触发器调用存储过程|转||待研究|
Oracle触发器调用存储过程资料收集整理 触发器:Trigger 存储过程:Stored Procedure // ******************** 收集1 **************** ...
- 在ORACLE中对存储过程加密
在ORACLE中对存储过程加密 2007年08月04日 星期六 下午 04:06 1 创建存储过程 create or replace procedure lb_test2 as begi ...
- oracle pl sql示例,oracle PL SQL学习案例(一)
oracle PL SQL学习案例(一) [示例1.1] 查询雇员编号为7788的雇员姓名和工资. 步骤1:用SCOTT/TIGER账户登录SQL*Plus. 步骤2:在输入区输入以下程序: /*这 ...
- 过程 oracle 写在哪里,Oracle怎么写存储过程? 在什么地方写以及怎么调用?最好给个Sample 急(2)...
当前位置:我的异常网» Java Web开发 » Oracle怎么写存储过程? 在什么地方写以及怎么调用 Oracle怎么写存储过程? 在什么地方写以及怎么调用?最好给个Sample 急(2) www ...
- Java中调用Oracle中的存储过程的单元测试代码
Oracle中的存储过程: /* 创建一个存储函数,返回指定员工的姓名,薪水和年收入 */ create or replace function queryEmp2(eno in number, em ...
- oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...
C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...
- dataguru北京线下沙龙-第二部 《Oracle 索引优化思路--案例分享 -- 刘盛》
[视频:dataguru北京线下沙龙-第二部 <Oracle 索引优化思路--案例分享 -- 刘盛> /微笑]
最新文章
- 营救Peter——下载XCode的六种姿势
- istringstream和ostringstream
- 液冷数据中心再获加持,北京数据中心PUE要低至1.118
- 1082 Read Number in Chinese (25 分)【难 / 模拟 字符串】
- VTK:BrownianPoints布朗点用法实战
- r语言 柱状图加星号_R语言绘制带有显著性字母标记的柱状图
- mipi和isp处理_图像信号处理 (ISP) 流水线
- [gdb][python][libpython] 使用gdb调试python脚本
- Dart网络编程-备忘录
- 江西 高职 分数 计算机,快讯!江西高职(专科)批次各高校投档分数线出炉…...
- 使用Duilib做的程序封装成DLL的显示加载与卸载问题
- C语言一个简单的贪吃蛇程序
- 安卓手机如何打开开发者模式?
- 谷歌浏览器怎么把阅读清单按钮放到书签栏?
- GitHub快速上手指南
- 简易双人坦克大战制作流程(二)
- OpenGL 立方体平行斜投影的绘制
- python 算法教程 pdf 英文_上手实践《Python机器学习第2版》PDF中文+PDF英文+代码+Sebastian...
- NX二次开发 布尔运算 UF_MODL_unite_bodies 布尔加
- 爱奇艺视频《哈利波特》怎么转换为mp4格式
热门文章
- input type属性为file时(type=file),上传一次然后做更新input的change事件
- 08Vue.js快速入门-Vue综合实战项目
- YUV格式文件转RGB格式
- mysql主备(centos6.4)
- PostgreSQL 最佳实践 - 在线增量备份与任意时间点恢复
- 编程之美- 中国象棋将帅问题
- 写在通用权限管理系统销售200套,从刚开始求人家用到人家主动索取,写一下亲身感受...
- div+css布局与seo的关系
- 关于代码调用SSP获取UserProfile出错的解决方案
- 函数式编程之一柯里化