十字螺丝钉 发表于 2011-12-22 08:54

oracle job(任务)杂记

<DIV>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">查询正在运行的<SPAN lang=EN-US>job<BR></P>
<DIV class=codeText id=codeText>
<OL class=dp-css style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-TOP: 5px">
<LI>dba_jobs_running</LI>
<LI></LI>
<LI>select SID,JOB,to_char(LAST_DATE,'YYYY-MM-DD HH24:MI:SS') FROM dba_jobs_running;</LI></OL></DIV></SPAN></SPAN></DIV>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">查看<SPAN lang=EN-US>job</SPAN>的<SPAN lang=EN-US>id</SPAN>,<SPAN lang=EN-US>job</SPAN>的任务名是什么,上次和下次的执行时间以及刷新的执行的时间间隔<SPAN lang=EN-US><BR></P>
<DIV class=codeText id=codeText>
<OL class=dp-css style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-TOP: 5px">
<LI>SELECT JOB,WHAT,LOG_USER,TO_CHAR(LAST_DATE,'YYYY-MM-DD HH24:MI:SS'),TO_CHAR(NEXT_DATE,'YYYY-MM-DD HH24:MI:SS'),INTERVAL FROM USER_JOBS;</LI></OL></DIV>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">查看<SPAN lang=EN-US>job</SPAN>的具体内容</SPAN></P><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">user_source</SPAN><SPAN lang=EN-US style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"><BR></P></SPAN><SPAN lang=EN-US>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">查看定义的存储过程代码</SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"><SPAN lang=EN-US>&nbsp;</P>
<DIV class=codeText id=codeText>
<OL class=dp-css style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-TOP: 5px">
<LI>select NAME,TYPE,LINE,TEXT from user_source;</LI></OL></DIV>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><BR>&nbsp;</P></SPAN></SPAN></SPAN><SPAN lang=EN-US><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">********<BR></SPAN><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">创建<SPAN lang=EN-US>job*<BR>********<BR></SPAN></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"></SPAN></P>
<DIV class=codeText id=codeText>
<OL class=dp-css style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-TOP: 5px">
<LI>1.创建一个测试表</LI>
<LI></LI>
<LI>create table test(a date);</LI>
<LI></LI>
<LI>2.创建存储过程</LI>
<LI></LI>
<LI>create or replace procedure myproc as </LI>
<LI></LI>
<LI>begin</LI>
<LI></LI>
<LI>insert into test values(sysdate);</LI>
<LI></LI>
<LI>end;</LI>
<LI></LI>
<LI>/</LI>
<LI></LI>
<LI>3.创建job</LI>
<LI></LI>
<LI>variable n number;</LI>
<LI></LI>
<LI>begin</LI>
<LI></LI>
<LI>dbms_job.submit(:n,'myproc;',sysdate,'sysdate+1/360');</LI>
<LI></LI>
<LI>commit;</LI>
<LI></LI>
<LI>end;</LI>
<LI></LI>
<LI>/</LI>
<LI></LI>
<LI></LI>
<LI></LI>
<LI>查看job号</LI>
<LI></LI>
<LI>print :n;</LI>
<LI></LI>
<LI></LI>
<LI></LI>
<LI>换个写法</LI>
<LI></LI>
<LI>variable jobno number</LI>
<LI></LI>
<LI>begin</LI>
<LI></LI>
<LI>dbms_job.submit(job =&gt; :jobno,</LI>
<LI></LI>
<LI>what =&gt; 'myproc;',</LI>
<LI></LI>
<LI>next_date =&gt; to_date('2011-08-02 12:30:00','YYYY-MM-DD HH24:MI:SS'),</LI>
<LI></LI>
<LI>interval =&gt; 'sysdate+1');</LI>
<LI></LI>
<LI>commit;</LI>
<LI></LI>
<LI>end;</LI>
<LI></LI>
<LI>/</LI>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"><FONT face=宋体 color=#000000 size=3>print jobno</FONT><BR></SPAN></P></OL></DIV>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt">&nbsp;</P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt">&nbsp;</P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">********************<BR></SPAN><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">修改<SPAN lang=EN-US>job</SPAN>的运行时间<SPAN lang=EN-US>***<BR>********************<BR></SPAN></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">格式<SPAN lang=EN-US><BR></SPAN></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt">&nbsp;</P>
<DIV class=codeText id=codeText>
<OL class=dp-css style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-TOP: 5px">
<LI>exec dbms_job.change(job号,what,next_date,interval);</LI>
<LI></LI>
<LI>如果不用修改的字段就写成null</LI></OL></DIV>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体">如,想把<SPAN lang=EN-US>41</SPAN>号<SPAN lang=EN-US>job</SPAN>下一次运行时间改为<SPAN lang=EN-US>8</SPAN>月<SPAN lang=EN-US>3</SPAN>号的<SPAN lang=EN-US>7</SPAN>点执行<SPAN lang=EN-US><BR></SPAN></SPAN></P>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt">&nbsp;</P>
<DIV class=codeText id=codeText>
<OL class=dp-css style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-TOP: 5px">
<LI>exec dbms_job.change(41,null,trunc(sysdate+1)+(7*60)/(24*60),null);</LI></OL></DIV>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><BR>&nbsp;</P></SPAN></SPAN>
<P class=MsoPlainText style="MARGIN: 0cm 0cm 0pt"><SPAN style="mso-hansi-font-family: 宋体; mso-bidi-font-family: 宋体"><STRONG>数据字典<SPAN lang=EN-US>DBA_JOBS</SPAN>的字段意义</STRONG><SPAN lang=EN-US><BR></P>
<DIV class=codeText id=codeText>
<OL class=dp-css style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 1px 0px 0px; PADDING-TOP: 5px">
<LI>字段(列) 类型 描述</LI>
<LI></LI>
<LI>JOB NUMBER 任务的唯一标示号</LI>
<LI></LI>
<LI>LOG_USER VARCHAR2(30) 提交任务的用户</LI>
<LI></LI>
<LI>PRIV_USER VARCHAR2(30) 赋予任务权限的用户</LI>
<LI></LI>
<LI>SCHEMA_USER VARCHAR2(30) 对任务作语法分析的用户模式</LI>
<LI></LI>
<LI>LAST_DATE DATE 最后一次成功运行任务的时间</LI>
<LI></LI>
<LI>LAST_SEC VARCHAR2(8) 如HH24:MM:SS格式的last_date日期的小时,分钟和秒</LI>
<LI></LI>
<LI>THIS_DATE DATE 正在运行任务的开始时间,如果没有运行任务则为null</LI>
<LI></LI>
<LI>THIS_SEC VARCHAR2(8) 如HH24:MM:SS格式的this_date日期的小时,分钟和秒</LI>
<LI></LI>
<LI>NEXT_DATE DATE 下一次定时运行任务的时间</LI>
<LI></LI>
<LI>NEXT_SEC VARCHAR2(8) 如HH24:MM:SS格式的next_date日期的小时,分钟和秒</LI>
<LI></LI>
<LI>TOTAL_TIME NUMBER 该任务运行所需要的总时间,单位为秒</LI>
<LI></LI>
<LI>BROKEN VARCHAR2(1) 标志参数,Y标示任务中断,以后不会运行</LI>
<LI></LI>
<LI>INTERVAL VARCHAR2(200) 用于计算下一运行时间的表达式</LI>
<LI></LI>
<LI>FAILURES NUMBER 任务运行连续没有成功的次数</LI>
<LI></LI>
<LI>WHAT VARCHAR2(2000) 执行任务的PL/SQL块</LI>
<LI></LI>
<LI>CURRENT_SESSION_LABEL RAW MLSLABEL 该任务的信任Oracle会话符</LI>
<LI></LI>
<LI>CLEARANCE_HI RAW MLSLABEL 该任务可信任的Oracle最大间隙</LI>
<LI></LI>
<LI>CLEARANCE_LO RAW MLSLABEL 该任务可信任的Oracle最小间隙</LI>
<LI></LI>
<LI>NLS_ENV VARCHAR2(2000) 任务运行的NLS会话设置</LI>
<LI></LI>
<LI>MISC_ENV RAW(32) 任务运行的其他一些会话参数</LI></OL></DIV></SPAN></SPAN></SPAN></SPAN>
页: [1]
查看完整版本: oracle job(任务)杂记