作业执行失败如何解决?

oracle007007 2010-12-22 09:09:32
操作系统: winxp
数据库系统: oracle9.2.0.1.0


管理员: sysman
口令: oem_temp

登录到企业管理器

新建了一个作业,步骤如下:

一般信息选项卡:
作业名: tempjob1
目标类型: 数据库
已选目标: myoracle.mynet
其余:默认

任务选项卡:
作业任务
启动数据库
关闭数据库
其余:默认

参数选项卡:
默认


调度选项卡:
立即执行
其余:默认

访问权选卡:
sysman 通知


提交并添加到库 ,创建了作业.



设置了首选身份证明:

目标 目标类型 身份证明
oraserver 数据库 打勾
节点oraserver身份证明
用户名: administrator
口令: mikelr
确认口令: mikelr


目标 目标类型 身份证明
myoracle.mynet 数据库 打勾
数据库myoracle.mynet身份证明
用户名: system
口令: liruilr
确认口令: liruilr
角色: sysdba


最后在服务器的本地安全策略:
策略:
作为批处理作业登录 添加了用户administrator


最终结果:
作业-> 历史记录
名称 目标 目标类型 所有者 状态 结束时间
tempjob myoracle.mynet 数据库 sysman 失败 22-十二月-2010 09:01:59AM


状态:总是失败.
如果成功的话应该 状态:已完成.


请问各位大侠,到底是哪里出错了??怎么解决呢?









...全文
146 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangren 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 minitoy 的回复:]

来学习下.
tangren有metalink账号?
[/Quote]
minitoy 2010-12-22
  • 打赏
  • 举报
回复
来学习下.
tangren有metalink账号?
tangren 2010-12-22
  • 打赏
  • 举报
回复
查查以下方面:

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;

  2) JOB_QUEUE_PROCESSES=0
  Make sure that job_queue_processes is > 0
  show parameter job_queue_processes

  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’;

  4) Is the job BROKEN?
  select job,broken from dba_jobs where job=;
  If broken, then check the alert log and trace files to diagnose the issue.

  5) Is the job COMMITted?
  Make sure a commit is issued after submitting the job:
  DECLARE X NUMBER;
  BEGIN
  SYS.DBMS_JOB.SUBMIT
  (
  job => X
  ,what => 'dbms_utility.analyze_schema
  (''SCOTT'',''COMPUTE'',NULL,NULL,NULL);'
  ,next_date => to_date('08/06/200509: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();), then likely a commit
  is missing.

  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 bug 3427424
  (Jobs may stop running after 497 days uptime) which is fixed in 9206 and A102

  7) DBA_JOBS_RUNNING
  Check dba_jobs_running to see if the job is still running:
  select * from dba_jobs_running;

  8) 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=;
  ^-- 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=;
  ^-- This is not possible since the job never gets executed automatically.

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