SAP*とDDICどっちが必要?

インフラ寄りのSAPのこととか

SAP ASEジョブスケジューラのスケジュール変更

DBA計画カレンダーで毎時間実行されるトランザクションログダンプが00:00だけ実行されず、そのあと自動的に再実行される現象が発生。

おそらくはASEのジョブスケジューラ(JSAGENT)の不具合だと思うので、00:00のジョブだけ時間をずらして対応したいのだが、DBA計画カレンダーで日次として登録した周期ジョブのスケジュールをDB13で変更しようとしても反映されないので、isqlで直接スケジュールを変更する方法を調べてみた。

ASEのジョブスケジューラのユーザガイドは下記から入手可能。

Job Scheduler ユーザガイド

まずは、ジョブ一覧取得(ローカルファイル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'