`
jeelee
  • 浏览: 637858 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle学习笔记(第十五章:排程作业)

阅读更多
--数据库作业:dbms_job
-- dbms_job 支持存储过程在系统的管理下周期性自动运行而无须用户介入
-- 数据库参数文件(init.ora)中有两个参数控制SNP进程的属性:job_queue_proceses,job_queue_interval
-- job_queue_proceses 值在0--36,表示可以同时运行的进程数,0表示系统禁止作业运行
-- job_queue_interval 值在1--3600,表示两个进程唤醒的间隔,进程按制定的时间进行睡眠
-- 运行作业:
-- 提交 submit,其过程的语法:
-- procedure submit(job out binary_integer,what in varchar2,next_Date in date default sysdate,inteval in varchar2 default null,no_parse in boolean default false)
-- 参数意义:
-- job 作业号,创建作业时,作业被赋值一个作业号,只要该作业存在,作业号不变,作业号在实例中 是唯一的
--     当一个作业编号提交,该作业就被赋值了一个作业号,该作业号由序列号 sys.jobseq 生成的
-- what 组成作业的PL/SQL代码,通常,该代码是存储过程的调用,所调用的procedure可以带任何个数的参数,但参数类型必须是 in
--      存储过程中的参数必须用两个单引号引起来
-- next_date 作业下次运行的日期,时间间隔
--           'sysdate + 7',间隔为一周
--           'next_date(trunc(sysdate),''friday''+12/24)'每周五中午运行
--           sysdate + 1/24 每小时运行
-- interval 作业再次运行时间的函数,该函数的值必须是一个时间值或为null
-- no_parse 如果为true,作业在第一次运行时才进行语法分析,如果为false,作业在提交时就对其分析,如果作业引用的数据库对象不存在但又必须提交该作业时,可以将该参数设置为true
-- 例子1:
---- 创建一个procedure,功能可以实现更新数据库表
CREATE OR REPLACE PROCEDURE P_UPDATE_AGE(i_emp_no CHAR)
AS
v_age INT;
BEGIN
     SELECT emp_age INTO v_age FROM emp_m
     WHERE emp_no=i_emp_no;
     UPDATE emp_m SET emp_age = v_age + 1
     WHERE emp_no=i_emp_no;
END;
---- 提交作业,每隔10秒B行一次 p_update_age
DECLARE
v_jobnum NUMBER;
BEGIN
     dbms_job.submit(v_jobnum,'p_update_age(''0001'');',SYSDATE,'sysdate + (10/(24*60*60))');
     COMMIT;--一定要有commit,如果没有该作业会话结束后,则事务将自动重新开始
END ;
--
--例子2:
CREATE OR REPLACE PROCEDURE p_temp_insert
AS
BEGIN
INSERT INTO temp_insert VALUES(temp_seq.NEXTVAL,SYSDATE);
END;
---
DECLARE
v_jobnum NUMBER :=1;
BEGIN
     dbms_job.submit(v_jobnum,'p_temp_insert;',SYSDATE,'sysdate + (5/(24*60*60))');
     COMMIT;
END;
-- 要启动作业运行必须提交包括调用dbms_job.submit语句的事物.
-- 运行命令:run,语法:dbms_job.run(job in binary_integer)
-- 作用,立即运行该作业( 不论作业处于什么状态下)
-- 其他 dbms_job 包的子程序:
-- isubmit       由其它过程使用指定的作业号i入作业的接口程序,程序员不能在其它程序代码中直接使用该程序,只能使用submit
-- run           强迫指定的作业运行在当前进程中
-- remove        从作业队列中删除一个作业
-- broken        标记作业中断或没有中断
-- change        变更作业中任何可配置的字段
-- what          变更what字段
-- next_date     变更next_date字段
-- interval      变更interval字段
-- instance      变更instance字段
-- user_export   返回需要重新创建作业调度的文本
-- check_privs   确定作业号可访问
-- 删除作业
-- romove(job in binary_integer)
-- 中断作业
-- broken(job in binary_integer ,broken in boolean,next_Date in date default sysdate)
-- 变更作业
-- procedure change(job in binary_integer,what in varchar2 default null,next_Date in date default null,interval in varchar2 default null)
-- procedure what(job in binary_integer,what in varchar2 )
-- procedure next_Date(job in binary_integer,next_Date in date)
-- procedure interval(job in binary_integer,interval in varchar2)
-- 实例仿射性:指定一个实例来运行给定的作业,这就叫实例仿射性,实例由过程 instance指定,语法是:
-- PROCEDURE INSTANCE(job IN binary_integer,instance IN BINARY_INTEGER,force IN boolean default false)
-- 导出作业
-- procedure user_export(job in binary_integer,mycall in out varchar2);
-- 例子
DECLARE
v_jobtext VARCHAR2(1000);
BEGIN
     dbms_job.user_export(5,v_jobtext);
     dbms_output.put_line(v_jobtext);
END;
-- 检查作业的权限:有两个功能,1,校验给定的作业号是否存在,2,锁定数据字典中响应的行以便程序对其进行修改
-- porcedure check_privs(job in binary_integer)
-- 在数据字典中观察作业:dba_jobs,user_jobs
SELECT * FROM user_jobs;


分享到:
评论

相关推荐

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    Oracle学习笔记.pdf

    以下是对Oracle学习笔记中提到的一些关键知识点的详细解释: 1. **SQL执行顺序**: SQL语句的执行顺序是:`FROM` -> `WHERE` -> `SELECT` -> `GROUP BY` -> `HAVING` -> `ORDER BY`。首先从`FROM`子句开始,确定...

    Oracle学习笔记

    Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

    oracle dba学习笔记

    Oracle DBA 学习笔记 标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在...

    ORACLE数据库体系架构视频教程详细完整版

    第十五章:Oracle 网络 第三部分:管理Oracle数据库 第十六章:Oracle ASM 管理 第十七章:逻辑备份与恢复 第十八章:物化视图。 由于文件过大,只提供百度网盘下载地址和提取码,请放心下载。 信誉第一,如有任何...

    Oracle学习笔记.doc

    Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...

    Oracle学习笔记-日常应用、深入管理、性能优化

    资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1/2

    ORACLE学习笔记:日常应用、深入管理、性能优化.part1

    Oracle学习笔记 Oracle学习笔记

    ### Oracle 学习笔记概览 在Oracle学习过程中,掌握基础的命令与权限管理是至关重要的。以下内容将围绕Oracle数据库的基础操作、用户管理以及权限控制等方面展开。 ### 基础操作 1. **连接与断开** - 使用`conn...

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    oracle学习笔记整理

    以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...

    oracle11g

    第十五章:序列 第三部分:SQL语言的扩展 第十六章:INSERT语句总结 第十七章:DML和DDL语句的其他用法 第十八章 通过GROUP BY产生统计报告 第十九章:ORACLE分层查询 第二十章:Oracle的Timezone 第二十一章:...

    成功之路:Oracle11g学习笔记.pdf

    《成功之路:Oracle 11g学习笔记》共24章,主要介绍了Oracle安装、干净卸载Oracle、数据库启动关闭、Oracle网络配置等相关内容。在介绍Oracle系统管理的知识以后,将介绍与开发相关的内容(如PL/SQL基础知识、存储过程...

    成功之路:Oracle11g学习笔记

    资源名称:成功之路:Oracle 11g学习笔记内容简介:本书专为开发人员编写,先引导开发新手熟悉Oracle环境,然后进入数据库开发,并要掌握项目开发中的一些技巧。开发技巧展示是本书的一大特色(这一点很值得资深的...

    Oracle学习笔记——日常应用、深入管理、性能优化 示例代码

    Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...

Global site tag (gtag.js) - Google Analytics