Streams那些事之概述与原理

Oracle 的Streams提供了信息共享的一种方式,区别于其它数据共享的方式,Streams甚至允许不同类型的数据库之间传递数据,实现这点的根本在于 Streams的复制流程,通过捕获,传播,应用三个步骤,将指定的信息传输到指定位置,在捕获消息,管理消息,以及在不同数据库或应用之间共享消息等方面提供了比传统解决方案更为强大的功能和扩展性。Streams特性适用于分布式的企业应用,数据仓库,高可用解决方案等等。

Streams 技术和 Logical Standby 在本质上是一样的,都是通过 logminer 技术从 redo 中解析出 sql 语句,通过一系列的传送进程将这些 sql 重新在目标库中应用,从而在目标库上产生源库的数据拷贝,这对于那些考虑利用备用数据库,实现读写分离的公司显然是很大的诱惑。相比逻辑备用数据库,Streams 的优势在于数据库是处于 open、可读写模式,支持到异构数据源的制,可以做到只复制特定表,特定用户的某些数据。概括起来也就以下四点:

  • 数据复制
  • 数据保护
  • 数据仓库数据加载
  • 提供数据库服务的高可用支行

基本原理:

1.捕获进程:原数据库利用logminer捕获数据(capture)

2.传送进程:捕获数据后需要传送到目的数据库(propagation)

3.应用进程:目的数据库应用传送过来的数据(apply)

 

 

 

posted @ 2012-08-22 23:24  南宫元耘  阅读(311)  评论(0编辑  收藏  举报