Oracle BAM原理简介
Oracle BAM全称为Oracle Busines Activity Monitoring,中文叫Oracle 业务活动监视
,BAM有两种功能
1.创建实时report
2.创建基于一定规则的alert
BAM最大的特点就是,它的功能都是实时的,任意的数据变化,他都能实时的反应到正在显示的report上去,也能立刻触发alert的发生。怎么实现这项功能呢?
1.在我们一般的系统中,report都是通过数据库查询产生的,也就是说,由report产生工具去主动查找数据,这样原理在BAM中是无法使用的,因为它要求实时,要在几秒之内用户就能看到report的变化。所以BAM采用的是被动接受数据的原理,BAM服务启动后,其它系统就可以通过BAM Adaptor/Sensor,JMS,Data Integrator,Web Services等方法把数据发送到BAM,BAM就会根据数据自动产生report。另有一种数据源,External Data Source,用来从数据库中读取数据,不过,它只在服务启动的时候读取一次,不能实时反应变化。
2.BAM的数据操作都是基于内存的,report信息都存在内存里,所以客户端来读取数据时,可以立刻从内存中拿到数据发给客户端。那内存中的数据会不会太多呢?实际上应该会比想象的少,因为BAM的report都是增量的report。数据来之后根据数据重新调整report,然后,数据会被存到一个由BAM创建的表中,这样下次启动,数据也不会错。
BAM的大致流程如下:
BAM Adaptor/Sensor----->BAM Active Data Cache-->BAM Event Engine-->BAM Report Cache-->BAM Web Applications
JMS-------------------|
Data Integrator-------|
Web Services----------|
External Data Source--|
最左边的五种数据,会被载入Active Data Cache(ADC)中,这是一个机遇内存的存储数据的模块。Event Engine会监听数据的变化,更新report,把report放在一个缓存块中(Report Cache),然后BAM Web Applications就会从缓存块中读取数据。图里没有画出Alert的产生,它也是由Event Engine触发的。
大致就这样,有不足的请补充^_^
相关文档:
一.物理读(physical read)
当数据块第一次读取到,就会缓存到buffer cache 中,而第二次读取和修改该数据块时就在内存buffer cache 了 以下是例子:
1.1 第一次读取:
C:"Documents and Settings"Paul Yi>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.4.0 - Production on Thu Feb 28 09:32:04 2008
Copyright (c) 19 ......
http://www.cnblogs.com/sleepywang/archive/2009/10/13/1582654.html
1. 下载oracle的客户端程序包(30M)
只需要在
Oracle
下载一个叫
Instant Client Package
的软件就可以了,这个软件不需要安装,只要解压就可以用了,很方便,就算重装了系统还是可以用的。
  ......
Name:JDBC-DEV1
JNDI Name:jdbc.datasource.DS1
AdminServer
Row Prefetch Size: 48
Stream Chunk Size:256
URL:jdbc:oracle:thin:@192.168.0.118:1521:AAT
Driver Class Name:oracle.jdbc.OracleDriver
连接oracle及postgresql的连接字符串
package com.lwf.eus.util;
import java.sql.Conn ......
刚开始使用Oracle,做一些笔记以积累。
2009年11月6日 项目DSSC,服务器上创建数据库并导入数据。
创建表空间:
create tablespace ts_stone
logging
datafile 'xxx.dbf'
size 100m
autoextend on
next 100m maxsize 2048m
extent management local;
临时表空间:
create temporary tablespace temp_ts ......
ORACLE 10G中新增的MODEL子句可以用来进行行间计算。MODEL子句允许像访问数组中元素那样访问记录中的某个列。这就提供了诸如电子表格计算之类的计算能力。
1、MODEL子句示例
下面这个查询获取2003年内由员工#21完成的产品类型为#1和#2的销量,并根据2003年的销售数据预测出2004年1月、2月、3月的销量。
......