精华内容
下载资源
问答
  • Oracle创建定时任务调用存储过程 执行多条删除语句 从网上搜了很多结合自己的实际业务需求总结了一下 创建定时任务的时候一直报错 存储过程无效 ORA-06550: line 2, column 7: PLS-00905: object NETWORK_BUS_PRIOR_...

    Oracle创建定时任务调用存储过程 执行多条删除语句

    从网上搜了很多结合自己的实际业务需求总结了一下

    创建定时任务的时候一直报错 存储过程无效

    ORA-06550: line 2, column 7:
    PLS-00905: object NETWORK_BUS_PRIOR_INFO_PRO is invalid
    ORA-06550: line 2, column 7:
    PL/SQL: Statement ignored 
    

    关于修改Oracle定时任务执行时间
    解决方案

    展开全文
  • oracle修改定时任务

    千次阅读 2012-05-23 17:07:43
    oracle怎么修改定时任务job 2011-5-11 08:49 提问者: abcws19891222 | 悬赏分:10 | 浏览次数:359次 首先创建了定时任务 VARIABLE jobno number; begin DBMS_JOB.SUBMIT(:jobno,'myProcs;',Sysdate,...

    1          oracle怎么修改定时任务job

    2011-5-11 08:49

    提问者: abcws19891222 | 悬赏分:10 | 浏览次数:359次

    首先创建了定时任务

    VARIABLE jobno number;

    begin

    DBMS_JOB.SUBMIT(:jobno,'myProcs;',Sysdate,'sysdate+1');  

    commit;

    end;

    然后有业务需要调整定时任务执行的时间和时间间隔,该怎么修改呢

    我来帮他解答

    推荐答案

    2011-5-11 09:09

    DBMS_JOB.SUBMIT改成DBMS_JOB.CHANGE即可

    追问

    怎么确定改的是当前这个任务呢?

    回答

    select * from user_jobs

    就能看到你的那个job的id了

    追问

    我的意思是现在创建的任务jobnum为1,将submit改为change后,怎么确定改的是1这个任务,因为我建了很多任务,比如还有2、3、4...

    回答

    你试试看就知道啦,select* from user_jobs 这里能看到你要的所有信息

    追问

    我来告诉你吧

    VARIABLE jobno number;

    begin

    DBMS_JOB.change(1,'myProcs;',Sysdate,'sysdate+1');  

    commit;

    end;

    这样就可以了,答非所问

    回答

    你太强了,太崇拜你了

     

    展开全文
  • 查询当前用户定时任务 SELECT t.* FROM dba_jobs t 创建定时任务 declare job number; BEGIN DBMS_JOB.SUBMIT( JOB => job, /自动生成JOB_ID/ WHAT => ‘GET_WARNING_INFO(2, 202, ‘‘2,44,11’’);’, /需要...

    查询当前用户定时任务
    SELECT t.* FROM dba_jobs t

    创建定时任务
    declare
    job number;
    BEGIN
    DBMS_JOB.SUBMIT(
    JOB => job, /自动生成JOB_ID/
    WHAT => ‘GET_WARNING_INFO(2, 202, ‘‘2,44,11’’);’, /需要执行的存储过程名称或SQL语句/
    NEXT_DATE => sysdate, /初次执行时间-立即执行/
    INTERVAL => ‘trunc(sysdate,’‘mi’’)+1/(24*60)’ /每隔1分钟执行一次/
    );
    commit;
    end;

    启动/暂停定时任务
    begin
    dbms_job.broken(24,false,sysdate); /*停止一个job,jobId, job的ID,里面参数true也可是false,next_date(某一时刻停止)也可是sysdate(立刻停止)。 */
    commit;
    end;

    删除某定时任务
    begin
    dbms_job.remove(83); /删除自动执行的job,参数是 job的id/
    commit;
    end;

    更改定时任务包含的任务
    begin
    dbms_job.what(‘newProcedures();’); /newProcedures(); 要更改的新操作名称/
    commit;
    end;

    展开全文
  • Oracle定时任务Job笔记

    2018-10-11 22:47:00
    所以考虑使用Oracle定时任务直接从数据库层删除临时表。 定时任务业务:  首先写好一个存储过程。读当前用户所有以tempXXXXX开头的临时表,然后依次删除所有的临时表。然后在建立Oracle Job每天晚上定时调用这个...

    定时任务应用场景:

      某一个生产系统上面,临时表不断变多,占了不少磁盘空间。由于这套软件是直接买的,不方便修改源代码。所以考虑使用Oracle定时任务直接从数据库层删除临时表。

    定时任务业务:

      首先写好一个存储过程。读当前用户所有以tempXXXXX开头的临时表,然后依次删除所有的临时表。然后在建立Oracle Job每天晚上定时调用这个存储过程。

    存储过程代码:

    create or replace PROCEDURE KDDROPTEMPTABLE AS
    BEGIN
      declare
      cursor c_usertable is
      select table_name from user_tables t where t.TABLE_NAME like 'TEMPTABLE0000%' and status = 'VALID';
      my_tablename user_tables.table_name%TYPE;
      v_sql varchar2(200);
      v_count integer := 0;
      begin
        --DBMS_OUTPUT.ENABLE(buffer_size => null);
           open c_usertable;
             loop
               --提取一行数据到c_usertable
               fetch c_usertable into my_tablename;
               exit when c_usertable%notfound;
               v_sql := 'drop table '||my_tablename;
               execute immediate v_sql;
               v_count := v_count+1;
               -- dbms_output.put_line(v_sql);
             end loop;
           --关闭游标
          close c_usertable;
          dbms_output.put_line('总工删除的临时表数量:'||v_count);
      end;
    END KDDROPTEMPTABLE;

     

    Oracle定时任务建立步骤

    Oracle有两种语法可以建定时任务,Oracle10g以后就开始推荐使用下面这种。老的方式本文不涉及。

    如果你有Oracle SQL developer可以用界面新建

     

    以下是通过SQL直接建Job:

    BEGIN
        DBMS_SCHEDULER.CREATE_JOB (
                job_name => '"ZSNC57"."autoDeleteTemp"',
                job_type => 'STORED_PROCEDURE',
                job_action => 'ZSNC57.KDDROPTEMPTABLE',
                number_of_arguments => 0,
                start_date => TO_TIMESTAMP_TZ('2018-09-12 14:41:09.000000000 ASIA/SHANGHAI','YYYY-MM-DD HH24:MI:SS.FF TZR'),
                repeat_interval => 'FREQ=DAILY;BYHOUR=14;BYMINUTE=45;BYSECOND=0',
                end_date => NULL,
                enabled => FALSE,
                auto_drop => TRUE,
                comments => '自动删除临时表');

             
        DBMS_SCHEDULER.SET_ATTRIBUTE(
                 name => '"ZSNC57"."autoDeleteTemp"',
                 attribute => 'restartable', value => TRUE);
         
     
        DBMS_SCHEDULER.SET_ATTRIBUTE(
                 name => '"ZSNC57"."autoDeleteTemp"',
                 attribute => 'logging_level', value => DBMS_SCHEDULER.LOGGING_FULL);
          
     
        
        DBMS_SCHEDULER.enable(
                 name => '"ZSNC57"."autoDeleteTemp"');
    END;


    直接手动运行定时任务的方式(目前还没研究出来为啥一直报错):
    begin
        dbms_scheduler.run_job('autoDeleteTemp',TRUE); -- true代表同步执行
    end;

    注:如果直接执行存储过程可以执行,但定时任务却始终执行不了,执行以下步骤:

       select * from dba_sys_privs where grantee='oracle_user_name';
     查询一下当前用户被直接赋予的权限有哪些.如果没有的话执行下列赋权语句.
     grant create job to oracle_user_name;
     grant MANAGE SCHEDULER  to oracle_user_name;
     show parameter job;  --显示当前job参数,如果job_queue_processes = 0则执行下面语句修改.
     alter system set job_queue_processes = 1;

     

    如果你的Job正常运行了,通过如下几张表可以查询到运行记录:

    --Oracle定时任务
    -- job信息
    select * from user_scheduler_jobs;
    --  job日志
    select * from User_Scheduler_Job_Log;
    -- job运行日志
    select * from user_scheduler_job_run_details;
    --正在运行的job
    select * from user_scheduler_running_jobs;

    在Oracle SQL developer中也有集成界面

     

    转载于:https://www.cnblogs.com/namelessmyth/p/9634883.html

    展开全文
  • oracle定时任务

    2011-08-18 17:27:52
    Oracle 创建定时任务JOB 修改浏览权限 | 删除 一、分析问题 事实上,对于以上需求,我们可以利用数据库本身拥有的功能Job Queue(任务队列管理器)去实现。任务队列管理器允许用户提前调度和安排某一任务...
  • 所以考虑使用Oracle定时任务直接从数据库层删除临时表。定时任务业务:首先写好一个存储过程。读当前用户所有以tempXXXXX开头的临时表,然后依次删除所有的临时表。然后在建立Oracle Job每天晚上定时调用这个存储...
  • 所以考虑使用Oracle定时任务直接从数据库层删除临时表。定时任务业务:首先写好一个存储过程。读当前用户所有以tempXXXXX开头的临时表,然后依次删除所有的临时表。然后在建立Oracle Job每天晚上定时调用这个存储...
  • 查看当前job队列大小:select value v$parameter where name like "%jobj_queue_processes%" ; 然后将值改大:alter system set job_queue_processes =100; 
  • Oracle 定时任务遇到的问题

    千次阅读 2016-12-09 08:56:14
    最近在使用oracle定时任务的过程中遇到了很多问题,基本是跪着走过来的,特此记录一下。 oracle定时任务新建我就不叙述了,主要讲一下我遇到的问题:新建任务以后,只执行了一次,就不再自动执行了,废话不多说,...
  • Oracle 定时任务详解(dbms_job)

    千次阅读 2020-06-28 08:01:05
    文章目录1 概述2 dbms_job2.1 提交2.2 暂停2.3 修改2.4 运行2.5 ...扩展:Oracle 定时任务详解(dbms_scheduler) 2 dbms_job 1. 查看数据库中定时任务的最多并发数(默认:1000) (1) show parameter job_queue_pro
  • 3、interval指定该定时任务的执行频率,此处为每一天的('TRUNC(SYSDATE + 1) + (2*60+30)/(24*60)')执行,即凌晨2:30分执行 常用命令: -- 查看调度任务 select * from user_jobs; -- 查看正在执行的调度...
  • Oracle定时任务dbms_job

    2018-09-05 23:43:17
    调用Oracle的dbms_job包中的存储过程,将任务加入到任务队列中: a、创建job: dbms_job.submit(job,what,next_date,interval); b、删除job: dbms_job.remove(job);  c、修改要执行的操作: job:dbms_job.what(job...
  • 初始化相关参数job_queue_processesjob_queue_process表示oracle能够并发的job的数量,当job_queue_process值为0时表示全部停止oracle的job 查看job_queue_processes参数 show parameter job_queue_process; 或者 ...
  • oracle修改定时任务下次启动时间

    千次阅读 2014-04-12 10:40:54
    begin dbms_job.next_date(job,to_date('','yyyy-mm-dd hh24:mi:ss'))
  • oracle数据库定时任务

    2017-08-05 13:00:16
    于是决定综合网上资料和自己的项目,写一篇oracle数据库自带的job来实现定时任务。 一、定时任务的创建、启动、修改、停止、删除 1、首先需创建一存储过程,然后让定时任务按照设定的时间和时间间隔去执行存
  • 所以考虑使用Oracle定时任务直接从数据库层删除临时表。定时任务业务:首先写好一个存储过程。读当前用户所有以tempXXXXX开头的临时表,然后依次删除所有的临时表。然后在建立Oracle Job每天晚上定时调用这个存储...
  • 之前的文章介绍了定时任务的实现,但是经过几天测试发现,定时任务经常会自动停止,什么原因呢? 经过分析,是JOB_QUEUE_...最后经过修改pfile文件,问题解决,具体结果如何,让定时任务跑几天,看看结果再说
  • 概述前面有介绍过Oracle schedule的一些用法,不过很多朋友说还是不太清楚怎么用,刚好最近打算调整下定时任务的时间,所以这里顺便演示下,也记录下!一、检查目前定时任务情况1、查看job具体定义select owner,job_...
  • Oracle定时任务

    2019-12-07 15:05:56
    本着拿来即用的原则,我将原文章简化了一些,并且修改了一些错误 大部分内容来自https://blog.csdn.net/qq_40709468/article/details/81876828 简单无脑来个示例,走起 1.创建一个表 2.创建一个存储过程 3.创建...
  • 1 C:\Users\Administrator>sqlplus sys/sys@192.168.1.251/orcl as sysdba 2 3 SQL*Plus: Release 11.2.0.1.0 Production on 星期六 12月 16 03:51:28 2017 ... 5 Copyright (c) 1982, 2010, Oracle. All...
  • 1. 准备测试表。 -- Create table create table TEST1 (  OID VARCHAR2(10) not null, ...tablespace USERS -- 表空间要修改  pctfree 10  initrans 1  maxtrans 255  storage  (  initia
  • oracle job 用来在数据库层面,定时执行存储过程或者是 SQL 语句...SELECT t.* FROM dba_jobs t--创建一个 定时任务 jobdeclarejob number;BEGINDBMS_JOB.SUBMIT(JOB => job, /*自动生成JOB_ID*/WHAT => 'GET...
  • 一、dbms_job涉及到的知识点 ...–系统会自动分配一个任务号jobno。 2、删除job: dbms_job.remove(jobno); 3、修改要执行的操作: job:dbms_job.what(jobno, what);  4、修改下次执行时间:dbms_j
  • –系统会自动分配一个任务号jobno。2、删除job:dbms_job.remove(jobno);3、修改要执行的操作: job:dbms_job.what(jobno, what);4、修改下次执行时间:dbms_job.next_date(jobno, next_date);5、修改间隔时间:dbms_...
  • oracle全文索引和定时任务 --首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。 --如果没有这个用户和角色,意味着你的数据库创建时未安装intermedia功能。 --你必须修改数据库以安装这项功能。 --用sys用户为了...
  • 一、dbms_job涉及到的知识点1、创建job:–系统会自动分配一个任务号jobno。2、删除job:dbms_job.remove(jobno);3、修改要执行的操作: job:dbms_job.what(jobno, what);4、修改下次执行时间:dbms_job.next_date...
  • oracle每天定时备份-自动创建计划任务,解压出来修改数据库的配置机、保存路径,执行后,如果是服务器的话,可以去系统的计划任务中配置相关的任务执行时间,不懂可以留言

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 174
精华内容 69
关键字:

修改oracle定时任务