文档章节

oracle job的创建和删除

RobertZhou
 RobertZhou
发布于 2017/09/07 09:46
字数 454
阅读 13
收藏 0

oracle job的创建

variable job30 number;
begin

--凌晨两点半执行
dbms_job.submit(:job30,'存储过程;',TRUNC(SYSDATE + 1) + (2*60+30)/(24*60),'TRUNC(SYSDATE + 1) + (2*60+30)/(24*60)');
end;
/

 或者

 

DECLARE
  jobno numeric;
BEGIN
  dbms_job.submit(jobno,
                  'getAndSyncKey;',
                  sysdate,
                  'trunc(sysdate,''mi'')+1');
END;

其中第二个参数;号必须带上

字符串里有字符串的多加一个双引号 比如第四个参数

 

其中lastjob 是存储过程或者function

sysdate表示执行开始时间

 最后一个参数表示下一次执行的时间的脚本 +1一般表示加1天

 

oracle job删除 可以使用

首先通过 

col job format 99999;

col log_user format a20;

select job,log_user from dba_jobs where log_user='abc'--查询abc用户下的所有job

查询的job列就是对应的job number  停止和删除都要使用job number

使用 下面两个命令 必须是创建job的用户使用dba权限进去 不然会出现下面找不到job number的情况

ERROR at line 1:
ORA-23421: job number 81 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 592
ORA-06512: at "SYS.DBMS_JOB", line 252
ORA-06512: at line 1

exec dbms_job.broken(1233,true) --true表示停止 false表示暂停

exec dbms_job.remove(1233)

 

 

如果使用dba 去删除另外用户的job 可以使用ijob

exec dbms_ijob.broken(1233,true) --true表示停止 false表示暂停

exec dbms_ijob.remove(1233)

 执行删除操作后 查询 select sid,job from dba_jobs_running

如果发现 job虽然被删除了但是任然在运行 只能去干掉session

比如 sid=183 job=81 的结果 

查询 select  sid,serial# from v$session where sid=183

183 ,3643

查询到结果通过 alter system kill session "183,3643"

执行完后查询select  sid,serial# from v$session where sid=183  没有了183

查询job select sid,job from dba_jobs_running where sid=183 也没有了 ok 解决

本文转载自:http://blog.csdn.net/liaomin416100569/article/details/8687885

共有 人打赏支持
RobertZhou
粉丝 8
博文 133
码字总数 17031
作品 0
广州
程序员
ORACLE中JOB的使用

JOB:和JAVA中的job类似,都是定时任务。 首先,建表: 然后,建个存储过程,用来向表里插入数据: JOB参数简介: /** job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个...

小小明童鞋
2016/11/07
33
0
oracle之sql简单操作

基于上篇文章的环境下进行操作http://huangsir007.blog.51cto.com/6159353/1854392 oracle用户sys、system区别: sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限...

落轩易离落
2016/09/20
0
0
oracle数据泵、表空间、库导入导出

2014-04-28 1.查找文件 [oracle@oracle53 ~]$ which expdp /u01/app/oracle/11.2.0/db_1/bin/expdp [oracle@oracle53 ~]$ locate expdp /u01/app/oracle/11.2.0/db_1/bin/expdp /u01/app/......

蓝蝶飞扬
2014/04/28
0
0
Oracle专题9之Oracle的数据库对象-视图

- 常见的数据库对象: 对象 描述 表 基本的数据存储集合,由行和列组成 视图 从表中抽取的逻辑上相关的数据集合 序列 提供有规律的数值 索引 提高查询的效率 同义词 给对象起的别名 1、Oracl...

极客微信条
2017/12/07
0
0
Oralce专题10之Oracle的其他数据库对象

1、Oracle的数据库对象:序列 a、什么是序列? 序列(sequence):是一种用于自动生成唯一数字的数据库对象。主要用于提供主键值。 b、怎样创建序列? 创建序列的语法格式: 示例: c、怎样使...

极客微信条
2017/12/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQMusicSetup.exe deepin-wine的程序位置: /root/.wine 默认安装的QQ浏览器快捷方式位置: /root/.wine/drive_c/'Program Files'/Te...

临江仙卜算子
37分钟前
1
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
44分钟前
2
0
聊聊:Linux分区的那些方案

安装linux的整体步骤其实比较简单,唯一可能值得说明的地方,大概就是linux的分区了。 下面来给大家推荐一些分区方案。 1 分两个区 实际上,很多时候我们只需要分两个区:`/`和交换分区,日常...

Linux就该这么学
55分钟前
1
0
适配器模式和外观模式

适配器模式: 将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。 例子: //将Enumeration转换成Iteratorpublic class EnumerationIterator implements Iter...

王怀楼
56分钟前
2
0
7-CXF与Spring整合发布webservice

Spring+CXF整合来管理webservice 实现步骤: 1. 添加cxf.jar 包(集成了Spring.jar、servlet.jar ),spring.jar包 ,servlet.jar 包 2. 编写业务类,通过CXF来发布webservice 员工管理: 方法...

江戸川
59分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部