eMessage 用のストアード・プロシージャーの実行およびスケジューリング
9.1 の eMessage レポートでは、ストアード・プロシージャーによって設定されるステージング表に含まれるデータを使用します。 ストアード・プロシージャーは、デルタ・リフレッシュ操作を実行します。 ストアード・プロシージャーは、1 日 1 回以上実行します。 それ以上の頻度でプロシージャーを実行する場合、デルタ・リフレッシュ方式では、複数同時に実行することはできません。
次の表には、ストアード・プロシージャーと、それによって実行されるタスクに関する情報が示されます。
eMessage 用のストアード・プロシージャーの実行に関するガイドライン
ストアード・プロシージャーを実行する際には、以下のガイドラインに従います。
*
*
*
*
*
スクリプトが正常に実行されると、最終戻りコード 0 が表示されます。
Oracle のストアード・プロシージャーの構成例
Oracle データベース用にストアード・プロシージャーを構成する際には、以下のガイドラインを念頭に置いてください。
*
IBM® は、Oracle Automatic Memory Management (AMM) の使用を推奨します。 詳しくは、http://docs.oracle.com/cd/B28359_01/server.111/b28310/memory003.htm を参照してください。
*
*
次の例では、ジョブを作成し、実行 ID を生成する方法について説明します。この例ではまた、ジョブ完了時のジョブ ID についても説明します。
実行 ID の作成例
次の例では、毎日 21:00 (終了日なし) にジョブ番号を入手する方法を示しています。このジョブは、2013 年 8 月 19 日に開始されます。
declare
jobno number;

BEGIN
DBMS_JOB.submit (job =>:jobno,
what => 'sp_runid;',
next_date => to_date('19-Aug-2013 21:00','DD-MON-YYYY HH24:MI' ),
interval => 'sysdate+1');
commit;
END;
/
コンタクト・データの処理例
次の例では、コンタクト・データを処理するバッチ・ジョブをスケジュールする方法を示しています。このジョブは、毎日 21:10 に実行されます。
declare
jobno number;

BEGIN
DBMS_JOB.submit (job =>:jobno,
what => 'sp_populate_mailing_contacts;',
next_date => to_date('19-Aug-2013 21:10','DD-MON-YYYY HH24:MI' ),
interval => 'sysdate+1');
commit;
END;
/
レスポンス・データの処理例
次の例では、レスポンス・データを処理するバッチ・ジョブをスケジュールする方法を示しています。このジョブは、毎日 21:10 に実行されます。
declare
jobno number;

