运行和安排 eMessage 的存储过程
9.1 中的 eMessage 报告使用登台表中包含的数据,这些登台表由某些存储过程填充。这些存储过程会执行变化量刷新操作。请每天至少运行这些存储过程一次。如果较频繁地运行这些过程,那么变化量刷新方法会阻止多个并发运行。
下表提供了有关这些存储过程以及它们完成的任务的信息:
关于运行 eMessage 的存储过程的准则
运行存储过程时,请遵循下列准则:
*
*
*
*
*
当这些脚本已成功运行时,它们会显示最终的返回码 0。
适用于 Oracle 的存储过程的样本配置
为 Oracle 数据库配置存储过程时,请注意下列准则:
*
IBM® 建议使用 Oracle Automatic Memory Management (AMM)。有关更多信息,请访问 http://docs.oracle.com/cd/B28359_01/server.111/b28310/memory003.htm
*
*
以下示例说明如何创建作业并生成运行标识。该示例还说明当该作业完成时的作业标识。
关于创建运行标识的示例
以下示例显示如何在每天的 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 的存储过程的样本配置
为 Oracle 数据库配置存储过程时,请注意下列准则:
*
*
*
1.
2.
关于创建运行标识的示例
定义以下命令:
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
将作业安排为在生成运行标识的作业之后至少 10 分钟时运行。
关于处理响应数据的示例
定义以下命令:
DECLARE @return_value int
EXEC @return_value = [dbo].[SP_POPULATE_MAILING_RESPONSES]
SELECT 'Return Value' = @return_value
GO
将作业安排为在生成运行标识的作业之后至少 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® 的存储过程的样本配置
为 Oracle 数据库配置存储过程时,请注意下列准则:
*
数据库必须为 DB2® V9.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® 并运行下列授权命令:
*
*
*
*
5.
*
*
关于创建运行标识的示例
此示例显示如何在每天的 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)
将作业安排为在生成运行标识的作业之后至少 10 分钟时运行。
关于处理响应数据的示例
此示例显示如何安排批处理作业来处理响应数据。在此示例中,该作业在每天的 21:00 时运行。
call SYSPROC.ADMIN_TASK_ADD('Response_Job',null,null,
null,'00 21 * * *','USER1','SP_POPULATE_MAILING_RESPONSES',null,
null,null)
将作业安排为在生成运行标识的作业之后至少 10 分钟时运行。