`
JYLike97
  • 浏览: 23145 次
  • 性别: Icon_minigender_1
  • 来自: 四川
文章分类
社区版块
存档分类
最新评论

关于oracle计划任务设置的实例

阅读更多
承接上文,本片具体讨论一下plan_jobs,在数据库中常常需要用到很多的计划任务,
主要是实现数据的定时处理。比如在本次开发中,我们有一个酒店取消预订的计划任务需要实施,存储过程如下
                     ----取消房间预订
PROCEDURE CANCELPREBOOK
AS
cursor cur_prebook is
  select t.prebookid,t.roomid
  from prebook t
  where t.valid=0
  and  t.roomid =-1
  and  t.scheduledate<sysdate;
CURSOR CUR_HASPREBOOK IS
  select t.prebookid,t.roomid
  from prebook t
  where t.valid=0
  AND T.ROOMID<>-1
  and  t.scheduledate<sysdate;
v_id number;
v_roomid number;
V_STATUS NUMBER;
BEGIN
  open cur_prebook;
  loop
  fetch cur_prebook into v_id,v_roomid;
    exit when cur_prebook%notfound;
                      ----取消预订表
  update prebook t
  set t.valid=1
  where t.valid=0
  and t.prebookid=v_id;
                      ----取消预订房间
  update rooms rm
  set rm.status=1
  where rm.roomid=v_roomid;
 end loop;
 close cur_prebook;
                      ----CANCEL HASN'T IN
  OPEN CUR_HASPREBOOK;
  loop
  fetch CUR_HASPREBOOK into v_id,v_roomid;
    exit when CUR_HASPREBOOK%notfound;
    SELECT T.STATUS INTO V_STATUS
    FROM ROOMS T WHERE T.ROOMID=V_ROOMID;
    IF V_STATUS=2 THEN
                     ----CANCEL ROOM
      UPDATE ROOMS RS SET RS.STATUS=1
      WHERE RS.ROOMID=v_roomid;
                     ---CANCEL PREBOOK RECORD
      UPDATE PREBOOK BK SET BK.VALID=1
      WHERE BK.PREBOOKID= v_id;
    END IF;
  END LOOP;
  CLOSE CUR_HASPREBOOK;
END CANCELPREBOOK;

具体的方法是:
1,打开pl/sql的command window。
2,定义一个number变量叫jobno。
sql>variable jobno number;
3,提交任务。

SQL> begin
  2  dbms_job.submit(--pro C的语法
          :jobno,----任务计划系统编号
          'ems_planjob_pkg.CANCELPREBOOK;',----调用计划包中的目标过程
           sysdate+(45/1440),----首次执行时间
          'sysdate+1'-----间隔执行时间
           );
  3  end;
  4  /-----激活
成功后提示如下
PL/SQL procedure successfully completed
用户可以查询出当前的任务计划,确认是否正确,语句如下
select * from user_jobs;
分享到:
评论

相关推荐

    关于oracle计划任务设置的实例.rar

    本教程将通过实例深入探讨如何在Oracle中设置计划任务。 首先,我们需要了解Oracle中的计划任务组件。`DBMS_SCHEDULER`是Oracle提供的包,用于创建、管理和执行计划任务。这个包提供了丰富的接口,可以创建一次性...

    linux下oracle手动建实例

    在Linux环境中手动构建Oracle实例是一项高级且复杂的任务,通常适用于需要定制化配置或特殊需求的场景。本文档将根据给定的信息,详细介绍如何在Linux环境下手动创建Oracle实例的过程,并深入解释每个步骤中的关键...

    linux下oracle创建实例总结

    在 Linux 环境中,为了正确运行 Oracle,首先需要设置一系列环境变量,这些变量用于指定 Oracle 的安装目录、实例名等关键信息。具体操作如下: ```bash export ORACLE_BASE=/oracle export ORACLE_HOME=/oracle/...

    ORACLE 10G单实例ASM

    【Oracle 10G单实例ASM】是一种Oracle数据库技术,用于在单一数据库实例中管理存储。这个技术,称为Automatic Storage Management(自动存储管理),能够自动处理数据文件、控制文件、重做日志文件等的存储和管理,...

    oracle实例删除

    在Oracle RAC环境中进行实例管理是一项重要的任务,包括添加新的实例或删除现有的实例。本文将详细介绍如何在Oracle RAC集群中删除一个实例。 #### 二、准备工作 在进行Oracle RAC实例删除之前,需要进行一系列的...

    oracle 创建job实例

    Oracle 创建 Job 实例是指在 Oracle 数据库中创建一个计划任务,用于在特定的时间点执行特定的操作。以下是创建 Job 实例的详细过程和相关知识点: 一、创建 Job 实例 要创建一个 Job 实例,需要使用 dbms_job....

    Oracle 单一主机多个实例多个监听器配置

    在Oracle单一主机上配置多个实例和多个监听器是一项复杂但关键的任务,它能显著提升系统的性能和稳定性。通过理解并正确设置`local_listener`参数,以及熟练掌握`lsnrctl`命令和`listener.ora`文件的配置,管理员...

    任务计划+批处理实现Oracle数据库的定时备份

    本文将详细介绍如何利用任务计划和批处理脚本来实现Oracle数据库的定时备份。 一、任务计划(Task Scheduler) Windows的任务计划程序允许用户设置定期执行特定任务,如运行一个批处理文件。创建任务计划的过程...

    Oracle11G创建数据库实例

    Oracle 11g 创建数据库实例是一项关键任务,用于在计算机上建立一个运行Oracle数据库的环境。这个过程包括多个步骤,确保实例能够正确地管理和存储数据。以下是对标题和描述中所述知识点的详细说明: 首先,Oracle...

    linux系统给oracle数据库增加新的实例(1).pdf

    总结来说,为Oracle数据库在Linux系统上增加新实例的过程是一个系统性的任务,涉及到文件系统的管理、数据库配置、安全设置以及网络通信的调整。每个步骤都至关重要,确保了新实例能够正确地创建和运行。在整个过程...

    ORACLE日常维护实例

    以下是对Oracle日常维护实例的详细说明: 首先,DBA每天需要对Oracle数据库的运行状态进行监控,确保所有实例处于正常状态。可以通过登录到所有数据库实例,使用`ps -ef | grep ora`命令查看Oracle后台进程,以确认...

    手动创建oracle实例

    初始化参数文件(如initORCL.ora)是Oracle实例的核心配置文件,它定义了数据库实例的运行参数,如缓存设置、文件配置、安全设置等。文件中的参数配置直接影响到数据库的性能和安全性。 #### 关键参数解读: - **...

    oracle一个监听多个实例

    本文将详细讲述如何在Oracle 11g环境下设置一个监听器对应多个实例的配置方法。 首先,Oracle的网络配置可以分为图形界面配置和命令行配置两种方式。 在图形界面下,主要通过Net Configuration Assistant工具来...

    oracle高级复制应用实例

    Oracle高级复制是Oracle数据库系统中的一种复杂的数据同步技术,它允许在不同的数据库之间实时或近实时地复制数据。这项技术对于分布式系统、灾难恢复、负载均衡以及数据分发等场景非常有用。以下是对Oracle高级复制...

    Linux上建第二个ORACLE实例分析

    在Linux操作系统上创建和管理ORACLE数据库实例是一个技术性较强的任务,涉及到多个步骤和系统级别的配置。以下是对"Linux上建第二个ORACLE实例分析"这一主题的详细解释: 首先,我们要理解ORACLE实例是什么。在...

    手工创建ORACLE数据库实例

    4. **启动后台进程**:Oracle实例运行时,需要一系列后台进程,如DBWR(数据库写入进程)、LGWR(日志写入进程)、PMON(进程监控进程)等,它们执行各种任务,如数据写入磁盘、日志记录、故障恢复等。 5. **创建...

    Oracle 删除归档日志实例

    ### Oracle 删除归档日志实例 #### 背景与目的 在Oracle数据库管理中,归档日志的处理是一项重要的任务。对于选择了非归档模式但仍希望使用闪回等功能的数据库来说,随着时间的推移,归档日志可能会占用大量的磁盘...

    oracle数据库实例视频教程01

    这包括选择合适的版本、安装步骤、设置环境变量以及创建数据库实例。数据库实例是Oracle运行时环境的一部分,它包含内存结构和后台进程,使得用户可以与数据库进行交互。理解实例的创建和管理是Oracle数据库管理员的...

Global site tag (gtag.js) - Google Analytics