BEGIN
DBMS_JOB.submit (job =>:jobno,
what => 'sp_populate_mailing_responses;',
next_date => to_date('19-Aug-2013 21:10','DD-MON-YYYY HH24:MI' ),
interval => 'sysdate+1');
commit;
END;
/
SMS コンタクト・データの処理例
*
次の例では、毎日 21:00 (終了日なし) にジョブ番号を入手する方法を示しています。このジョブは、2013 年 8 月 19 日に開始されます。
BEGIN
DBMS_JOB.submit (job =>:jobno,
what => ’sp_populate_SMS_contacts;’,
next_date => to_date(’19-Aug-2013 21:10’,’DD-MON-YYYY HH24:MI’ ),
interval => ’sysdate+1’);
commit;
END;
/
SMS レスポンス・データの処理例
次の例では、毎日 21:00 (終了日なし) にジョブ番号を入手する方法を示しています。このジョブは、2013 年 8 月 19 日に開始されます。
BEGIN
DBMS_JOB.submit (job =>:jobno,
what => ’sp_populate_SMS_responses;’,
next_date => to_date(’19-Aug-2013 21:10’,’DD-MON-YYYY HH24:MI’ ),
interval => ’sysdate+1’);
commit;
END;
/
Microsoft SQL Server 用ストアード・プロシージャーの構成例
Microsoft SQL Server データベース用にストアード・プロシージャーを構成する際には、以下のガイドラインを念頭に置いてください。
*
*
*
1.
2.
実行 ID の作成例
次のコマンドを定義します。
DECLARE @return_value int
EXEC @return_value = [dbo].[SP_RUNID]
SELECT 'Return Value' = @return_value
GO
コンタクト・データの処理例
次のコマンドを定義します。
DDECLARE @return_value int
EXEC @return_value = [dbo].[SP_POPULATE_MAILING_CONTACTS]
SELECT 'Return Value' = @return_value
GO
実行 ID を生成するジョブから少なくとも 10 分たった後に実行されるようにジョブをスケジュールします。
レスポンス・データの処理例
次のコマンドを定義します。
DECLARE @return_value int
EXEC @return_value = [dbo].[SP_POPULATE_MAILING_RESPONSES]
SELECT 'Return Value' = @return_value
GO
実行 ID を生成するジョブから少なくとも 10 分たった後に実行されるようにジョブをスケジュールします。
SMS コンタクト・データの処理例
次のコマンドを定義します。
DDECLARE @return_value int
EXEC @return_value = [dbo].[SP_POPULATE_SMS_CONTACTS]
SELECT 'Return Value' = @return_value
GO
SMS コンタクト・データの処理例
次のコマンドを定義します。
DDECLARE @return_value int
EXEC @return_value = [dbo].[SP_POPULATE_SMS_RESPONSES]
SELECT 'Return Value' = @return_value
GO
IBM® DB2® 用ストアード・プロシージャーの構成例
DB2 データベース用にストアード・プロシージャーを構成する際には、以下のガイドラインを念頭に置いてください。
*
データベースは DB2® バージョン 9.7.8 以上でなければなりません。
*
DB2® Administrative Task Scheduler (ATS) で新規ジョブを作成します。
*
IBM® DB2® 用のストアード・プロシージャーを構成する前に、以下のステップを実行します。
1.
DB2_ATS_ENABLE レジストリー変数を YES、TRUE、1、または ON に設定します。 変数の設定後に、DB2® データベースを再始動します。
2.
このスペースは、SYSADM グループまたは SYSCTRL グループに属するユーザーが作成できます。 次の照会を使用して、このスペースが存在することを検証します。
SELECT TBSPACE FROM SYSCAT.TABLESPACES WHERE TBSPACE = 'SYSTOOLSPACE'
3.
EMESSAGE: eMessage システム・テーブルを含んでいるデータベース。
USER1: EMESSAGE データベースの所有者
DB2ADMIN: DB2® 管理ユーザー
Administrator: スーパーユーザー
4.
管理ユーザーとして DB2® に接続し、以下の GRANT コマンドを実行します。
*
*
*
*
5.
*
*
実行 ID の作成例
次の例では、毎日 20:50 (終了日なし) にジョブ番号を入手する方法を示しています。
call SYSPROC.ADMIN_TASK_ADD('RunID_Job',null,null,
null,'50 20 * * *','USER1','SP_RUNID',null,null,null)
コンタクト・データの処理例
次の例では、コンタクト・データを処理するバッチ・ジョブをスケジュールする方法を示しています。この例では、ジョブは毎日 21:00 に実行されます。
call SYSPROC.ADMIN_TASK_ADD('Response_Job',null,null,null,'00 21 * * *',
'USER1','SP_POPULATE_MAILING_RESPONSES',null,null,null)
実行 ID を生成するジョブから少なくとも 10 分たった後に実行されるようにジョブをスケジュールします。
レスポンス・データの処理例
次の例では、レスポンス・データを処理するバッチ・ジョブをスケジュールする方法を示しています。この例では、ジョブは毎日 21:00 に実行されます。
call SYSPROC.ADMIN_TASK_ADD('Response_Job',null,null,
null,'00 21 * * *','USER1','SP_POPULATE_MAILING_RESPONSES',null,
null,null)
実行 ID を生成するジョブから少なくとも 10 分たった後に実行されるようにジョブをスケジュールします。