更多精彩内容尽在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:
本文出自 “分享技术~成就梦想” 博客,请务必保留此出处