ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:50.18KB ,
资源ID:3224274      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3224274.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Oracle CDC数据增量备份使用手册.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Oracle CDC数据增量备份使用手册.docx

1、Oracle CDC数据增量备份使用手册Oracle CDC操作手册Oracle的增量数据处理方案中联新时代1. CDC简介1.1. CDC是一种数据增量处理技术 在构建数据仓库系统的ETL过程中,增量数据的抽取是一个非常关键的环节.对解决方案一般有两点要求: 准确性,能够将业务系统中的数据按一定的频率准确的取到数据仓库中 性能,不能对业务系统造成太大的压力,影响现有业务 目前,最为常用的ETL增量数据处理方式有三种: 时间戳 日志对比(CDC) 全面数据对比三种方式各有优劣,时间戳是目前应用比较普遍的方式。在Oracle=中推出了两种主要的ETL方案,一种是我们熟悉的物化视图(materia

2、lized view),另一种就是本文将要介绍的CDC组件(Change Data Capture 改变数据捕获)。CDC 特性是在Oracle9i数据库中引入的。CDC能够帮助你识别从上次提取之后发生变化的数据。利用CDC,在对源表进行INSERT、UPDATE或 DELETE等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系统。1.2. CDC与传统增量处理方式的对比分析我们对比一下CDC方式与传统的全表对比与时间戳方式。全表对比使用数据仓库中的当前表与业务系统表进行对比,取得变化了的数据,典型是

3、使用minus语句: SELECT * FROM new_versionMINUS SELECT * FROM old_version;使用全表对比有以下几方面的问题: 需要将业务系统中表全部转输,造成很高的网络负载 需要对两版本的表进行全表扫描,性能代价非常高 无法反映数据的历史状态,如无法捕捉库存的历史变化记录还有一种常用的方式是时间戳,它是以业务表中某一个字段的值,作为判断新旧数据的标志。如,”病人费用记录”中的登记时间,每次只抽取上次抽取记录时间以后产生的数据。时间戳方式存在以下问题: 无法捕获对时间戳以前数据的delete和update操作,在数据准确性上受到了一定的限制。而类似于Z

4、LHIS这种业务系统对已经发生的数据进行update和delete操作非常普遍(如划价记录转收费记录),应用场景受到了限制。 要求业务系统的表必须一个可以标识新旧数据的列,而某些表没有设置这种列。1.3. CDC的发布订立模型CDC体系结构基于发布者/订阅者模型。发布者捕捉变化数据并提供给订阅者。订阅者使用从发布者那里获得的变化数据。通常,CDC系统拥有一个发布者和多个订阅者。发布者首先需要识别捕获变化数据所需的源表。然后,它捕捉变化的数据并将其保存在特别创建的变化表中。它还使订阅者能够控制对变化数据的访问。订阅者需要清楚自己感兴趣的是哪些变化数据。一个订阅者可能不会对发布者发布的所有数据都感

5、兴趣。 订阅者需要创建一个订阅者视图来访问经发布者授权可以访问的变化数据。CDC有几个重要的基本概念需要先明确一下: 源表(Source Table),业务数据库的需要捕获数据的源表 变化表(Change Table) ,保存从源表捕获的变化数据(包括各种DML产生的数据) 变化集(Change Set),是保证事务一致性的数据集合。一个变化集对应多个变化表 订阅视图(Subscription View),提供给读取变化表数据的视图 订阅窗口(Subscription Window) ,定义了查看变化数据的时间范围.就象一个观察变化数据的滑动窗口。变化数据处理完成后,可以对清除订阅窗口。1.4

6、. CDC的同步与异步模式 同步模式,实时的捕获变化数据并存储到变化表中,发布者与订阅都位于同一数据库中。下图说明了同步模式的基本架构。 异步模式,以Oracle流复制技术为基础,由于流复制比较复杂,本文档不涉及异步模式的CDC1.5. CDC相关的数据库对象 (Package) 包(Package) DBMS_CDC_PUBLISH, 用于定义发布操作 DBMS_CDC_SUBSCRIBE,用于定义订阅操作 角色 EXECUTE_CATALOG_ROLE SELECT_CATALOG_ROLE CREATE TABLE and CREATE SESSION privileges EXECUT

