`

Oracle job操作注意事项

阅读更多

 

创建一个简单的JOB实列


1、创建测试表
SQL> create table a(a date,b varchar2(10));

表已创建。

2、创建一个自定义过程


SQL> create or replace procedure test1 as
 begin
insert into a values(sysdate,'start');
begin
dbms_stats.gather_schema_stats(ownname=> 'ABM' , cascade=> TRUE);
end;
insert into a values(sysdate,'end');
 end;
 /

过程已创建。

3、创建JOB
SQL> variable job1 number;
SQL> 
SQL> begin
dbms_job.submit(:job1,'test1;',sysdate,'trunc(SYSDATE)+3.5/24+7');  --每天1440分钟,即一分钟运行test过程一次
end;
 /

PL/SQL 过程已成功完成。

4、运行JOB
SQL> begin
dbms_job.run(:job1);
 end;
/

PL/SQL 过程已成功完成。

SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from a;

时间
-------------------
2001/01/07 23:51:21
2001/01/07 23:52:22
2001/01/07 23:53:24

5、删除JOB
SQL> begin
? 2? dbms_job.remove(:job1);
? 3? end;
? 4? /

PL/SQL 过程已成功完成。
6、一些必要的参数
修改initsid.ora参数
job_queue_processes = 4
job_queue_interval = 10
job_queue_keep_connections=true

修改可执行作业个数为20个
ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20

修改取消限制模式
ALTER SYSTEM DISABLE RESTRICTED SESSION;

7、两个必要的表
user_jobs及dba_jobs_running

8、相关的几个JOB操作
删除job:dbms_job.remove(jobno);
修改要执行的操作:job:dbms_job.what(jobno,what);
修改下次执行时间:dbms_job.next_date(job,next_date);
修改间隔时间:dbms_job.interval(job,interval);
停止job:dbms_job.broken(:job1,broken,nextdate);
启动job:dbms_job.run(jobno);

9、几个常用的语句

select to_char(a,'yymmddhh24:mi:ss'),b from a;
select job,last_date,last_sec,next_date,next_sec,what from dba_jobs ;
dbms_job.submit(:job1,'test;',trunc(SYSDATE)+13.6/24,'SYSDATE+5/1440');
select to_char(sysdate,'yymmddhh24:mi:ss') from dual;

10、需要注意的问题:

1)job的下一次执行时间的确定:一个job必须run一次之后,才能按照设定的间隔确定下次运行的时间。

2)如果job运行时间小于两次的间隔,则下次运行时间等于job开始运行时间+间隔时间;如果job运行时间大于等于两次的间隔,则下次运行时间等于上次job运行结束的时间。

3)what后面跟的存储过程要有分号,next_date的参数是日期型,interval是个日期格式的字符串+几代表每隔多长时间执行一次

 

分享到:
评论

相关推荐

    oracle job使用详解

    Oracle Job 的使用对于实现定时任务、批处理操作和维护工作至关重要。以下是对 Oracle Job 使用的详细解释: 1. **创建 Job**: 创建 Job 可以通过 `DBMS_JOB.SUBMIT` 存储过程完成。例如,在提供的代码中,创建了...

    ORACLE如何停止一个JOB

    高级技巧与注意事项 - **确保正确的权限**:上述操作可能需要SYS级别的权限,尤其是访问`DBA_JOBS_RUNNING`和其他系统视图时。 - **操作系统级别的KILL**:在某些情况下,如果数据库级别的KILL命令响应较慢,可以...

    oracleJob创建脚本

    ##### 2.3 注意事项 - **next_date**:首次执行时间,需要根据实际情况进行修改。 - **interval**:执行间隔,可以自定义,例如每周一次、每月一次等。 - **COMMIT**:在提交Job之后,必须执行COMMIT,否则Job不会...

    oracle 数据泵imp exp注意事项.docx

    ### Oracle 数据泵 IMP/EXP 注意事项详解 #### 一、Oracle 数据泵简介 Oracle 数据泵是一种用于高效导入导出数据的工具,它提供了一种快速可靠的方法来迁移数据。数据泵主要包括两个工具:`expdp` (Export Data ...

    oracle job创建脚本

    8. **注意事项**: - 修改`next_date`以适应你的实际需求,确保它是Job首次执行的正确时间。 - `what`参数中应当包含实际的PL/SQL代码或存储过程调用,而不是示例中的注释。 - 确保在创建Job的用户具有执行Job中...

    oracle 创建job实例

    Oracle 创建 Job 实例是指在 Oracle 数据库中创建一个计划任务,用于在特定的时间点执行特定的操作。以下是创建 Job 实例的详细过程和相关知识点: 一、创建 Job 实例 要创建一个 Job 实例,需要使用 dbms_job....

    oracle job的用法

    8. **使用注意事项**: - Job 会在指定的时间由 Oracle 的后台进程 `JOB_QUEUE_PROCESSES` 处理。 - Job 的调度依赖于数据库服务器的时间,因此确保服务器时间准确非常重要。 - 如果 Job 需要访问其他用户模式下...

    Oracle作业JOB探讨

    #### 四、注意事项 1. **权限问题**:在进行上述操作时,需要注意权限的问题。例如,在示例代码中提到了使用`dbms_lock`,这需要相应的权限才能使用。如果用户没有这些权限,则需要提前授予。 2. **间隔时间的设置...

    oracle job停止

    - **注意事项**: - 需要使用Oracle的`SYS`用户登录数据库以访问`dba_jobs_running`, `v$process`, 和 `v$session`等视图。 - 当遇到某个会话持续处于活跃状态导致CPU使用率高的情况时,直接`KILL SESSION`可能...

    Oracle通过Job调用存储过程.docx

    同时,也讨论了存储过程和 Job 的创建注意事项。 知识点: * Oracle 存储过程的创建和使用 * Oracle Job 的创建和使用 * 游标的使用和异常处理 * 存储过程和 Job 的执行注意事项 * 实时采集系统的实现方式

    Oracle数据库日常维护手册.pdf

    - **注意事项**: 需要确保所有必要的Oracle服务进程都在运行中,如`oracle`进程等。 - **计数命令**: `$ ps -ef | grep ora_ | grep -v grep | wc -l` - **输出示例**: `oracle 2960 10 May 07` - **解释**: 这里...

    DBMS_JOB使用方法

    **注意事项**:不能删除正在执行的任务。 ### 7. Run() **功能**:立即执行指定的任务。 **语法**: ```sql PROCEDURE RUN( job IN BINARY_INTEGER ); ``` **参数说明**: - `job`: 要执行的任务编号。 ### 8...

    ORACLE EXPDPIMPDP 参数详解

    ORACLE EXPDP/IMPDP 参数详解 ORACLE EXPDP/IMPDP 是 Oracle 数据库中用于数据泵导出导入的工具,分别对应 EXP 和 IMP ...在使用 EXPDP 和 IMPDP 时,需要注意这些选项的使用方法和注意事项,以便正确地使用这些工具。

    linux下oracle手动建实例

    #### 四、注意事项 - 在创建实例的过程中,需要确保所有目录都具有正确的权限设置。 - 初始化参数文件中的参数需要根据实际需求进行调整。 - 创建数据库脚本需要精心设计,以确保数据库结构符合预期。 - 在生产环境...

    xxl-job-oracle:xxl-job 的oracle版本demo

    5. **开发注意事项**: - 使用Oracle时,需要注意SQL语句的写法,因为Oracle与MySQL在语法上存在差异。 - 考虑到Oracle的性能和特性,优化任务调度和执行策略,例如合理使用索引、避免全表扫描等。 6. **监控与...

    vcenter6.0采用oracle11g独立数据库

    #### 四、注意事项 - 在安装过程中,确保所有的步骤都按照官方文档的要求来进行。 - 特别是在创建用户和授权时,确保所有的权限都已经正确地赋予了“VPXADMIN”用户。 - 在执行脚本之前,确认所有路径都是正确的,...

    Oracle 修改字符集

    #### 四、注意事项 - 在修改字符集前,请确保充分了解新旧字符集之间的差异。 - 对于大型数据库,建议在非业务高峰期执行此操作,以减少对业务的影响。 - 修改字符集后,需要检查所有应用程序是否能够正常运行,并...

    ORACLE数据泵使用

    在使用ORACLE数据泵进行数据导入导出的过程中,可能会遇到一些常见问题,以下是一些重要的注意事项: 1. **权限问题**:确保执行数据泵操作的用户拥有足够的权限,如读写权限等。 2. **目录权限**:创建目录时要...

    Oracle向MySQL_迁移相关事项

    要注意的是,Oracle的自增字段(通过序列和触发器实现)在MySQL中需要改为直接使用字段的自动递增特性,这个字段必须是主键且不能有默认值。 二、触发器的移植 MySQL从6.0版本开始支持触发器,但与Oracle的触发器...

    Linux 下手动创建oracle数据库

    本文将详细介绍在Linux环境下手动创建Oracle 10g数据库的具体步骤及注意事项。 **1. 设置ORACLE_SID环境变量** - **作用**: `ORACLE_SID` 是Oracle服务标识符(service identifier),用于指定Oracle实例的名称。 ...

Global site tag (gtag.js) - Google Analytics