查找oracle的数据库job任务的命令

合集下载

Oracle存储过程调测及job使用指导

Oracle存储过程调测及job使用指导

Oracle存储过程调测及job使用指导关键词:Oracle数据库、存储过程、调测、job作业、日常维护一、概述在Oracle数据库使用过程中,现场经常会因为业务需要或定位问题等原因,对数据库存储过程及函数进行调测、手工检查job任务运行情况等,本文给出了Oracle存储过程的简单调测方法和job任务的一些操作指导,同时附上了Oracle日常维护的一些常用操作。

二、Oracle存储过程调测方法业务数据库在使用过程中经常会用到Function和Procedure,其中Function一般情况下是用来计算并返回一个计算结果,而Procedure一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),Procedure可以返回值,也可以做一件事,比如几个表之间的数据转换,而Function一定要有返回值而且只能返回一个值,因此如果需要返回多个参数值最好使用存储过程。

下面给出存储过程调测方法:1.在Functions下面选择需要调测的存储过程。

在选择的存储过程名上点击右键,首先选择Add debug information增加调测信息(选择Add debug information后会有成功提示),如下图所示:2.在选择的存储过程名上点击右键,选择Test进行调测,如下图所示:3.在下图中的红色框内输入参数,需要根据现场实际情况确认哪些参数是输入参数,哪些参数是输出参数,可以通过查看存储过程代码得到。

本例中第一个result和最后一个i_result 是输出参数,不需要输入,调测后会显示调测结果,一般1是成功,0是失败。

4.参数输入完毕后,点击Start debugger进行调测(下图中红色框内齿轮装按钮):5.再点击Step into(下图中红色框内按钮)进入存储过程:6.进入存储过程后可以使用Step into或者Step over 进行调测。

如果需要查看某个变量的执行结果,可以把鼠标放到该变量上,结果会自动显示。

ORACLE JOB

