- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用Oracle 流技术实现数据复制 Ashish Ray Director of Product Management Database High Availability, Server Technologies 什么是 Oracle Streams? 一个信息共享的简单解决方案 它提供如下功能: 复制 消息队列 数据仓库的装载和简单的 ETL 数据库迁移 应用升级 事件管理和通告 Streams: 体系结构 Streams: 功能组件 Capture-捕获 低开销,低延迟的变更捕获 数据库的变更被写入在线的redo log 当变更被写入数据库log后,Oracle Streams 提取这些变化 Redo or 归档 log 文件 能在本地或 or Downstream 中捕获 变更被格式化成逻辑变更记录(LCR) ,一个变更的表示方式 自动重启(实例重启或者RAC实例发生错误保护) 自动的流控制 逻辑变更记录 (LCR) 数据库变更 = LCR DML 行变更 = LCR 对象的名字,属主,DML的类型,SCN,… 老值, 新值 可选的属性: 用户名,会话,线索,… DDL 对象的名字,属主,DML的类型,SCN,… DDL 文本 可选的属性: 用户名,会话,线索,… LOB 和 LONG 字段 每个 LOB 或者 LONG 字段column生成多个 LCRs 大数据分段 Staging-暂存 Streams 发布捕获事件到内存中的暂存区域 暂存区是用类型的队列实现 Streams 捕获使用缓存的 ANYDATA 类型的队列 SGA中的Streams缓存池 订阅者:另外一个暂存区或Streams进程 消息一直保留在暂存区直到被所以的订阅者都使用 在暂存区之间的传播通过传播任务定期进行 LCRs 从本地的数据库通过队列被传播到目标数据库的队列里 Apply-应用 缺省的应用引擎将间接地应用在LCR里的DML或者DDL 应用到本地的Oracle表 通过数据库链接应用到非Oracle表 自动的带有选项的冲突检测 没有解决的冲突放在错误队列中 事务可以从错误队列中重新应用或者删除 最大地并发使用并行应用 Streams 进程的体系结构 Streams 捕获和应用: 复制配置 Downstream 的捕获 使用本地客户化的Streams 捕获 基于规则的配置 消费者预定发布的事件 规则使用SQL WHERE 子句表达 dbms_rule_adm.create_rule( rule_name=‘scott.rule1, condition=:dml.get_object_owner() = SCOTT AND :dml.get_object_name()=EMP); 规则集控制捕获、暂存的应用的行为 包含 排除 动态规则维护 裁剪的复制API DBMS_STREAMS_ADM.MAINTAIN_* {Tables | Schemas | Global | TTS} DBMS_STREAMS_ADM.ADD_*_RULES {Table | Schema | Global |Subset} 10.2: 简单的配置Schema 复制 BEGIN dbms_streams_adm.MAINTAIN_SCHEMAS( SCHEMA_NAMES = HR,SCOTT, SOURCE_DIRECTORY_OBJECT = null, DESTINATION_DIRECTORY_OBJECT = null, SOURCE_DATABASE = NULL, DESTINATION_DATABASE = ‘TARGET_global_name, PERFORM_ACTIONS = TRUE, BI_DIRECTIONAL = FALSE, INSTANTIATION = DBMS_STREAMS_ADM.INSTANTIATION_SCHEMA_NETWORK ,SCRIPT_DIRECTORY_OBJECT = ‘SCRIPT_DIR’, SCRIPT_NAME = ‘generated_schemas_script.sql’, ); END; / 基于规则的转换 转换可以在如下几个步骤实施: 在事件进入暂存区时 当事件离开暂存区时 当事件在两个暂存区传播时 areas 声明转换 schema,表,字段改名 增加或删除字段 客户转换 用户提供的 PL/SQL 函数 声明转换 BEGIN DBMS_STREAMS_ADM.RENAME_SCHEMA( rule_name = STRMADMIN.HR51, from_
您可能关注的文档
最近下载
- 中医气功学导论期末试卷.docx
- 请你谈一下你为什么要加入中国共产党谈谈为什么加入中国共产党.pptx VIP
- 2024南方电网广西电网公司校园招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- DB37T19976—2011山东物业服务规范第1部分住宅物业.doc
- 七年级心理健康教案完整版.docx
- 赤泥综合利用项目可行性研究报告(完整案例).pdf
- 2024款比亚迪海豹06DM-i豪华型尊贵尊荣尊享旗舰_用户手册驾驶指南车主车辆说明书电子版.pdf
- 企业技术改造资金绩效评价总结报告.doc
- 《生物化学》全套教学课件(共13章完整版).pptx
- 15-彭向刚-学习领导科学提升领导力(清华)__(全国各校课件参考).ppt
文档评论(0)