ジョブには目的別にさまざまな種類があります。このページでは、各タイプの概要を説明します。

Optimization Jobs

システムが最適化勧告を生成すると、システムは、SYSADMIN.RecommendedOptimizationsテーブルにエントリを保存します。1つまたは複数のジョブを推奨されるOptimization に関連付けることができます。これらのストアドプロシージャは、 Optimization Managementに記載されている適切なストアドプロシージャのいずれかを使用して作成できます。このセクションでは、Optimization Jobs の詳細について説明します。

SQL Jobs

SQL ジョブでは、任意のSQL スクリプトをスケジュールされたジョブとして実行することができます。SQL ジョブはこのストアドプロシージャを使用して作成できます:

SYSADMIN.createSQLJob(IN script string NOT NULL, IN description string, IN parallelRunsAllowed integer, IN retryCounter integer, IN retryDelay integer, IN runTimeout integer, IN jobName string, IN uuid string, OUT jobid biginteger NOT NULL RESULT)

このプロシージャは以下のパラメータを取ります:

Parameter

Description

script

SQL script (only for the SQL job type); see below for more details

description

Job description (only for the SQL job type)

parallelRunsAllowed

Number of parallel runs the job can have; If the number is reached, further starts of the particular job will be ignored. Default: 1

retryCounter

Number of retry attempts before the job is set to FAILED state

retryDelay

Delay in seconds between the retry attempts

runTimeout

Individual job timeout in minutes. If no runTimeout is set, configuration set via default value option JOB_RUN_TIMEOUT will be considered for the job; if runTimeout is reached before the job is finished, the job terminates with the INTERRUPTED state

jobName

Job's unique identifier

uuid

Custom UUID for the created job

jobidを返します。このパラメータは必要に応じてジョブのパラメータを変更するために使用できます。

uuid parameter in SYSADMIN.createSQLJob is available since v4.1

script Parameter

scriptパラメータについて、いくつか注意点があります:

    • NULLではないかもしれません;
    •  スケジュールされたジョブは、スクリプト自体にBEGIN-ENDブロックが含まれていない場合でも、ステートメントの区切り文字としてセミコロン (';') を使用するスクリプトでのみ動作します! CData Virtuality Server は、実行時にすべてのSQL ジョブスクリプトをBEGINEND
    •  scriptを変更するには、指定されたjobIdを使用して、次のストアドプロシージャを使用します。  script以外の値を変更するには、 changeJobParameters()を使用します。

      SYSADMIN.changeSQLJob(IN jobid biginteger NOT NULL, IN script string NOT NULL, IN description string, IN parallelRunsAllowed integer, IN retryCounter integer, IN retryDelay integer)

Creating SQL Jobs via the CData Virtuality Studio

CData Virtuality Studio でSQL ジョブを作成するには、SQL エディタのSQL 入力フィールドの上にある スクリプトのスケジュールボタンをクリックします。クエリの一部のみを選択した場合、選択された部分が使用されます:

Statistics Jobs

これらのジョブは、Optimization Subsystem が最適なQuery Plan を作成できるように、テーブルやビューに関する統計情報を収集します。統計ジョブはこのストアドプロシージャを使用して作成できます:

SYSADMIN.createGatherStatisticsJob(IN "datasource" string, IN gatherTableCardinalities boolean NOT NULL, IN gatherColumnCardinalities boolean NOT NULL, IN gatherNetworkStats boolean NOT NULL, IN excludeTables string, IN parallelRunsAllowed integer, IN retryCounter integer, IN retryDelay integer, IN runTimeout integer, IN jobName string, IN uuid string, OUT jobID biginteger NOT NULL RESULT)

Restarting Jobs When the Server is Up

中断されたジョブは、サーバー自体の起動時に自動的に再開されます。

デフォルトの動作は、サーバーの起動時にすべてのジョブを一度に再起動することですが、この動作を変更するためにシステムに渡すことができるプロパティがあります。

-DjobDelay プロパティには以下の値を指定できます:

Value

Description

-1

Jobs will not be initialized at all

0

All jobs will be initialized at once; default

>0

Minutes of initialization delay between the jobs; values greater than 0

-DjobDelay プロパティは、初期化時に環境変数 JAVA_OPTSを通じてシステムに渡すことができます。このプロパティを環境変数に追加する適切なファイルは、Windowsでは{dvserver}binstandalone.conf.props.batに、Linuxでは{dvserver}/bin/standalone.conf.propsにあります。

以下の例では、ジョブは互いに2分間隔で開始されます:

1. Windows:

set "JAVA_OPTS=%JAVA_OPTS% -DjobDelay=2"

2. Linux:

JAVA_OPTS="$JAVA_OPTS -DjobDelay=2"