- 浏览: 312382 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (185)
- C# (8)
- Java (21)
- Oracle (25)
- mysql (3)
- SQLite (9)
- PHP (0)
- 虚拟机 (6)
- Tomcat (5)
- WebService (9)
- Linux (4)
- Windows (0)
- 域名和空间 (5)
- 测试 (1)
- Javascript (2)
- cache (1)
- 认证 (1)
- 图形报表 (1)
- Eclipse&plugins (1)
- struts2 (2)
- Swing (2)
- maven (1)
- BAT (3)
- JqueryUI (1)
- WEB (1)
- Jquery (1)
- 软件 (1)
- Google (1)
- sitemesh (1)
- Spring (1)
- 字体 (1)
- log4j (1)
- 日志级别 (1)
- 控制中心 (1)
- Log4jManager (1)
- log4j.jsp (1)
最新评论
-
chao_t:
不可以喃,楼主
实时控制log4j日志输出级别-Log4J日志级别控制中心 -
zercle:
感谢分享,还在下载中,一直都用plsql,昨天听别人说toad ...
Toad for Oracle 11绿色版本,加上plsql developerv9.0.1.1613 -
cmland:
赞一个,可以使用
Toad for Oracle 11绿色版本,加上plsql developerv9.0.1.1613 -
mozheshashou:
大哥 关键是那个服务器端怎么写啊 ,求指教啊,
说说JSON和JSONP,也许你会豁然开朗,含jQuery用例 -
bjxyj:
net.sourceforge.jdbclogger.Jdbc ...
p6spy的替代品:jdbc logger
每天1点执行的oracle JOB样例 初始化相关参数job_queue_processes 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。 相关视图: ------------------------- 提交job语法: begin ------------------------- 运行JOB 删除JOB DBA_JOBS -------------------------- -------------------------- 1:每分钟执行 Interval => TRUNC(sysdate,'mi') + 1/ (24*60) 或 Interval => sysdate+1/1440 2:每天定时执行 例如:每天的凌晨1点执行 Interval => TRUNC(sysdate) + 1 +1/ (24) 3:每周定时执行 例如:每周一凌晨1点执行 Interval => TRUNC(next_day(sysdate,'星期一'))+1/24 4:每月定时执行 例如:每月1日凌晨1点执行 Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24 5:每季度定时执行 例如每季度的第一天凌晨1点执行 Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24 6:每半年定时执行 例如:每年7月1日和1月1日凌晨1点 Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24 7:每年定时执行 例如:每年1月1日凌晨1点执行 Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24 JOB不运行的检查步骤: ORACLE有一种定时调度机制,用dbms_job包来管理。 设置的JOB就是不运行,搞得的郁闷, 最好执行了这个才搞定 exec dbms_ijob.set_enabled(true); 下面提供一个checklist用于检查job异常的原因: 1) Instance in RESTRICTED SESSIONS mode? Check if the instance is in restricted sessions mode: select instance_name,logins from v$instance; If logins=RESTRICTED, then: alter system disable restricted session; ^– Checked! 2) JOB_QUEUE_PROCESSES=0 Make sure that job_queue_processes is > 0 show parameter job_queue_processes ^– Checked! 3) _SYSTEM_TRIG_ENABLED=FALSE Check if _system_enabled_trigger=false col parameter format a25 col value format a15 select a.ksppinm parameter,b.ksppstvl value from x$ksppi a,x$ksppcv b where a.indx=b.indx and ksppinm=’_system_trig_enabled’; If _system_trig_enabled=false, then alter system set “_system_trig_enabled”=TRUE scope=both; ^– Checked! 4) Is the job BROKEN? select job,broken from dba_jobs where job=<job_number>; If broken, then check the alert log and trace files to diagnose the issue. ^– Checked! The job is not broken. 5) Is the job COMMITted? Make sure a commit is issued after submitting the job: BEGIN SYS.DBMS_JOB.SUBMIT ( job => X ,what => ‘dbms_utility.analyze_schema (”SCOTT”,”COMPUTE”,NULL,NULL,NULL);’ ,next_date => to_date(’08/06/2005 09:35:00′,’dd/mm/yyyy hh24:mi:ss’) ,no_parse => FALSE ); COMMIT; END; / If the job executes fine if forced (i.e., exec dbms_jobs.run(<job_no>);), then likely a commit is missing. ^– Checked! The job is committed after submission. 6) UPTIME > 497 days Check if the server (machine) has been up for more than 497 days: For SUN, use ‘uptime’ OS command. If uptime>497 and the jobs do not execute automatically, then you are hitting unpublished bug 3427424 (Jobs may stop running after 497 days uptime) which is fixed in 9206 and A102 ^– Checked! The server in this case has been up 126 days only 7) DBA_JOBS_RUNNING Check dba_jobs_running to see if the job is still running: select * from dba_jobs_running; ^– Checked! The job is not running. LAST_DATE and NEXT_DATE Check if the last_date and next_date for the job are proper: select Job,Next_date,Last_date from dba_jobs where job=<job_number>; ^– NEXT_DATE is porper, however LAST_DATE is null since the job never executes automatically. 9) NEXT_DATE and INTERVAL Check if the Next_date is changing properly as per the interval set in dba_jobs: select Job,Interval,Next_date,Last_date from dba_jobs where job=<job_number>; ^– This is not possible since the job never gets executed automatically. 10) Toggle value for JOB_QUEUE_PROCESSES Stop and restart CJQ process(es) alter system set job_queue_processes=0 ; –<Wait for some time to ensure CJQ process stopped> alter system set job_queue_processes=4 ; Ref: Bug 2649244 (fixed by: 9015, 9203, 10201) ^– Done but did not help 11) DBMS_IJOB(Non-documented): Last ditch effort. Either restart the database or try the following: exec dbms_ijob.set_enabled(true); Ref: Bug 3505718 (Closed, Not a Bug) Done but did not help These are the most common causes for this behavior. Solution The solution ended up to be the server (machine) uptime. Even though it was up for only 126 days, after the server was rebooted all jobs were able to execute automatically. To implement the solution, please execute the following steps: 1. Shutdown all applications, including databases. 2. Shutdown the server (machine) 3. Restart all applications, including databases. 4. Check that jobs are executing automatically. from metalink docs : 313102.1
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;
/
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000 ;job_queue_interval = 10 //调度作业刷新频率秒为单位
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息
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;
SQL> begin
dbms_job.run(:job1);
end;
/
SQL> begin
dbms_job.remove(:job1);
end;
/
===========================================
字段(列) 类型 描述
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 正在运行任务的开始时间,如果没有运行任务则为null
THIS_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) 任务运行的其他一些会话参数
描述 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)'
发表评论
-
从oracle表中随机取记录,产生随机数和随机字符串
2012-05-08 15:23 950来源:http://www.cnblogs.com/bina ... -
Toad for Oracle 11绿色版本,加上plsql developerv9.0.1.1613
2012-05-02 09:40 3603url:http://www.itpub.net/thread ... -
pl sql developer 快捷键 执行所在行的SQL语句
2012-04-23 11:27 1972设置参数,自动选中光标所在行的sql即可 tools-> ... -
Oracle 更改字段的完美写法
2012-04-23 10:11 795declare sqlnum number; be ... -
在64位Windows系统上安装Toad和PLSQL Developer等Oracle客户端工具
2012-04-23 10:08 1344在64位Windows系统上安装Toad和PLSQL ... -
无需安装oracle客户端即可访问oracle数据库的方法
2012-03-16 13:59 3167Instantclient 配置方法 1. ... -
Oracle判断字段的连续性,即判断自增长字段中间是否有缺失,断层
2011-10-29 22:38 1792在工作中,我们经常会有这样的需求,特别是在交易的时候,判断终端 ... -
oracle sqlldr控制文件模板
2011-04-06 18:31 2310文章来源:http://ww ... -
ORACLE EXP/IMP 参数详解
2011-02-14 15:20 918ORACLE EXP/IMP 参数详解 ... -
Oracle数据库的自动导出备份脚本(windows环境)
2011-01-24 22:45 2336无意中发现了另外一位仁兄写的Windows下面的Oracle备 ... -
Windows下面Oracle备份脚本
2011-01-24 22:39 1522前提是在WINDOWS 7上面 ... -
oracle数据库自动备份脚本(Linux环境)
2011-01-24 21:05 1933oracle数据库自动备份脚本(Linux环境) ... -
扩展Oracle数据表空间
2011-01-17 10:55 1832扩展Oracle数据表空间 1.先查看system和s ... -
Linux安装Oracle配置详解--主要是解决Oralce所需要的依赖包
2011-01-07 14:30 2281安装Oracle所需软件包 # 从Red Hat Ent ... -
文件型数据库比较
2011-01-02 16:21 2841文件型数据库比较 Tin ... -
Oracle 多个服务各代表什么作用
2011-01-02 13:46 1151Oracle 多个服务各代表什么作用 收藏 在Wi ... -
oracle中的全局数据库名、环境变量和sid的区别
2011-01-02 13:44 1213oracle中的全局数据库名、环境变量和sid的区别 收藏 ... -
oracle中使用绑定变量的好处的例子
2011-01-02 13:12 1701oracle中使用绑定变量的好处的例子 在oracl ... -
oracle中建立带参数的job,定时执行
2010-12-27 23:37 2918oracle中建立job定期运行存储过程总结 1 首 ... -
Oracle JOB的建立,定时执行任务
2010-12-27 23:16 522begin sys.dbms_job.submit(job ...
相关推荐
默认情况下,Oracle 会每分钟检查一次是否有 Job 需要运行。 3. **查看 Job 参数**: 可以使用 `SHOW PARAMETER job_queue_process` 查看当前的 `job_queue_processes` 值。 4. **启动和停止 Job**: 如果将 `...
Oracle中job的使用详解 Oracle 中的 Job 是一个非常强大且灵活的功能,它允许开发者在数据库中执行计划任务,提高数据库的自动化程度和效率。那么,什么是 Oracle 中的 Job 呢? Oracle 中的 Job 是一个计划任务,...
Oracle 中 job 的使用详解 Oracle 中的 job 是一种非常强大的功能,可以帮助开发者自动执行各种复杂的业务逻辑。通过使用 Oracle 的存储过程,可以大大减少 Java 程序代码的编写工作量,并且存储过程执行在数据库上...
接下来,我们将通过具体的示例来展示如何使用DBMS_JOB API来管理和操作Oracle定时任务。 ##### 示例1:创建一个新的job ```sql BEGIN DBMS_JOB.SUBMIT ( job => 1, -- job ID what => 'BEGIN MY_PROCEDURE; END...
Oracle中的Job是一个强大的功能,允许用户在特定时间或按照预...通过理解Job的属性、INTERVAL的设置以及DBMS_JOB包的使用方法,开发人员可以构建出可靠且高效的定时任务解决方案,充分利用Oracle数据库的性能和稳定性。
### Oracle Job 创建脚本详解 #### 一、Oracle Job 概述 在Oracle数据库中,Job是一种用于调度定期任务的功能,常被用来自动化执行数据库管理中的各种任务,比如备份、清理临时表空间等。Job主要由`DBMS_JOB`包...
本文详细介绍了Oracle RMAN命令的基本概念、分类以及常用命令的具体使用方法。通过对独立命令和作业命令的区分,我们可以更灵活地组织备份和恢复操作。此外,通过使用特殊命令和子句,可以进一步增强RMAN的功能性和...
### 创建Oracle Job详解 在Oracle数据库管理中,创建Job是一项重要的功能,可以帮助用户自动化执行一些周期性的任务,比如定期备份数据、更新统计信息等。本文将详细介绍如何在Oracle环境中创建Job,并通过具体的...
### Oracle Job 停止详解 #### 背景与目的 在Oracle数据库管理中,有时需要使用`JOB`机制来执行周期性或一次性任务。然而,在某些情况下,可能需要临时或永久地停止这些`JOB`。本文将详细介绍如何有效地停止Oracle...
- **EXPDP 和 IMPDP**:这些工具仅能在Oracle服务器端使用,无法在客户端运行。 - **兼容性**:IMP仅能处理由EXP导出的文件,而IMPDP则仅能处理EXPDP导出的文件。这意味着,这两种导出方式的文件格式并不兼容。 ###...
### Oracle Job 用法详解 Oracle Job 是Oracle数据库中一种用于调度任务的机制,通过它可以在特定的时间或按一定的间隔自动执行预定义的PL/SQL块、存储过程或其他类型的脚本。本文将深入探讨Oracle Job的用法,包括...
### Oracle Job 创建与运行知识点详解 #### 一、Oracle Job 概述 在Oracle数据库管理系统中,`Oracle Job`是一种非常实用的功能,主要用于自动化执行某些任务。这些任务可以是存储过程、PL/SQL块或其他数据库操作。...
### DBMS_JOB 使用方法详解 #### 一、概述 `DBMS_JOB` 是 Oracle 数据库提供的用于调度任务的包,可以实现对定时任务的管理,包括任务的创建、修改、删除及执行等操作。该包提供了多种过程和函数,允许用户以灵活...
Oracle Create Type 详解 Oracle Create Type 是 Oracle 数据库中的一种强大工具,可以用于创建自定义类型,例如对象类型、数组类型、表类型等。在本文中,我们将详细介绍 Oracle Create Type 的概念、语法和应用。...
### DBMS_JOB包创建Oracle定时任务详解 在Oracle数据库中,`DBMS_JOB`包提供了一种机制,用于创建和管理后台作业(Job),这些作业可以在特定的时间或按一定的时间间隔执行。这对于需要定期执行的任务非常有用,...
### Oracle中的Job定时任务详解与应用 #### 一、Oracle Job概述 在Oracle数据库中,Job是一种非常重要的机制,用于实现数据库的定时任务自动化。它主要用于执行预定义的PL/SQL代码块,如存储过程或者匿名块等。Job...
### Oracle PL/SQL 编程详解 #### 一、PL/SQL 概述 ##### 1.1 什么是 PL/SQL? PL/SQL(Procedure Language for SQL)是Oracle数据库的一种专用编程语言,它将SQL语句与过程化的编程语言特性相结合,提供了强大的...
Oracle定时任务详解主要涉及到Oracle数据库中的DBMS_JOB包,这是一个用于在数据库级别执行定时任务的工具,特别适合处理大量表级别的操作,以提高效率并减少系统级别的编程工作和潜在错误。Oracle的作业队列管理器...