打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Oracle EBS Alert 警告
 

Oracle EBS Alert

本文引自:

http://blog.csdn.net/sue_1989/article/details/7228778 

Alert 是一种Oracle系统中的一种机制,它可以监视系统数据库,在规定的情况下给规定用户一个通知,通知可以是邮件或者其他形式,在标注的系统和客户化系统中都是可以定义使用的。有两种类型的Alert:

(1) Event Alert. 事件型的Alert会即时发出消息

(2) Periodic Alert. 周期型根据预定义周期检查数据库然后发出消息

Oracle Alert会在以上两种给定请款下检查(check)数据库,检查时发生的与预定义不符合的情况叫做一个异常 (Exception),检查之后发生的预定义动作叫做反应(Action)。

Action在Oracle中有4种:

(1) 发送E-mail 消息(UNIX Sendmail, VMS mail, Any MAPI-complaint NT mail application…)

(2) 提交一个并发请求(Concurrent Program)

(3) 运行一个SQL脚本(只有客户化表和开放接口表才可以在这个情况下进行写操作)

(4) 运行一个系统脚本

标准Alert Guide中开发Alert的7个基本步骤:(参考R11i Oracle Alert Student Guide)

(1) 调查研究

(2) 定义Alert

(3) 定义反应(Action)

(4) 定义反应集(Action Set)

(5) 测试Alert

(6) 查看历史记录

(7) 编写文档

1. Event Alert

事件型Alert可以监视数据库,即时做出反应。对数据库的增加(insert)和修改(update)操作可以进行监控,一个查询语句(select SQL statement) 定义在Event Alert中和定义的反应(Action)作为数据库事件的结果。

触发条件:当对Oracle 应用或客户化应用数据库表有update/insert操作时

(1) 调查、准备

对于标准的Oracle EBS功能,可以再form中查看Record History得到相应的表,然后在应用开发的职责下可以看到对应表的列。

准备阶段还需要安装客户化应用、创建客户化应用和设置Mail List。

对于客户化表,需要注册表和列到Oracle系统中( AD_DD.REGISTER_TABLE 和AD_DD.REGISTER_COLUMN )。

(2) 定义Alert

用户:sysadmin

职责:Alert Manager

菜单:Alert>>Define

关键的属性设置

   Application: 选择Alert的应用,取决于要对那个应用使用Alert

Name: Alert的标识,唯一

Periodic/Event: 选择Alert的类型,只能二选一,这里选Event

Event Detail>>Application: 注册表的应用

Event Detail>>Table: 注册的表

Event Detail>>After Insert: 是否对insert 进行监控

Event Detail>>After Update: 是否对update 进行监控

    Select Statement: 返回结果的select 语句

    Verify: 验证Select语句

    Alert Detail: Alert的细节设置

    

  其中Oracle ID 固定选择APPS, OU就是需要控制的OU,一般情况要选择某一个组织,input和output就是Select语句中的参数,input参数以“:”开头(常用的有 :ROWID, :MAILID, :ORG_ID, :DATE_LAST_CHECKED),output参数以“&”开头,会自动解析到类表里。

(3) 定义Action

  Action Level为Detail的意思是,如果前面的SQL返回n条记录,那么将发n封mail。这里的Text引用了output 变量。

(4) Action Set: 设置反应集

Action Set就是把一系列的Action放在一个集合里

(5) 测试

测试之前可以查看一下对应生成的触发器,方法:

SELECT t.owner, t.trigger_name, t.trigger_type, t.triggering_event

FROM all_triggers t

WHERE t.table_owner = 应用简称

AND t.table_name = 表名

触发器的类型也可以在这里看到。

对于客户化表,如果没有界面,那么可以模拟登陆来测试:

View Code
BEGIN  --Initialize  apps.fnd_global.apps_initialize(      user_id      => X,                                  resp_id      => X,                                  resp_appl_id => X);  mo_global.set_policy_context(  p_access_mode => 'S', p_org_id => org_id);   COMMIT;END;


然后对表进行update/insert操作就会根据触发器来判断是否有Alert的Action

(6) 查看历史记录

菜单:History

根据相应的条件就可以查出相应的Alert的Action。

也可以查询wf_notification_out,如果state从0变为2说明邮件发送了:

SELECT * FROM wf_notification_out WHERE corrid = 'APPS:ALR:';

如果配置有邮件服务,那么maillist也会受到邮件。

2. Periodic Alert

周期型的定义和事件型定义基本一致,系统check方式不一样。

Frequency: check的周期

Start Time: 开始时间

End Time:结束时间

其他与Event型基本一致

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
OracleBAM原理简介
oracle中的触发器的定义
Oracle导出警告“EXP-00003: 未找到段 (0,0) 的存储定义”解决
如何成为Oracle应用程序DBA
三目运算符
JS函数定义方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服