oracle怎么创建任务 oracle 创建sid

如何在Oracle中管理计划任务是的 。以前我们在处理这类需求时也是这么做的 。
但从ORACLE 10.1 版本开始,ORACLE 开发了一个新的包DBMS_SCHEDULER。这个包挺复杂的 , 以至于我在初次学习之后,就没再去用它了 。功能太强大了,其实很多我们不需要的 。
我们就有这个需求,看看DBMS_SCHEDULER 是如何解决的 。
在SQLPLUS 中,使用DBMS_SCHEDULER.CREATE_JOB 创建计划任务,用于调度一个存储过程 。
存储过程很简单,我为这个测试而创建的,就是向一张表里插入数据 。
CREATE TABLE T1 AS SELECT SYSDATE AS AA FROM DUAL;
CREATE OR REPLACE PROCEDURE SP_TEST_T1 AS
BEGIN
INSERT INTO T1 SELECTD SYSDATE FROM DUAL;
COMMIT;
END;
这个存储过程没有输入输出参数,是为了JOB 调用方便 。如果实际运行过程中有参数,我们就写一个存储过程封装它,再放入JOB 中调用 。
例如:
CREATE PROCEDURE GATHER_GTJA_STATS
AS
BEGIN
SYS.DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME = 'GTJA',ESTIMATE_PERCENT = 30,METHOD_OPT = 'FOR ALL INDEXED COLUMNS SIZE AUTO',CASCADE = TRUE,OPTIONS = 'GATHER');
END;
使用DBMS_SCHEDULER.CREATE_JOB 创建一个JOB, 调用存储过程SP_TEST_T1 , 执行间隔2 分钟 。这里的JOB_NAME 名称可以自己定义 , 这个摆脱了DBMS_JOB 中JOB 号不能自定义的缺点 。
EXEC DBMS_SCHEDULER.CREATE_JOB(JOB_NAME = 'JOB_SP_TEST_T1',JOB_TYPE = 'STORED_PROCEDURE',JOB_ACTION ='SP_TEST_T1' ,START_DATE = SYSDATE ,REPEAT_INTERVAL = 'FREQ=MINUTELY; INTERVAL=2');
该命令执行成功后,可以在*_SCHEDULER_JOBS 中看到JOB 的配置值 。
SELECT * FROM DBA_SCHEDULER_JOBS;
SELECT * FROM USER_SCHEDULER_JOBS WHERE JOB_NAME='JOB_SP_TEST_T1';
使用该命令新建的JOB,默认是不执行的 , 需要将其状态改成可执行状态 。
EXEC DBMS_SCHEDULER.ENABLE(NAME = 'JOB_SP_TEST_T1');
可以删除重建它 。
EXEC DBMS_SCHEDULER.DROP_JOB(JOB_NAME = 'JOB_SP_TEST_T1');
EXEC DBMS_SCHEDULER.CREATE_JOB(JOB_NAME = 'JOB_SP_TEST_T1',JOB_TYPE = 'STORED_PROCEDURE',JOB_ACTION = 'SP_TEST_T1',START_DATE = TO_DATE('2012-06-12 15:30:00','YYYY-MM-DD HH24:MI:SS') ,REPEAT_INTERVAL = 'FREQ=DAILY');
这个创建过程而言,其实和DBMS_JOB 创建JOB 的差别不大,但DBMS_SCHEDULER 可配置的地方就太多了 。执行时间间隔非常非常灵活,这里不做详述了,具体请看ORACLE 官方文档 。
DBMS_SCHEDULER 针对每一次JOB 执行 , 都做了详细记录,因此,可以查询到每一次JOB 执行的时间了 。
具体可以查看两类视图*_SCHEDULER_JOB_LOG 和*_SCHEDULER_JOB_RUN_DETAILS。
SELECT * FROM DBA_SCHEDULER_JOB_LOG;
SELECT * FROM DBA_SCHEDULER_JOB_RUN_DETAILS;
如果嫌日志太多了,可以使用PURGE_LOG 去清理 。
EXECUTE DBMS_SCHEDULER.PURGE_LOG;
这个DBMS_SCHEDULER 包的功能太多了 , 用起来也累,所以很多人还是选择DBMS_JOB。
Oracle怎么建立一个计划任务特别提示:
oracle是执行完任务,才按照interval去计算下次执行时间?。。?
【oracle怎么创建任务 oracle 创建sid】为精确每个5分钟执行一个任务,必须自己计算时间 。
如:trunc_minute(sysdate) 5/1440
create or replace function trunc_minute(v_date date) return date as
begin
return to_number(trunc(to_char(v_date, 'mi')/5))*5/(24*60)trunc(v_date, 'hh24');
end;
Oracle 定时任务job实际应用Oracle定时任务是在oracle系统中一个非常重要的子系统,运用得当 , 可以大大提高我们系统运行和维护能力 。oracle定时任务的功能,可以在指定的时间点自行执行任务 。
那么在实际工作中,什么样的场景会用到定时任务呢?下面是在实际工作中用到的真实业务场景举例
上面是通过脚本创建,当然也可以通过plsql图形化工具来创建,具体创建过程如下
**系统会自动分配一个任务号jobno ** , 根据jobno 可以进行如下定时任务操作
查询结果如下
其中broken = N 表示该job已经生效
我们再来查看目标表中有没有定时插入数据
可以看到,定时一分钟插入了一条数据 。
1、根据jobno,执行以下脚本可以停止job
再来查看定时任务是否停用成功
我们发现BROKEN=Y说明定时任务已经停止成功了
BROKEN = N ,刚才的定时任务又启动了
下面总计了一些定时任务中常用的运行时间
Oracle数据库设置任务计划备份一周的备份记录 Oracle 数据库备份
保留最近一周oracle怎么创建任务的备份记录;
====正文
====开始==============
echo 设置备份文件存放文件夹
set "tbuf=E:Cwaybackup"
echo 设置备份文件名(以星期几命名 即备份文件只保存最近一周)
set name=趖e%
set name=%name:~ %
set name=ORCL_backup_%name%
echo 是否存在同名文件 若存在则删除同名文件
if exist %tbuf%%name% dmp del %tbuf%%name% dmp
if exist %tbuf%%name% log del %tbuf%%name% log
echo 开始备份XX项目 Oracle 数据库
exp User /PassWord @Orcl file=%tbuf%%name% dmp log= %tbuf%%name% log
echo 备份完毕!
===结束=======
==将“开始” “结束”之间oracle怎么创建任务的内容复制到txt文件中 修改相应的参数如 路径 数据库名称等;
另存为bat格式 创建任务计划 设置每天运行即可实现数据库备份

( )User 要备份数据的用户名;
( )PassWord 口令;
lishixinzhi/Article/program/Oracle/201311/19110
oracle 创建定时任务执行存储过程可以用图形化界面来创建JOB,如图:在PL/SQL的项目DBMS_JOBS中进行新建 。
填写好上面标红的地方后,点击应用即可生成计划!
oracle创建用户怎么做 Oracle如何创建用户1、我们在Sql Plus中,我们利用Create User关键字进行用户创建 。
2、此时,我们就可以在Create User后面,指定用户名称 。
3、这时候 , 我们就可以在这里利用Indentified By关键字引导 。
4、引导我们当前新建的用户指定与Test 。
5、这时候,我们按下回车,就可以看到我们新家你的Angela用户成功创建 。
6、这时候 , 我们就能对Dba_Users表进行查询是否创建成功 。
关于oracle怎么创建任务和oracle 创建sid的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读