ORACLE JOB
END;
8.改变一个job;
1)你当然可以删除这个job;然后重新写一个;
2)更好的方式是通过DBMS_JOB_CHANGE()这个方法。关于这个的几个说明:
使用方式如下:
BEGIN
DBMS_JOB.CHANGE(JOB => 21, WHAT => NULL, NEXT_DATE => NULL, INTERVAL => ‘SYSDATE + 7′);
当oracle尝试启动一个job 16次以后还未成功,则放弃尝试,同时将dba_jobs这个视图中broken标记为"Y".
所以,如果你不想一个任务被调用,可以这样:
BEGIN
DBMS_JOB.BROKEN(JOB => 21, BROKEN => TRUE); ----------标记为TRUE;
INTERVAL => 下一次执行时间); -------时间表达式,注意用单引号必须的使用。
commit;
END;
/
3 。举一个例子:
VARIABLE jobnumber number
BEGIN
DBMS_JOB.SUBMIT(JOB => :jobnumber,
WHAT => ‘DBMS_STATS.GATHER_DATABASE_STATS(options => ‘’GATHER AUTO'’);’, -------特别需要注意最后一个分号不能少。
Oracle Job
1.查看job调度的process:
show parameter job_queue_process;
你可以通过更改这个process数量,来全局的启动或者停止job任务。(需要重启数据库)

oracle dbms_jobs的sql语句

oracle dbms_jobs的sql语句

第一部分:概述1. 介绍oracle dbms_jobs的概念和作用欢迎阅读本文,今天我们将来讨论oracle dbms_jobs的sql语句。

在Oracle数据库中,dbms_jobs是一种用来管理作业的工具,它可以帮助我们在数据库中定期执行特定的任务。

通过使用dbms_jobs,我们可以轻松地设置和管理数据库中的作业,以便在需要的时候自动运行。

第二部分:dbms_jobs的常用sql语句2. 创建一个作业如果我们想要在数据库中创建一个新的作业,可以使用以下SQL语句:```sqlDECLAREjobno number;BEGINdbms_job.submit(job => jobno,what => 'your_job_procedure;', -- 作业的具体内容next_date => SYSDATE, -- 下一次运行的时间interval => 'SYSDATE + 1', -- 作业的运行间隔no_parse => TRUE);COMMIT;END;```3. 查看作业的状态如果我们想要查看数据库中的作业状态,可以使用以下SQL语句: ```sqlSELECT job, what, next_date, intervalFROM dba_jobs;```4. 修改作业的运行时间如果我们需要修改一个作业的下一次运行时间,可以使用以下SQL 语句:```sqlBEGINdbms_job.BROKEN(jobno, TRUE, SYSDATE + 1);COMMIT;END;```5. 删除一个作业如果我们需要删除数据库中的某个作业,可以使用以下SQL语句:```sqlBEGINdbms_job.remove(jobno);COMMIT;END;```第三部分:结语6. 总结oracle dbms_jobs的sql语句通过本文的介绍,我们了解了Oracle数据库中管理作业的重要工具dbms_jobs,并学习了一些常用的SQL语句。

Oracle Job定时任务

Oracle Job定时任务

Oracle Job定时任务oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。

一、查询系统中的job,可以查询视图--相关视图select * from dba_jobs;select * from all_jobs;select * from user_jobs;-- 查询字段描述/*字段(列)类型描述JOB NUMBER 任务的唯一标示号LOG_USER VARCHAR2(30) 提交任务的用户PRIV_USER VARCHAR2(30) 赋予任务权限的用户SCHEMA_USER VARCHAR2(30) 对任务作语法分析的用户模式LAST_DATE DATE 最后一次成功运行任务的时间LAST_SEC VARCHAR2(8) 如HH24:MM:SS格式的last_date日期的小时,分钟和秒THIS_DATE DATE 正在运行任务的开始时间,如果没有运行任务则为nullTHIS_SEC VARCHAR2(8) 如HH24:MM:SS格式的this_date日期的小时,分钟和秒NEXT_DATE DATE 下一次定时运行任务的时间NEXT_SEC VARCHAR2(8) 如HH24:MM:SS格式的next_date日期的小时,分钟和秒TOTAL_TIME NUMBER 该任务运行所需要的总时间,单位为秒BROKEN VARCHAR2(1) 标志参数,Y标示任务中断,以后不会运行INTERVAL VARCHAR2(200) 用于计算下一运行时间的表达式FAILURES NUMBER 任务运行连续没有成功的次数WHAT VARCHAR2(2000) 执行任务的PL/SQL块CURRENT_SESSION_LABEL RAW MLSLABEL 该任务的信任Oracle会话符CLEARANCE_HI RAW MLSLABEL 该任务可信任的Oracle最大间隙CLEARANCE_LO RAW MLSLABEL 该任务可信任的Oracle最小间隙NLS_ENV VARCHAR2(2000) 任务运行的NLS会话设置MISC_ENV RAW(32) 任务运行的其他一些会话参数*/-- 正在运行jobselect * from dba_jobs_running;其中最重要的字段就是job 这个值就是我们操作job的id号,what 操作存储过程的名称,next_date 执行的时间,interval执行间隔二、执行间隔interval 运行频率描述INTERVAL参数值每天午夜12点TRUNC(SYSDATE + 1)每天早上8点30分TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)每星期二中午12点NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24每个月第一天的午夜12点TRUNC(LAST_DAY(SYSDATE ) + 1)每个季度最后一天的晚上11点TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' )-1/24每星期六和日早上6点10分TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)每秒钟执行次Interval => sysdate + 1/(24 * 60 * 60)如果改成sysdate + 10/(24 * 60 * 60)就是10秒钟执行次每分钟执行Interval => TRUNC(sysdate,'mi') + 1/ (24*60)如果改成TRUNC(sysdate,'mi') + 10/ (24*60) 就是每10分钟执行次每天定时执行例如:每天的凌晨1点执行Interval => TRUNC(sysdate) + 1 +1/ (24)每周定时执行例如:每周一凌晨1点执行Interval => TRUNC(next_day(sysdate,'星期一'))+1/24每月定时执行例如:每月1日凌晨1点执行Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24每季度定时执行例如每季度的第一天凌晨1点执行Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24每半年定时执行例如:每年7月1日和1月1日凌晨1点Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24每年定时执行例如:每年1月1日凌晨1点执行Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24三、创建job方法创建job,基本语法:declarevariable job number;beginsys.dbms_job.submit(job => :job,what => 'prc_name;',next_date => to_date('22-11-2013 09:09:41', 'dd-mm-yyyy hh24:mi:ss'),interval => 'sysdate+1/86400');--每天86400秒钟,即一秒钟运行prc_name过程一次commit;end;使用dbms_job.submit方法过程,这个过程有五个参数:job、what、next_date、interval 与no_parse。

ORACLE 知识整理(JOB)

ORACLE 知识整理(JOB)

你先找到JOB号:SELECT JOB FROM USER_JOBS WHERE WHAT='ES_DBA.P_DELETE_JBPM_DATA' 如:为62则再运行以下语句:Begindbms_job.remove(job => 62);End;/Commit;oracle job管理SVRMGR> select * from dba_jobs;初始化相关参数job_queue_processesalter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000 ;job_queue_interval = 10 //调度作业刷新频率秒为单位DBA_JOBS describes all jobs in the database.USER_JOBS describes all jobs owned by the current user1 select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yy yy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)2 select job,what,last_date,next_date,interval from dba_jobs where job in (1,3);查询job的情况。

show paramter background_dump_dest.看alter.log 和traceSVRMGR> select * from dba_jobs;初始化相关参数job_queue_processesalter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000job_queue_interval = 10 //调度作业刷新频率秒为单位DBA_JOBS describes all jobs in the database.USER_JOBS describes all jobs owned by the current user1 select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yy yy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)2 select job,what,last_date,next_date,interval from dba_jobs where job in (1,3);查询job的情况。

oracle job语法

oracle job语法

oracle job语法在Oracle 数据库中,使用DBMS_SCHEDULER 包来创建和管理作业(Job)。

以下是使用 DBMS_SCHEDULER 包创建和管理作业的基本语法:创建作业(Job):BEGINDBMS_SCHEDULER.create_job (job_name => 'JOB_NAME',job_type => 'PLSQL_BLOCK', -- 或者其他支持的作业类型job_action => 'BEGIN YOUR_PLSQL_BLOCK; END;',start_date => SYSTIMESTAMP,repeat_interval => 'FREQ=DAILY; BYHOUR=0; BYMINUTE=0; BYSECOND=0',enabled => TRUE);END;/在上面的示例中,job_name 是作业的名称,job_type 是作业的类型(这里使用PLSQL_BLOCK 表示一个PL/SQL 语句块作业),job_action 是作业执行的PL/SQL 语句块,start_date 是作业的开始时间,repeat_interval 是作业的重复执行间隔,enabled 表示作业是否启用。

创建存储过程作业:CREATE OR REPLACE PROCEDURE your_procedure ASBEGIN-- Your procedure logic hereEND;/创建并运行存储过程作业:BEGINDBMS_SCHEDULER.create_job (job_name => 'PROCEDURE_JOB',job_type => 'PLSQL_BLOCK',job_action => 'BEGIN your_procedure; END;',start_date => SYSTIMESTAMP,repeat_interval => 'FREQ=DAILY; BYHOUR=0; BYMINUTE=0; BYSECOND=0',enabled => TRUE);END;/查看作业信息:SELECT job_name, job_type, job_action, enabledFROM user_scheduler_jobs;这是一个简单的示例,实际上 DBMS_SCHEDULER 提供了更多选项来定义作业的执行时间、间隔、优先级等。

oracle-job

oracle-job

一、建表create table onlineuser(UPDATETIME DATE,LOGINTIME DATE,USERID NUMBER,LOGINTYPE NUMBER,IP VARCHAR2(20),GUID VARCHAR2(200),PORT NUMBER);二、在PLSQL中创建存储过程:create or replace procedure pro_onlineuserAScarinfo_id number;BEGINinsert into ONLINEUSER values(sysdate,sysdate,133,'5','172.16.37.234','45',33);commit;end pro_onlineuser;select * from ONLINEUSER三、在SQL命令窗口中启动任务:在SQL>后执行:VARIABLE jobno number;beginDBMS_JOB.SUBMIT(:jobno,'pro_onlineuser;',SYSDATE,'sysdate+1/24/60'); commit;end;/四、跟踪任务的情况(查看任务队列):SQL> select job,next_date,next_sec,failures,broken from user_jobs;JOB NEXT_DATE NEXT_SEC FAILURES B---------- ------------ ---------------- ---------- -2114-JUL-0815:10:500 N2214-JUL-0815:10:010 N2314-JUL-0815:10:010 N说明有3个任务存在了。

执行select * from test t查看定时任务的结果。

可以看出定时任务是正常执行了的。

oracle如何查询和停止正在运行的job

oracle如何查询和停止正在运行的job

oracle如何查询和停止正在运行的job1 找出正在执行的JOB编号及其会话编号SELECT SID,JOB FROM DBA_JOBS_RUNNING;2 停止该JOB的执行SELECT SID,SERIAL# FROM V$SESSION WHERE SID=&SID;ALTER SYSTEM KILL SESSION &SID,&SERIAL;EXEC DBMS_JOB.BROKEN(&JOB,TRUE);实例分析:1,查询正在运行的Job,通过查询有两个,和进程占用较多的是两个ORACLE进程符合。

SQL> SELECT SID,JOB FROM DBA_JOBS_RUNNING;SID JOB---------- ----------12 11616 1172,查询正在运行的job的信息SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID=12;SID SERIAL#---------- ----------12 4SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID=16;SID SERIAL#---------- ----------16 13,利用查询出来的job信息将job结束掉SQL> ALTER SYSTEM KILL SESSION 12,4;System altered.SQL> ALTER SYSTEM KILL SESSION 16,1;System altered.4,如果不希望运行上述job的话,可以将job设置为broken.EXEC DBMS_JOB.BROKEN(116,TRUE);EXEC DBMS_JOB.BROKEN(117,TRUE);编辑于联动北方技术论坛。

oracle dbms_jobs的sql语句 -回复

oracle dbms_jobs的sql语句 -回复

oracle dbms_jobs的sql语句-回复使用Oracle数据库管理系统(DBMS)中的dbms_jobs,可以在数据库中调度和执行作业。

下面将逐步回答关于dbms_jobs的相关问题。

1. 什么是dbms_jobs?DBMS_JOB是Oracle数据库提供的一个模块,用于调度和执行作业。

它允许用户在数据库中定期执行指定的任务,这些任务可以是存储过程、函数、PL/SQL块或SQL语句。

2. 如何创建一个新的dbms_job?可以使用以下SQL语句创建一个新的dbms_job:BEGINDBMS_JOB.SUBMIT(job => job_number,what => 'your_procedure_name;',next_date => TRUNC(SYSDATE) + 1,interval => 'SYSDATE + 1');COMMIT;END;其中,job_number是作业的唯一标识符,your_procedure_name是要执行的存储过程的名称,next_date是作业的下一个执行日期,interval 是作业的重复间隔。

这段代码将在每天的午夜开始时执行作业。

3. 如何修改一个已存在的dbms_job?可以使用以下SQL语句来修改一个已存在的dbms_job:BEGINDBMS_JOB.BROKEN(job => job_number,broken => FALSE,next_date => TRUNC(SYSDATE) + 1,interval => 'SYSDATE + 1');COMMIT;END;这段代码将修复并重新启用已存在的作业,并将它的下一个执行日期设置为明天,间隔设置为每天执行一次。

4. 如何删除一个已存在的dbms_job?可以使用以下SQL语句来删除一个已存在的dbms_job:BEGINDBMS_JOB.REMOVE(job => job_number);COMMIT;END;这段代码将从数据库中删除指定的作业。

oracle常用命令

oracle常用命令

31.单独启动一个实例
export ORACLE_SID=DPFRPT
sqlplus '/as sysdba'
startup
32.查oracle下某一表空间下的所有表
select * from dba_tables where tablespace_name='表空间名'
trunc(nvl(free, 0) * 100 / total) || '%' "Free Usage",
case
when trunc(nvl(free, 0) * 100 / total) <=
round(substr((b.bytes - sum( nvl( a.bytes , 0))) / ( b.bytes) * 100 , 1, 5), 2) "Used(%)"
from dba_free_space a, dba_data_files b
where a.file_id = b.file_id
LRM-00109: ???????????????? '/opt/oracle/product/11g/db_1/dbs/initPISARPT.ora'
解决办法:
cp $ORACLE_BASE/admin/$ORACLE_SID/pfile/init.ora.4242009161236 $ORACLE_HOME/dbs/init$ORACLE_SID.ora
(SELECT tablespace_name, ROUND (SUM (BYTES) / 1024 / 1024) freespace
FROM dba_free_space

ORACLE计划任务查看方法

ORACLE计划任务查看方法

ORACLE计划任务查看方法
由于在字符集切换过程中涉及到Job_queue_processes 参数的改变,会影响ORACLE计划任务的执行(Jobs),需要排查ORACLE数据库服务器中用到的用户是否利用了计划任务,如果用到了,在字符集转换为中文后,需要把该参数修改回原值;没有用到的不做处理。

要排查的数据库服务器包括:SDMIS服务器(188.8/9-22/23)、农网GIS(188.46-49)、物资数据库服务器(188.229)、短信数据库服务器(188.228)、输配电数据库服务器(188.12)。

排查可以用下面的方法:
Oracle-Orahome92-Oracle Enterprise Manager Console 连接到数据库服务器后,点击例程—配置
点击弹出如下窗口:
如果等于0,则没有用到计划任务,不需要处理。

把各服务器排查结果汇报。

Oracle 11g自带的系统Job介绍

Oracle 11g自带的系统Job介绍

Oracle 11g Default JobsOracle 11g的自带的Job,使用select * from Dba_Scheduler_Jobs;可查询到。

介绍如下:1. ORA$AUTOTASK_CLEANThe job is created by the 11g script catmwin.sql which mentions that this job is an autotask repository data ageing job. It runs the procedure ora$age_autotask_data.2. HM_CREATE_OFFLINE_DICTIONARYThe job is created by the 11g script catmwin.sql which mentions that this is a job for creation of offline dictionary for Database Repair Advisor.The system job SYS.HM_CREATE_OFFLINE_DICTIONARY executes thedbms_hm.create_offline_dictionary package which creates a LogMiner offline dictionary in the ADR for DRA name translation service. The job for generating the logminer dictionary is scheduled during the maintenance window. This job can be disabled. ‘3. DRA_REEVALUATE_OPEN_FAILURESThe job is created by the 11g script catmwin.sql which mentions that this is a job for reevaluate open failures for Database Repair Advisor. The job executes the procedure dbms_ir.reevaluateopenfailures.4. MGMT_CONFIG_JOB - comes with the OCM(Oracle Configuration Manager) installation - This is a configuration collection job.The job is created by the script ocmjb10.sql by running procedure‘ORACLE_OCM.MGMT_CONFIG.collect_config’.5. MGMT_STATS_CONFIG_JOBThis is an OCM Statistics collection job created in ocmjb10.sql by running ‘ORACLE_OCM.MGMT_CONFIG.collect_stats’.6. BSLN_MAINTAIN_STATS_JOB (替换了10G的GATHER_STATS job)This job replaces the old GATHER_STATS job. It is a compute statistics job. This job runs the BSLN_MAINTAIN_STATS_PROG program on theBSLN_MAINTAIN_STATS_SCHED schedule. The programBSLN_MAINTAIN_STATS_PROG will keep the default baseline’s statistics up-to-date.7. XMLDB_NFS_CLEANUP_JOBThe job is created in xdbu102.sql and runs the proceduredbms_xdbutil_int.cleanup_expired_nfsclients.8.下面的视图显示有关自动数据库维护任务的信息:select * from DBA_AUTOTASK_CLIENT_JOB;select * from DBA_AUTOTASK_CLIENT;select * from DBA_AUTOTASK_JOB_HISTORY; select * from DBA_AUTOTASK_WINDOW_CLIENTS; select * from DBA_AUTOTASK_CLIENT_HISTORY;。

查询 dbms_jobs 的语句

查询 dbms_jobs 的语句

查询 dbms_jobs 的语句DBMS_Jobs是Oracle数据库中用于处理作业调度的包,可以用于创建、修改、删除和执行作业。

下面是关于查询DBMS_Jobs的语句的列举,以供参考:1. 查询所有作业:```sqlSELECT * FROM dba_jobs;```这条语句将返回所有在数据库中定义的作业的信息。

2. 查询指定作业的详细信息:```sqlSELECT * FROM dba_jobs WHERE job = job_number;```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的详细信息。

3. 查询作业的状态:```sqlSELECT * FROM dba_jobs_running;```这条语句将返回当前正在运行的作业的信息。

4. 查询作业的调度时间:```sqlSELECT * FROM dba_jobs_running WHERE job = job_number; ```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的调度时间信息。

5. 查询作业的最后一次运行状态:```sqlSELECT * FROM dba_jobs_last WHERE job = job_number;```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的最后一次运行状态。

6. 查询作业的运行历史:```sqlSELECT * FROM dba_jobs_history WHERE job = job_number; ```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的运行历史记录。

7. 查询作业的下次运行时间:```sqlSELECT next_date FROM dba_jobs WHERE job = job_number; ```将`job_number`替换为要查询的作业的编号,该语句将返回指定作业的下次运行时间。

oraclejob使用手册

oraclejob使用手册

oraclejob使用手册Oracle Job是Oracle数据库中的一种作业调度机制,用于在特定时间或按照特定间隔执行预定义的任务。

以下是Oracle Job的基本使用手册:创建Job1. 创建一个作业变量,例如:```sqlDECLAREjobno NUMBER;BEGINDBMS_(job => jobno, what => 'p_test;');COMMIT;END;/```这里,`p_test;` 是要执行的程序或存储过程。

2. 指定作业下次运行的时间,例如:```sqlDBMS_(job => jobno, what => 'p_test;', next_date => SYSDATE, interval => 'TRUNC(SYSDATE)+1+17/24');COMMIT;```这里,`next_date` 指定了作业下次运行的时间,`interval` 指定了作业运行的时间间隔。

3. 提交事务,使作业生效。

运行Job要立即执行一个指定的作业,可以使用 `RUN()` 过程,例如:```sqlDBMS_(jobno);```停止Job要停止一个正在运行的作业,可以使用 `BROKEN()` 过程,例如:```sqlDBMS_(jobno, true, SYSDATE);```这里,`jobno` 是作业的编号,`true` 表示要停止该作业,`SYSDATE` 表示作业应立即停止。

以上是Oracle Job的基本使用手册。

请注意,具体的语法和参数可能会根据Oracle数据库的版本和配置有所不同。

建议查阅Oracle官方文档以获取更详细和准确的信息。

oracle job

oracle job

创建variable job_feeid_create NUMBER;beginsys.dbms_job.submit(:job_feeid_create,'wlk_check_fee;',sysdate,'TRUNC(SYSDATE+1)');commit;end;在命令控制台中这样就可以建产一个作业了。

sysdate表示当前作业将来执行的时间,sysdate+1表示调用频率。

描述 INTERVAL参数值每天午夜12点'TRUNC(SYSDATE + 1)'每天早上8点30分'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'每星期二中午12点'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'每个月第一天的午夜12点'TRUNC(LAST_DAY(SYSDATE ) + 1)'每个季度最后一天的晚上11点'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'每星期六和日早上6点10分'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'运行begindbms_job.run(:job_feeid_create);end;查询作业记录select*from user_jobs具体讲解:1.确保Oracle的工作模式允许启动任务队列管理器Oracle定时执行“Job Queue”的后台程序是SNP进程,而要启动SNP进程,首先要确保整个系统的模式是可以启动SNP进程的,这需要以 DBA的身份去执行如下命令:svrmgrl>; alter system enable restricted session;或sql>; alter system disenable restricted session;利用如上命令更改系统的会话方式为disenable restricted,为SNP的启动创造条件。

oracle如何查询和停止正在运行的job

oracle如何查询和停止正在运行的job

oracle如何查询和停止正在运行的joboracle如何查询和停止正在运行的job1 找出正在执行的JOB编号及其会话编号SELECT SID,JOB FROM DBA_JOBS_RUNNING;2 停止该JOB的执行SELECT SID,SERIAL# FROM V$SESSION WHERE SID=&SIDALTER SYSTEM KILL SESSION &SID,&SERIALEXEC DBMS_JOB.BROKEN(&JOB,TRUE);实例分析:1,查询正在运行的Job,通过查询有两个,和进程占用较多的是两个ORACLE进程符合。

SQL> SELECT SID,JOB FROM DBA_JOBS_RUNNING;SID JOB---------- ----------12 11616 1172,查询正在运行的job的信息SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID=12;SID SERIAL#---------- ----------12 4SQL> SELECT SID,SERIAL# FROM V$SESSION WHERE SID=16;SID SERIAL#---------- ----------16 13,利用查询出来的job信息将job结束掉SQL> ALTER SYSTEM KILL SESSION 12,4;System altered.SQL> ALTER SYSTEM KILL SESSION 16,1;System altered.4,如果不希望运行上述job的话,可以将job设置为broken. EXEC DBMS_JOB.BROKEN(116,TRUE);EXEC DBMS_JOB.BROKEN(117,TRUE);编辑于联动北方技术论坛。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档