如何在Sybase ASE上定时调度一个存储过程 (1)

2008-04-23 03:20:51.0     推荐:0    收藏:0    评论:0     来源:e800数据库频道

【赛迪网-IT技术报道】问题:怎样才能在Sybase ASE 12.5.3上定时调度一个存储过程?

解答:

正常情况下,在数据库中定时执行存储过程主要有以下三种方式:

1、自己编写写一个Java程序,通过JDBC去掉用存储过程;

2、编写Unix Shell脚本,通过数据库接口调用存储过程,并将这个Shell脚本递交给Crontab调度;

3、使用数据库自身的定时调度机制,而这个在不同的数据库系统下又有不同的实现方法。

综合比较后,第3种方法是最简便快捷的。例如Oracle数据库中的复制任务,ASIQ数据库中的Event等都可以定时执行某个任务。但在Sybase ASE种则稍微有些复杂,因为ASE数据默认安装的时候是不支持任务的自动调度的,需要额外的步骤安装配置任务调度器(Job Scheduler)。而且,任务的自动调度也是在ASE 12.5.1及以后的版本才支持的。

ASE Job Scheduler的安装配置方法如下:

1、安装Job Scheduler

Job Scheduler的安装主要分以下几步:

a. 创建数据库设备sybmgmtdev ,该设备至少要60MB大小,通常建议100MB.

b. 运行installjsdb脚本 ,命令格式:

isql –Usa –Psa_password –Sservername –i $SYBASE/$SYBASE_ASE/scripts/installjsdb

c. 在Interface文件中加入JS_AGENT Server的信息

hyl_jsagent

master tcp ether server_machine 14231

query tcp ether server_machine 14231

d. 在sysservers表中加入Js_Agent ,命令格式:

sp_addserver SYB_JSAGENT,null,hyl_jsagent

e. 使Job Scheduler生效,命令格式:

sp_configure "enable job scheduler",1

f. 启动Job Scheduler,可以重启ASE服务器,或者用以下命令:

use sybmgmtdb

go

sp_js_wakeup "start_js",1

go

在这些步骤完成之后,用Sybase Central登陆ASE后,就可以在图形界面上看到Job Scheduler得功能菜单了。但这个时候还不能定义并执行Job,还需要以下一些配置。

2、配置任务调度用户

a.增加任务调度用户的login

sp_addlogin job_operator ,''123456'', sybmgmtdb

go

b.增加任务调度用户

sp_adduser job_operator

go

c.给用户赋予任务调度的角色

sp_role ''grant'',js_admin_role,job_operator

go

sp_role ''grant'',js_user_role,job_operator

go

sp_modifylogin job_operator,''add default role'',js_user_role

go

sp_modifylogin job_operator,''add default role'',js_admin_role

go


3、设置对目的服务器的访问

需要注意的两个概念:

一个是任务调度服务器,就是Job Scheduler安装运行的ASE服务器。另外一个就是目的服务器,就是要调用的对象如SQL或者存储过程所在的服务器。

Job Scheduler将所有的目的服务器作为远程服务器对待。所以,这里要设置Job Scheduler对目的服务器的访问。

a. 将Target Server加入sysservers表中

sp_addserver hyl_cx

go

select * from sysservers

go

b. 设置任务调度服务器可以访问Target Server得用户

sp_addexternlogin hyl_cx, job_operator, user ,''xxxxx''

在以上三步完成后,你就可以在任务调度服务器中定义任务和调度了。

(责任编辑:卢兆林)


您可以针对本文进行:[评论]  [收藏]  [推荐]   [查看原文链接]  
  • 共有0条评论  点击查看更多评论
  • 网友评论仅供网友表达个人看法,并不表明e800同意其观点或证实其描述
我想发表评论:
用户名密码
  • 匿名发表
    验证码: