`

ORCLE10g 数据库定时任务

 
阅读更多

 

如果想让oracle 数据库定时执行一个什么任务,可以用如下的方法实现:
上例子:

准备东西:

  1. create table t3(k integer primary key,  d date);   -- 例子表  
  2.   
  3. create sequence seq_test start with 1 increment by 1;   --例子序列  
  4.       
  5. create or replace procedure insert_into_t3 as  --例子过程  
  6. begin  
  7.   insert into t3 (k, d) values (seq_test.nextval, sysdate); --把t1里面的相关数据插到t2中    
  8.   commit; --插入一条记录commit一次    
  9. end;  




下面的代码,将每分钟执行一下上面的insert_into_t3过程

  1. var job number;  
  2.   
  3. begin  
  4.    dbms_job.submit(  
  5.      job => :job,  
  6.      what => 'insert_into_t3;',  
  7.      next_date => to_date('2014-06-17 12:35:00','yyyy-MM-dd hh24:mi:ss'),  
  8.      interval => 'sysdate+1/(24*60)'  
  9.   );  
  10.   commit ;  
  11. end;  



可以通过下面的语句查询一下任务列表:

  1. SELECT * from user_jobs order by next_date;  



如果想手动触发一下任务,可以用如下语句:

  1. begin    
  2.       dbms_job.run(jobNum);    
  3. end;    
  4. /    



通过下面的语句删除任务

  1. begin    
  2.       dbms_job.remove(jobNum);    
  3. end;    
  4. /    



注意:有一个系统参数需要特别注意:job_queue_processes
如果 show parameter job_queue_processes 显示其值为0,则定时任务不会执行。
需要用如下语句给它设置一个>0的值。例如:
alter system set job_queue_processes=10

分享到:
评论
1 楼 jieyanqulaopo123 2014-11-19  
如果定时任务不能运行,可以根据如下列表进行检查原因:
Checklist for job issues

For convenience, I've included the brief checklist here:

Is the Database Instance in RESTRICTED SESSIONS mode?
Is the parameter JOB_QUEUE_PROCESSES set to 0?
Is the hidden parameter '_SYSTEM_TRIG_ENABLED' set to FALSE?
Is the job marked 'BROKEN' in the DBA_JOBS table?
Have you issued a commit after submitting the job?
Have you tried setting the hidden parameter, "_job_queue_interval" to a different value (default is 5 seconds)?
Has the database server (machine) been up for more than 497 days
Check Internal Oracle bug: 3427424 "SLGCSF / SLGCS STOP INCREMENTING AFTER 497 DAYS UPTIME"
It is fixed in 10.1.0.2.0. - workaround is to reboot of the database server (see also Solution for the 497 day bug below).
Is the job still running in DBA_JOBS_RUNNING?
Does the LAST_DATE and NEXT_DATE fields in DBA_JOBS make sense for the particular job?
If LAST_DATE is null, the job has never executed automatically.
Does the NEXT_DATE field change per the INTERVAL field in DBA_JOBS?
If not, it's not automatically working?
Have you tried changing the value for JOB_QUEUE_PROCESSES to '0' and then back again?
This restarts the CJQ process.
See Oracle Bug 2649244 (fixed by: 9015, 9203, 10201)
Finally, if you have upgraded or refreshed the database, try executing 'exec dbms_ijob.set_enabled(true);' as sysadm.

-- http://www.confio.com/logicalread/why-wont-my-oracle-jobs-run/#.U5_Hv0AvilY

相关推荐

    Oracle10G 数据库同步

    综上所述,Oracle10G数据库同步涉及多个层面,包括复制技术的选择、网络配置、安全性控制、定时任务的设定以及文件的管理和维护。理解并熟练掌握这些知识点,对于确保数据库系统的稳定运行至关重要。

    ORACLE定时任务不能自动执行的检查修复步聚

    Oracle 定时任务是 Oracle 数据库中的一种功能,可以根据设置的计划执行某些任务。但是,在某些情况下,Oracle 定时任务可能不能自动执行。这可能是由于某个版本的 BUG 导致的。下面将介绍如何检查和修复 Oracle ...

    Oracle 10g数据库自动备份

    ### Oracle 10g数据库自动备份知识点解析 #### 核心知识点:自动备份脚本设计与实现 在Oracle 10g中实现自动备份是非常重要的一个环节,这不仅能够确保数据的安全性,还能够提高系统的可用性和恢复能力。本文将...

    linux下远程定时备份oracle数据库

    编辑`crontab -e`命令打开定时任务编辑器,然后根据需要设置备份频率,例如每天凌晨1点执行备份: ```bash 0 1 * * * /path/to/your/backup_script.sh ``` `backup_script.sh`是包含上述expdp命令的脚本,别忘了...

    [讲稿]LINUX下服务器安装oracle10g数据库教程.doc

    在Linux环境下安装Oracle 10g数据库是一个复杂的过程,涉及多个步骤和配置。以下是对这个教程的一些关键知识点的详细解释: 1. **Linux下安装Oracle 10g**: - **系统需求检查**:在安装前,你需要确保你的Linux...

    windows下oracle数据库备份压缩&删除历史备份.rar

    在Windows环境下,特别是Win2008或Win8操作系统中,管理和维护Oracle 11g数据库的备份至关重要。Oracle数据库的备份是确保数据安全性和业务连续性的重要环节。本资料"windows下oracle数据库备份压缩&删除历史备份....

    oracle 10g在linux下定时备份手册

    通过遵循上述步骤和策略,您可以确保在Linux环境中为Oracle 10g数据库建立可靠的定时备份系统。然而,记得根据实际情况调整这些步骤,因为每个数据库环境都有其独特的需求和挑战。为了更深入地了解Oracle备份和恢复...

    图书:精通Oracle 11g数据库中的定时器

    《精通Oracle 11g数据库中的定时器》这本书主要涵盖了Oracle数据库系统中关于定时任务的高级使用技巧,包括但不限于数据库的调度程序、自动任务管理和时间触发的事件处理。Oracle 11g作为一款广泛使用的数据库管理...

    oracle 定时导出脚本

    - `-u user`:指定为哪个用户设置定时任务。 - `-e`:编辑定时任务列表。 - `-r`:删除定时任务。 - `-l`:列出当前定时任务。 - **格式说明**:crontab的格式为`f1 f2 f3 f4 f5 program`,其中: - `f1`:...

    springmvc+bootstarp备份与恢复orcle10g数据库实现

    本资源"springmvc+bootstrap备份与恢复Oracle10g数据库实现"提供了一个结合Spring MVC和Bootstrap技术来自动化数据库备份和恢复的解决方案,这对于那些需要确保数据安全性的企业尤其有价值。 Spring MVC是一个强大...

    Oracle定时执行存储过程

    oracle 是一个功能强大的关系型数据库管理系统,可以执行各种复杂的任务,其中包括定时执行存储过程。定时执行存储过程可以让 oracle 自动执行某些操作,而不需要人工干预。下面我们将详细讲解 oracle 中的定时执行...

    oracle10g服务启动与关闭批处理

    本批处理文件主要针对Oracle 10g数据库服务的启动与关闭操作,这对于数据库管理员进行日常维护或故障排查至关重要。下面我们将详细探讨这个主题。 首先,Oracle 10g服务的启动与关闭通常通过命令行工具`sqlplus`...

    oracle定时任务.txt

    ### Oracle定时任务实现方法 #### 一、使用`DBMS_JOB` 在Oracle数据库中,`DBMS_JOB`包提供了一种简单的方式来安排周期性或一次性的工作。以下将详细介绍如何使用`DBMS_JOB`来创建、运行和管理定时任务。 ##### ...

    linux下oracle定时备份

    在Redhat Linux Enterprise 5中,Oracle 10g版本的数据库管理员可以通过配置crond服务和编写脚本来安排自动备份。 首先,确认`crond`服务是否已启动。在Linux终端中,可以使用以下命令检查和管理`crond`服务的状态...

    oracle10g在linux上的定时备份

    在Linux环境下,通过编写脚本并结合计划任务(Cron)来实现Oracle 10g数据库的定时自动备份,可以有效地提高数据管理的效率和自动化水平。 #### 二、准备工作 1. **备份服务器配置:** - 首先需要在备份服务器上...

    对oracle10g定时备份

    通过以上步骤,你可以在Oracle 10g环境中成功创建一个定时备份任务,确保数据库的安全性。记得定期检查备份的完整性和可用性,以及根据业务变化适时调整备份策略。这不仅有助于防止数据丢失,还能在灾难恢复时快速...

    Oracle 10g的任务调度.pdf

    Oracle 10g数据库中的任务调度是数据库管理中的一个重要功能,它允许数据库管理员(DBA)安排和自动执行数据库中的任务。在Oracle 10g版本中,任务调度功能得到了加强,引入了DBMS_SCHEDULER包,它提供了一系列用于...

    ORACLE数据库自动备份3种方法

    本文将详细介绍Oracle数据库自动备份的三种常见方法:Windows下的任务计划(At命令)、UNIX下的Crontab以及第三方工具(如Viritas),并提供具体的实施步骤。 #### 二、Windows下的任务计划(At命令) ##### 1. ...

Global site tag (gtag.js) - Google Analytics