红联Linux门户
Linux帮助

Oracle的job无法自动运行

发布时间:2008-05-06 00:03:00来源:红联作者:Plahand
刚刚接手数据库的维护,最近发现oracle的job都不能自动运行了,手工执行仍然可以。上网查了下,发现原来是oracle的一个bug,计时器溢出了。

查看主机:
$ uptime
上午10点27分 运行 560 天 16:45, 1 user, 平均负载:0.52, 0.56, 0.60

已经远超过497天,必须要重新启动系统才行。由于不能轻易的重启系统,所以我就用crontab做了个定时运行的脚本来运行oracle的job。

1,首先查看oracle所要运行job的值:
SQL> select job from user_jobs where what like '%xxxxxxx%';
JOB
----------
422
SQL>

2,编写shell脚本auto_job.sh
$more auto_job.sh
#!/bin/bash
. /export/home/oracle/.profile
sqlplus -s user_name/passwd@sid<exec dbms_job.run(422);
exit
!

3,用oracle用户创建crontab
$ crontab -e
00 03 * * * /export/home/oracle/auto_jobs.sh

测试没有问题,收工。
文章评论

共有 0 条评论