ITPub博客

Stream在11gR1的新特征

原创 Oracle 作者:xzh2000 时间:2008-07-10 17:29:48 0 删除 编辑

相对于10gR2而言,11gR1中stream的新功能更是令人期待,比如:同步捕获(synchronous capture)功能,已经脱离日志挖掘的范畴;stream性能顾问(stream performance advisor)可以识别stream拓扑中的瓶颈、分离与合并stream的目标站点(对于复杂的stream环境可以提高其可用性及可维护性),跟踪LCRs的状态等、支持透明数据加密等、比较与同步共享的数据库对象(当复制环境中名称相关的表数据不一致时,可以用dbms_comparison包来同步)。。。

[@more@]

同步捕获(synchronous capture)
同步捕获是11gR1中推出捕获dml的新功能,它利于内部机制去捕获指定表的dml操作,捕获到的row change打包成被称为row LCR(logical change record)的格式,然后同步捕获进程将row LCRs入队到消息队列中,row LCR包含row的所有列(不管该列是否被修改)。
特别注意的是:基于日志挖掘的捕获与同步捕获不能同时使用;同步捕获也不对sys、system、ctxsys等模式起作用;同步捕获仅对使用dbms_stream_adm包(add_table_rules过程与add_subset_rules过程)创建的rule起作用。
同步捕获可以通过调用dbms_stream_adm包的create_sync_capture过程创建;若同步捕获不存在,调用dbms_stream_adm包的add_table_rules过程或add_subsets_rules过程时,将会自动创建同步捕获。

分离与合并stream的目标站点
在复杂的一对多复制环境中,当某个目标站点出现故障时,这时stream源站点的LCRs queue会越来越长,在源站点可以通过动态性能视图v$buffered_queues来查看有多少LCRs被写入hard disk,通过v$propagation_sender视图可以查看是那个目标站点传播时出现了故障;为了消除源站点性能上的问题,这时就需要用dbms_stream_adm包的split_stream过程,将目标站点从复制环境中分离。当故障的目标站点从复制环境分离出来时,split_stream过程将在源站点为分离出来的站点创建cloned capture、cloned queue、closed propagation;当目标站点故障修复,需要先调用dbms_capture_adm包的start_capture('closed_catpure')过程;然后调用dbms_stream_adm包的merge_stream或merge_stream_job过程将分离的目标站点再合并到复制环境中,合并目标站点时,用merge_stream_job过程比用merge_stream过程要好,因为merge_stream_job在合并目标站点前,会检查复制环境是否已经准备好。

跟踪LCRs
在11gR1以前版本,当LCRs不被apply,故障排查比较困难,特别在比较复杂的stream环境中;在11gR2中,dbms_stream_adm包提供set_message_tracking过程,可以为生成的LCRs指定一个tracking lable;当LCRs不用被apply时,可以查询v$stream_message_tracking动态性能视图来看问题卡在那个环节。


Stream拓扑与Stream性能顾问
一个stream环境通常包含多个数据库,Stream拓扑标识出stream环境中各组成部分的消息流,并提供一个全面展示stream环境的视图;stream性能顾问报告stream拓扑中包含吞吐量以及潜在风险等指标,以及stream拓扑中的瓶颈;另外,stream性能顾问还测试stream拓扑中各组成部分并为如何提升它们的性能提供建议;stream性能顾问由dbms_stream_advisor_adm包以及一些数据字典视图组成。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16648/viewspace-1007091/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-07-25

  • 博文量
    26
  • 访问量
    621281