Oracle 9i Job Queues总结
1、Oracle与Job有关的操作都是通过DBMS_JOB来完成的;
2、后台进程CJQ0(Coordinate Job
Queue)定期查询dba_views,并将这些job按时间进行排序。当发现一个Job可以运行了,就自动产生一个Job
Queue进程(Jnnn)来执行这个Job.
3、通过数据库的参数JOB_QUEUE_PROCESSES来控制:1)是否启动CJQ0 2)Job
Queue进程的个数(即可同事执行的Job的最大个数)。JOB_QUEUE_PROCESSES为0,则CJQ0不启动,所有Job均不会如期执行。
JOB_QUEUE_PROCESSES为为20,表明最大20个Job可以同时运行.
JOB_QUEUE_PROCESSES参数是dynamic的,可动态修改:ALTER SYSTEM SET
JOB_QUEUE_PROCESSES = 20;
4、创建一个JOB:
VARIABLE jobno NUMBER
BEGIN
DBMS_JOB.SUBMIT(:jobno,
'DBMS_DDL.ANALYZE_OBJECT(''TABLE'',
''HR'',
''EMPLOYEES'',
''ESTIMATE'', NULL, 50);',
SYSDATE, 'SYSDATE +
1');
COMMIT;
END;
/
PRINT jobno
DBMS_JOB.SUBMIT
的格式为:
SUBMIT(JOBNO,WHAT,NEXT_DATE,INTERVAL,NO_PARSE),其中:
jobno是
一个OUT参数。当SUBMIT执行完毕,jobno会带出ORACLE分配的job号码。这个job号码作为这个JOB的标识
WHAT是这
个JOB要做的事情。用''引起来的任何PL/SQL语句
NEXT_DATE是下次要执行这个JOB的时间。默认为SYSDATE
INTERVAL
是间隔,决定了这个任务下次运行的时间。每次JOB运行时,都会计算这个INTERVAL字段,并在执行完毕后将这个值放到NEXT_DATE字段中去,
作为下次执行的时间;
NO_PARSE:决定WHAT部分的东西实在SUBMIT的时候进行解析(FALSE)还是第一次执行的时候解析
(TRUE)。
5、常见的WHAT:
'myproc(''10-JAN-99'', next_date,
broken);'
'scott.emppackage.give_raise(''JFEE'', 3000.00);'
'dbms_job.remove(job);'
6、常见的INTERVAL:
'SYSDATE + 7' 每七天
'SYSDATE + 1/48' 每半小时
'NEXT_DAY(TRUNC(SYSDATE),
''MONDAY'') + 15/24' 每周一的下午三点
'NEXT_DAY(ADD_MONTHS(TRUNC(SYSDATE,
''Q''), 3), ''THURSDAY'')' 每季度的第1个星期四
7、删除一个JOB
BEGIN
相关文档:
我们可以通过START WITH . . . CONNECT BY . . .子句来实现SQL的 层次查询,而Oracle 10g 为其添加许多了新的伪列。十多年以来,Oracle SQL 具有依照层次关系进行查询的功能。例如,你可以指定一个起始条件,然后根据一个或多个连接条件来确定孩子行的内容。举例来说,现在假设我有一个表,里面记 ......
Oracle外部身份认证研究
密码文件认证 操作系统认证 remote_login_passwordfile SQLNET.AUTHENTICATION_SERVICES &nb ......
select * from TTable1 for update 锁定表的所有行,只能读不能写
2 select * from TTable1 where pkid = 1 for update 只锁定pkid=1的行
3 select * from Table1 a join Table2 b on a.pkid=b.pkid for update 锁定两个表的所有记录
4 select * from Table1 a join Table2 b on a.pki ......
author:skate
time:2010-05-13
1)If memory increases and you're 64-bit, e.g 8G to 16G, Oracle SGA and related parameters need adjust; So are some the Unix kernel parameters.
2)As for CPU related configuration, some parameters, based on CPU_co ......