7、E on the DBMS_CDC_PUBLISH package 视图 ALL_SOURCE_TABLES 源表 ALL_PUBLISHED_COLUMNS 发布的表列 All_Subscribed_Columns 订阅的表列 All_Subscriptions 所有订阅 All_Subscribed_Tables 已经订阅的表2. CDC的实施步骤 2.1. 初始化2.1.1. 设置初始化参数由于CDC需要在后台开启作业,需要将参数JOB_QUEUE_PROCESSES增加2个,java_pool_size至少在50M以上。SQL alter system set job_queue_pr

8、ocesses = 14;System alteredSQL alter system set java_pool_size = 50m;System alteredSQL2.1.2. 创建订阅、发布用户、表空间SQL create tablespace ts_cdcpub datafile E:oracleproduct10.2.0oradataorc1ts_cdcpub.dbf size 100m;Tablespace createdSQL create user cdc_publisher identified by cdc_publisher default tablespace ts

9、_cdcpub;User createdSQL create user cdc_subcriber identified by cdc_subcriber default tablespace ts_cdcpub;User created2.1.3. 授予相关权限SQL GRANT CREATE SESSION TO cdc_publisher;Grant succeededSQL GRANT CREATE TABLE TO cdc_publisher;Grant succeededSQL GRANT CREATE TABLESPACE TO cdc_publisher;Grant succe

10、ededSQL GRANT UNLIMITED TABLESPACE TO cdc_publisher;Grant succeededSQL GRANT SELECT_CATALOG_ROLE TO cdc_publisher;Grant succeededSQL GRANT EXECUTE_CATALOG_ROLE TO cdc_publisher;Grant succeededSQL GRANT EXECUTE ON DBMS_CDC_PUBLISH TO cdc_publisher;Grant succeeded2.1.4. 在ZLHIS用户下,创建测试表SQL Create Table

11、 person (id Number,Name Varchar(10),sex Varchar(2);Table createdSQL insert into person values(0,毛泽东,男);1 row insertedSQL insert into person values(0,彭德怀,男);1 row insertedSQL insert into person values(0,邓颖操,女);1 row insertedSQL commit;Commit completeSQL grant all on person to cdc_publisher;Grant succ

12、eededSQL grant all on person to cdc_subscriber;Grant succeeded 2.2. 发布数据2.2.1. 创建改变集在同步方式的CDC中,change_source_name参数必须使用默认的改变源, SYNC_SOURCESQL BEGIN 2 DBMS_CDC_PUBLISH.CREATE_CHANGE_SET( 3 change_set_name = person_change_set, -改变集 4 description = Change set for person info, 5 change_source_name = SYN

13、C_SOURCE); 6 END; 7 /PL/SQL procedure successfully completedSQL2.2.2. 创建改变表 指定源table,和源模式,注意区别owner与source_schema,owner是指发布用户,而不是源表的所有者 SQL BEGIN 2 DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE( 3 owner = cdc_publisher, 4 change_table_name = person_ct, 5 change_set_name = person_change_set, 6 source_schema =

14、 zlhis, 7 source_table = person, 8 column_type_list = ID number,NAME VARCHAR2(10),sex varchar2(2), 9 capture_values = both, 10 rs_id = y, 11 row_id = n, 12 user_id = n, 13 timestamp = n, 14 object_id = n, 15 source_colmap = y, 16 target_colmap = y, 17 options_string = TABLESPACE TS_CDCPUB); 18 END;

15、19 /PL/SQL procedure successfully completedSQL options_string,指定改变表的存储参数。options_string参数可以使用除partition以外的所有create table中指定的存储参数,如tablespace、pctfree等。2.2.3. 将改变表(Change Table)的权限授权给订阅者SQL grant select on person_ct to cdc_subscriber;Grant succeeded2.3. 订阅数据2.3.1. 查看发布信息当发布者,发布了相关的改变表后,会生成一个惟一的 发布id( publication ID),可以查阅视图ALL_PUBLISHED_COLUMNS 以获取已经发布的表及字段信息SQL sele

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1