易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关文档:

oracle的escape转义字符

定义:escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原
来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。
实例:
SQL> select * from t11 where name like '%_%';
NAME
----------
aa_a
aaa
SQL> select * from t11 where name like '%\_%' escape '\';
NAME
......

oracle序列操作

--  序列操作 --
-- 创建序列
CREATE SEQUENCE u_sales_SEQ INCREMENT BY 1 START WITH 1 MINVALUE 1 NOCYCLE NOCACHE NOORDER;
-- 查出所有存在的序列
SELECT * from  user_sequences  
-- 删除序列
DROP  SEQUENCE  U_SALES_SEQ;
-- 查出下一个序列ID
SELECT  U_SALES_SEQ. ......

oracle DBMS_LOCK.SLEEP()的使用


、執行 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 ......

ORACLE dblink 小记

建DBLINK:
使用pl/sql developer建:找到Database Links,右键新建
                          名称:dblink名  连接到用户名:目标数据库登录名 密码:目标数据库密码
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号