Home  >  Article  >  Database  >  《Oracle Streams技术引航》-全生命周期式讲解-手操-图文-可下载

《Oracle Streams技术引航》-全生命周期式讲解-手操-图文-可下载

WBOY
WBOYOriginal
2016-06-07 17:37:52842browse

更多精彩内容尽在www.leonarding.com《OracleStreams技术引航》-全生命周期式讲解-手操-图文-可下载引言:OracleStreams是oracle自从9iR2开始提供的一种信息流复

更多精彩内容尽在

《Oracle Streams技术引航》-全生命周期式讲解-手操-图文-可下载


引言:Oracle Streams是oracle自从9iR2开始提供的一种信息流复制技术,经过10GR1、10GR2、11GR1、11GR2几个版本的完善,在慢慢走向成熟,可以实现跨版本数据容灾和数据共享,最大的一个优点就是免费,这是最吸引人的地方。其基本思想来源于Oracle高级队列,是其应用的延伸,它还可以传递消息队列。streams是随oracle数据库一同安装的,不需要单独安装。

实现原理非常简单:通过capture(捕获),propagation(传播),apply(应用)三个过程,将数据复制到目标数据库。三个步骤中间通过queue(oracle的advanced queue)进行连接,通过一系列的rule定义需要复制的数据,既可以是单点复制,也可以是多点复制。内部原理为capture进程从redo log中发掘DML和DDL操作,然后生成独特的LCR(Logical Change Record)数据单元并存于advanced queue中,propagation进程再将LCR queue传输到目标数据库,apply进程将接收的queue进行解析,并应用LCR中的DML或DDL操作,完成数据的复制。capture既可以在源库本地捕获,也可以在目标库捕获(downstream落地捕获),如果是本地捕获,,capture直接从redo log中读取信息;如果是downstreem捕获,capture从redo log或archive log中捕获信息,中间的日志传输机制跟data guard一样。


实操实验

流程:源数据库 -> Streams复制 -> 目标数据库

目录

步骤一:源数据库和目标数据库必须是归档模式

步骤二:源数据库和目标数据库均需要设置的参数

步骤三:源数据库启动追加日志

步骤四:源数据库和目的数据库创建相同表空间和用户并赋权

步骤五:配置listener.ora和tnsnames.ora

步骤六:创建db_link(作用:源库的改变需要通过队列的dblink传递到目标库)

步骤七:分别在源库和目标数据库上创建测试用户

步骤八:在源数据库上创建Source_Queue 队列,存放LCR(logicchange record) 也叫发送队列

步骤九:在目标数据库上创建Target_Queue 队列用来接收LCR并应用 也叫接收队列

步骤十:源数据库上创建capture进程,源端捕获的改变存放到source_queue队列中

步骤十一:源数据库上创建propagation传递进程及规则,作用源端队列分发到目标端队列

步骤十二:目标数据库上创建apply应用进程,作用从接收队列中获取LCR并在目标端应用

步骤十三:直接设置SCN进行实例化

步骤十四:目标数据库上启动Apply进程

步骤十五:源数据库上启动capture捕获进程

步骤十六:测试源库->streams->目标库


PDF51CTO下载中心:《Oracle Streams技术引航》 请点击下载


Streams  GoldenGate 高可用  MAA  复制技术


Leonarding

2013.11.18

北京& winter

分享技术~成就梦想

Blog:



本文出自 “分享技术~成就梦想” 博客,请务必保留此出处

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn