oracle job的简介和实例
原文地址:http://guyuanli.itpub.net/post/37743/484763
每天1点执行的oracle JOB样例
DECLARE
X NUMBER;
BEGIN
SYS.DBMS_JOB.SUBMIT
( job =>
X,
what => 'ETL_RUN_D_Date;',
next_date => to_date('2009-08-26
01:00:00','yyyy-mm-dd hh24:mi:ss'),
interval =>
'trunc(sysdate)+1+1/24',
no_parse =>
FALSE
);
SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' ||
to_char(x));
COMMIT;
END;
/
以上是明确指定每天的1点执行此job,如果指定是每天中午12点执行interval需要指定为'trunc(sysdate)+1+12/24',如果仅仅指定interval为一天,这样当你手工用dbms_job.run(job)去运行一次时,job每天的执行时间是会改变的,如果你想job每天在固定时间执行,可以参考上面的例子.
初始化相关参数job_queue_processes
alter system set job_queue_processes=39
scope=spfile;//最大值不能超过1000 ;job_queue_interval = 10 //调度作业刷新频率秒为单位
job_queue_process 表示oracle
能够并发的job的数量,可以通过语句
show parameter job_queue_process;
来查看oracle中job_queue_process的值。当job_queue_process值为0时表示全部停止oracle的job,可以通过语句
ALTER SYSTEM SET job_queue_processes = 10;
来调整启动oracle的job。
相关视图:
dba_jobs
all_jobs
user_jobs
dba_jobs_running
包含正在运行job相关信息
-------------------------
提交job语法:
begin
sys.dbms_job.submit(job => :job,
what =>
'P_CLEAR_PACKBAL;',
next_date => to_date('04-08-2008 05:44:09',
'dd-mm-yyyy hh24:mi:ss'),
interval => 'sysdate+
1/360');
commit;
end;
/
-------------------------
创建JOB
variable jobno
number;
begin
dbms_job.submit(:jobno,
'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);
commit;
运行JOB
SQL> begin
dbms_job.run(:job1);
end;
/
删除JOB
SQL> begin
dbms_job.remove(:job1);
end;
/
DBA_JOBS
===========================================
字段(列) 类型 描述
JOB
NUMBER 任务的唯一标示号
LOG_USER VARCHAR2(30) 提交任务的用户
PRIV_USER VARCHAR2(30)
赋予任务权限的用户
SCHEMA_USER VAR
相关文档:
数据库的内存结构:
Memory structures are allocated to the Oracle instance when the instance is started.
The two major memory structures are known as the System Global Area(Also called the shared
Global Area)and the Program Global Area(also called the Private Global Area or the ......
定义:escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原
来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。
实例:
SQL> select * from t11 where name like '%_%';
NAME
----------
aa_a
aaa
SQL> select * from t11 where name like '%\_%' escape '\';
NAME
......
Author: rainnyzhong
Date:2010-1-15
1. 症状描述:
FALB12从EXCEL IMPORT DATA到DB,预计事务会运行1个多小时,在开始操作后40分钟左右,ORACLE挂死,任何用户都不可以再登陆了。
2. 分析
(1) 下面是挂死时OS的资源状况:
09:37:54 up 73 ......
一
、執行 ORACLE_HOME/rdbms/admin/dbmslock.sql 来创建 dbms_lock;
-在DBA身分下grant execute on dbms_lock to USERNAME;
-執行測試代碼
begin
dbms_output.put_line(to_char(sysdate,'yyyymmddhh24miss'));
dbms_lock.sleep(60);
dbms_output.put_line(to_char(sysdate,'yyyymmdd ......
原文地址:
http://blog.sina.com.cn/s/blog_60e4205e0100esaf.html
找出正在执行的JOB编号及其会话编号
SELECT SID,JOB from
DBA_JOBS_RUNNING;
停止该JOB的执行
SELECT SID,SERIAL# from
V$SESSION WHERE ......