linux初探

首页

应用服务器

Linux技巧

中文文档

Linux初级

服务器源代码

命令详解

Linux技术应用

Linux安全应用

Linux业界新闻

UniX技术文章

Linux编程与内核

Linux数据库

Linux服务器

Linux安装指导

Linux论坛


首页>>Linux数据库>>

热门文章

·用mysqldump 来备份数据库
·Oracle 8.1.6的一次恢复!
·oracle启动 shell脚本
·使用Connector/J连接MySQL数
·oracle入门
·MySQL占领Oracle市场 技术支
·SQL Server与Oracle、DB2的性
·从黑客角度检验Oracle数据库
·开源数据库影响传统IT服务市
·在Oracle 9i isqlplus中使用

推荐文章

Oracle Job任务异常原因分析及其解决


摘要: 本文通过一次Oracle Job任务异常案例诊断,分析其原因及解决过程,从内部揭示Oracle Job任务调度及内部计时机制。

问题及环境

接到研发人员报告,数据库定时任务未正常执行,导致某些操作失败,开始介入处理该事故。

系统环境:

SunOS DB 5.8 Generic_108528-21 sun4u sparc SUNW,Ultra-4
Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production

解决过程

首先介入检查数据库任务

$ sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.3.0 - Production on Wed Nov 17 20:23:53 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.3.0 - Production
SQL> select job,last_date,last_sec,next_date,next_sec,broken,failures from
dba_jobs;
JOB LAST_DATE LAST_SEC NEXT_DATE NEXT_SEC B FAILURES
INTERVAL

31 16-NOV-04 01:00:02 17-NOV-04 01:00:00 N 0
trunc(sysdate+1)+1/24
27 16-NOV-04 00:00:04 17-NOV-04 00:00:00 N 0
TRUNC(SYSDATE) + 1
35 16-NOV-04 01:00:02 17-NOV-04 01:00:00 N 0
trunc(sysdate+1)+1/24
29 16-NOV-04 00:00:04 17-NOV-04 00:00:00 N 0
TRUNC(SYSDATE) + 1
30 01-NOV-04 06:00:01 01-DEC-04 06:00:00 N 0
trunc(add_months(sysdate,1),’MM’)+6/24
65 16-NOV-04 04:00:03 17-NOV-04 04:00:00 N 0
trunc(sysdate+1)+4/24
46 16-NOV-04 02:14:27 17-NOV-04 02:14:27 N 0
sysdate+1
66 16-NOV-04 03:00:02 17-NOV-04 18:14:49 N 0
trunc(sysdate+1)+3/24
8 rows selected.

发现JOB任务是都没有正常执行,最早一个应该在17-NOV-04 01:00:00执行。但是没有执行。

建立测试JOB

create or replace PROCEDURE pining

IS
BEGIN
NULL;
END;
/
variable jobno number;
variable instno number;
begin
select instance_number into :instno from v$instance;
dbms_job.submit(:jobno, ’pining;’, trunc(sysdate+1/288,’MI’),
’trunc(SYSDATE+1/288,’’MI’’)’, TRUE, :instno);
end;
/

发现同样的,不执行。但是通过dbms_job.run()执行没有任何问题。

相关文章:

·Linux社区喜爱的数据库:MySQL入门基础知识简介
·oracle ebs系统维护技巧汇总
·如何快速的杀掉Oracle的Session
·Oracle的空间数据库管理技巧
·关于Oracle 对 Linux 的策略的FAQ
·数据库学习:MySQL Join详解
·开源之旅——数据库篇
·Oracle 中如何删除重复数据
·从MySQL导入导出大量数据的程序实现方法

Copyright@2005 www.linuxGoo.com All Right Reserved