oracle bam教程,Oracle BAM原理简介

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触发的。

大致就这样,有不足的请补充^_^

相关文档:

Q1.怎样创建表?

Q2.怎样删除表?

Q3.怎样创建视图?

Q4.怎样删除视图?

Q5.怎样给表添加字段?

Q6.怎样删除表中某个字段?

Q7.怎样给某个字段添加约束?

Q8.怎样去除某个字段上的约束?

Q9.怎样给表加上主键?

Q10.怎样删除表的主键?

Q11.怎样给表添加一个外键?

......

oracle数据库同步技术

高级复制

什么是复制?简单地说复制就是在由两个或者多个数据库系统构成的一个分布式数据库环境中拷贝数据的过程。

高级复制,是在组成分布式数据库系统的多个数据库中复制和维护数据库对象的过程。 Oracle 高级复制允许应用程序更新数据库的任何副本 ......

记得以前在论坛里看到inthirties用到过WITH AS这个字眼,当时没特别在意。今天在一个帖子里又看到有人用这个,所以就去网上搜了搜相关内容,自己小试了一把,写下来,方便以后忘了的话学习。

===================================================================================

先举个例子吧:

有两张表,分别为A、B ......

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 ......

1: 加大回滚段(可以给500M甚至1G)

2:分段commit

iCount :=1;

for rec in cur_name loop

insert into  table_name (.....);//DML Lanaguage

if iCount =2000 then

commit;

iCount:=0;

else

iCount:= iCount +1;

......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值