ORALCE EBS ALERT 初体验
Oracle EBS Alert
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 = 表名
触发器的类型也可以在这里看到。
对于客户化表,如果没有界面,那么可以模拟登陆来测试:
Code
然后对表进行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型基本一致
ORALCE EBS ALERT 初体验的更多相关文章
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
- SignalR初体验
简介 ASP .NET SignalR[1] 是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信.什么是实时通信的Web呢?就是让客户端(Web页面)和服务器端可以 ...
- 中文代码示例之NW.js桌面应用开发初体验
先看到了NW.js(应该是前身node-webkit的缩写? 觉得该起个更讲究的名字, 如果是NorthWest之意的话, logo(见下)里的指南针好像也没指着西北啊)和Electron的比较文章: ...
- [Ajax] AJAX初体验之-在博客中添加无刷新搜索
现在博客很流行,相信应该上网时间稍微长点的朋友都会在这或者在那的有一个自己的博客.对于一些有一定能力的朋友,可能更喜欢自己去下载一个博客程序来架设一个自己的博客,而不是使用一些博客网站提供的服务.而大 ...
- ThinkPHP -- 开发初体验及其几个配置文件的介绍
ThinkPHP是一款不错的轻量级的PHP+MVC框架,它吸取了Ruby On Rails的特性,不仅将Model.View.Controller分开,而且实现了ORM.模板标签等高级特性. 开 ...
- js随堂初体验(一)
Js初体验(-) 1 js的基础知识 A web三大标准:1 html:结构标准 2 css:表现标准 3 javascript:行为标准 B js三种书写方式:1 行内js:onclick ...
- javascript_19-DOM初体验
DOM DOM: 文档对象模型(Document Object Model),又称为文档树模型.是一套操作HTML和XML文档的API. DOM可以把HTML和XML描述为一个文档树.树上的每一个分支 ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
随机推荐
- C++对象模型的那些事儿之二:对象模型(下)
前言 上一篇博客C++对象模型的那些事儿之一为大家讲解了C++对象模型的一些基本知识,可是C++的继承,多态这些特性如何体现在对象模型上呢?单继承.多重继承和虚继承后内存布局上又有哪些变化呢?多态真正 ...
- android开源库发布到jcenter图文详解与填坑
相信很多人都用过开源项目,特别是android studio普及以后,使用开源库更方便简单.而如何上传开源库到jcenter供大家方便使用,虽然网上也有教程,但还是遇坑了,最后总结一下,希望可以帮助大 ...
- 开源项目——小Q聊天机器人V1.4
小Q聊天机器人V1.0 http://blog.csdn.net/baiyuliang2013/article/details/51386281 小Q聊天机器人V1.1 http://blog.csd ...
- (一〇九)UIButton的使用技巧 -imageView、titleLabel、圆角等
UIButton是一个常用控件,使用方法十分基本,但是有很多技巧常常不被注意,本文主要介绍UIButton的一些较高级技巧,用于实现图片和标签显示的美观性等. 开发时常常碰到按钮的下侧或者右侧有标题的 ...
- C++编写ATM
偶然看到的一段代码,代码虽然简单,但是挺有意思: #include <iostream> #include <conio.h> //全局变量 float sum_m ...
- Linux内核编译时会遇到的问题--缺少mkimage
由于各大平台所带的内核不同,所以编译方式也不同,但方法都是大同小异. 但是,编译内核有时候会提示缺少mkimage这个命令,如何解决? 供应商提供内核的同时也会提供其它的一些,比如Uboot,root ...
- Java项目源码为什么要做代码混淆(解释的很好)
代码混淆,是将计算机程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为.代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码.执行代码混淆的程序被称作代码混淆器.目前已经存在许多种 ...
- 查看Linux下的文件
到了这个时候了,也大概的知道了寄出的Linux的操作,是时候接触一下如何查看文件了.我们常用的有以下几种方式: 1.cat,使用cat命令可以将文件的内容输出到显示屏上,也可以将两个文件结合一起输出. ...
- UI设计切忌墨守成规,但改变也须用数据说话
因为我提倡一种非标准的方法,Jon Galloway在一段评论里点了我的名: 年,他们很清楚怎么去填写这些表单.如果采用其他方法,用户会感到困惑,有些人还会落荒而逃(丢掉购物车,等等).Web表单很有 ...
- DBA Scripts
标记一下,慢慢研究 http://www.oracle-base.com/dba/scripts.php Monitoring access.sql active_sessions.sql cache ...