Oracle 10g DBMS_SCHEDULER的中度解析
这篇论坛文章(赛迪网技术社区)针对DBMS_SCHEDULER的使用方法进行了详尽的介绍,更多内容请参考下文:
DBMS_SCHEDULER是Oracle 10G中新增的一个包,与老版本的dbms_job包相比,dbms_scheduler有很多新特性,我将通过一系列的文章来介绍一下如何使用这个包.
1. 创建job
job是什么呢? 简单的说就是计划(schedule)加上任务说明. 另外还有一些必须的参数.
这里提到的"任务"可以是数据库内部的存储过程,匿名的PL/SQL块,也可以是操作系统级别的脚本.
可以有两种方式来定义"计划":
1) 使用DBMS_SCHDULER.CREATE_SCHEDULE 定义一个计划;
2) 调用DBMS_SCHDULER.CREATE_JOB过程直接指定 (下面会详细说明)
在创建一个计划时,你至少需要指定下面的属性,它们是job运行所必须的:
开始时间 (start_time);
重复频率 (repeat_interval);
结束时间 (end_time)
另外,对于一个job而言,还有很多的附加参数:
job_class
job_priority
auto_drop
restartable
max_runs
max_failures
schedule_limit
logging_level
下面,我以问答的形式来具体解释.
http://www.mscto.com
Q1:怎么从数据库中查询job的属性 ?
A1: 有两种方法:
1) 查询(DBA|ALL|USER)_SCHEDULER_JOBS 视图
(提示: 根据用户权限的不同,选择性的查询 DBA|ALL|USER视图)
2) 调用DBMS_SCHEDULER包中的GET_ATTRIBUTE 过程 软件开发网
Q2: 怎么设置这些属性呢?
A2: 也是有两种方法
1) 在创建job时直接指定
2) 调用DBMS_SCHEDULER包中的SET_ATTRIBUTE 过程
Q3: "我需要什么权限才能创建job" ?
它可以创建属主为任何用户(SYS用户除外)的job.
缺省情况下,job会被创建在当前的schema下,并且是没有激活的; 如果要使job一创建
http://www.mscto.com
就自动激活,需要显式的设置enabled 属性为true, 来看一个例子:
http://www.mscto.com
begin
dbms_scheduler.create_job
相关文档:
原文出自:http://tenn.javaeye.com/blog/99339
在Oracle
中,要按特定条件查询前N条记录,用个rownum
就搞定了。
select * from emp where rownum
<= 5
而且书上也告诫,不能对rownum
用">",这也就意味着,如果你想用
select * from emp where rownum
&nbs ......
We are pleased to announce that Oracle has completed its acquisition of Sun Microsystems and Sun is now a wholly owned subsidiary of Oracle. With this news, we want to reiterate our commitment to deliver complete, open and integrated systems that help our customers improve the performance, reliabi ......
触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有以下的作用:
* 安全性。可以基于数据库的值使用户具有操作数据库的某种权利。
# 可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。 ......
以system登录进去之后,执行下面的命令:
SQL> alter user scott account unlock; (完成解锁的操作)
用户已更改。
SQL> alter user scott identified by tiger; (重新给scott这个用户设定密码)
用户已更改。
SQL> conn scott/tiger
已连接。 ......
select sid,
p1,
p1raw,
p2,
p2raw,
p3,
p3raw,
&n ......