SAP ASEジョブスケジューラのスケジュール変更
DBA計画カレンダーで毎時間実行されるトランザクションログダンプが00:00だけ実行されず、そのあと自動的に再実行される現象が発生。
おそらくはASEのジョブスケジューラ(JSAGENT)の不具合だと思うので、00:00のジョブだけ時間をずらして対応したいのだが、DBA計画カレンダーで日次として登録した周期ジョブのスケジュールをDB13で変更しようとしても反映されないので、isqlで直接スケジュールを変更する方法を調べてみた。
ASEのジョブスケジューラのユーザガイドは下記から入手可能。
まずは、ジョブ一覧取得(ローカルファイルsjob.txtに出力)
use sybmgmtdb
go
sp_sjobhelp
go > sjob.txt
出力結果が折り返されてしまう場合は、isqlのオプションに-w10000を追加するとよい。
出力結果から目的のジョブ名を特定する。
出力結果の例(毎日00:00に実行される、トランザクションダンプ)
sjob_id: 74 name: 'SAP_JOBSCH_DMPTR_20170904115027_1'
owner : sapsa
created : Sep 4 2017 11:28AM
state : enabled
job name : 52 - 'SAP_JOB_DMPTR_20170904115027'
schedule name : 51 - 'SAP_SCHEDULE_DMPTR_20170904115027_1'
server : FSP
-- job --------:
description : SAP DBA Planning Calendar: Transaction Dump
owner : sapsa
created : Sep 4 2017 11:28AM
properties : shared
-- schedule ---:
description : SAP DBA Planning Calendar
owner : sapsa
created : Sep 4 2017 11:28AM
repeating : every day
starttime : 00:00
startdate : 05 Sep 2017
修正する
例)毎日00:00→毎日00:02
sp_sjobmodify 'sjname=SAP_JOBSCH_DMPTR_20170904115027_1','starttime=00:02,repeats=1day'