• 508.31 KB
  • 16页

傲飞数据整合工具 oracle cdc实施手册

  • 16页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'北京傲飞商智软件有限公司http://www.pentahochina.com1.傲飞数据整合平台OracleCDC插件实施参考手册以下配置过程基于傲飞数据整合平台(AKettle)。傲飞数据整合平台(AKettle)的最新版本可以从http://www.pentahochina.com下载。OracleCDC的配置首先,需要在源数据库中做一些设置(通过SQLPLUS设置)。在源数据库中创建数据空间、发布者与订阅者:(以正常用户设置)createtablespacets_cdcpubdatafile"E:oracleproduct10.1.0oradataorclts_cdcpub.dbf"size200m;指定表空间位置(名为ts_cdcpub.dbf)后为空间大小createusercdc_publisheridentifiedbycdc_publisherdefaulttablespacets_cdcpub;createusercdc_subscriberidentifiedbycdc_subscriberdefaulttablespacets_cdcpub;红色部分需按情况进行自行设定。(为统一,空间名统一为上述:ts_cdcpub.dbf,发布者为上述:cdc_publisher/cdc_publisher,订阅者为上述:cdc_subscriber/cdc_subscriber)赋予cdc_publisher用户对于表空间的权限:(以正常用户设置)grantcreatesessiontocdc_publisher;grantcreatetabletocdc_publisher;grantcreatetablespacetocdc_publisher;grantunlimitedtablespacetocdc_publisher;grantselect_catalog_roletocdc_publisher;grantexecute_catalog_roletocdc_publisher;grantexecuteondbms_cdc_publishtocdc_publisher;(此项如果权限不够则以SYSDBA进行设置)赋予cdc_subscriber用户对于表空间的权限:(以正常用户设置)grantcreatesessiontocdc_subscriber;grantcreatetabletocdc_subscriber;grantcreateproceduretocdc_subscriber;创建changeset:(以正常用户设置)begindbms_cdc_publish.create_change_set(change_set_name=>"cdcset",description=>"tablechangecapture",change_source_name=>"sync_source");end;/ 以上步骤只做一次即可,以下步骤为对应于不同表做不同的设置。发布变化数据:(以正常用户设置)begindbms_cdc_publish.create_change_table(owner=>"cdc_publisher",change_table_name=>"kdb_sync_resp_area_def",---名字统一为:kdb_sync_表名change_set_name=>"cdcset",source_schema=>"adi",---注意模式,即用户名source_table=>"resp_area_def",---源表column_type_list=>"area_idnumber(10),area_namevarchar2(64),serial_nonumber(10),按照需求插入原系统中需要复制的字段与其对area_despvarchar2(100),应的类型(类型以数据库的为准,非需求上所指area_typenumber(10),定的类型)resp_statusnumber(10),if_lightnumber(3),area_valuenumber(10)",capture_values=>"both",rs_id=>"y",row_id=>"y",user_id=>"y",timestamp=>"y",object_id=>"n",source_colmap=>"y",target_colmap=>"y",options_string=>"tablespacets_cdcpub");end;/标注红色的为每次创建需要重新编写的,其他的为固定模式无需更改。赋给cdc_subscriber相应的权限:(以正常用户设置)grantselectoncdc_publisher.kdb_sync_resp_area_deftocdc_subscriber;标注红色的为每次授权都需要重新编写。conncdc_subscriber/cdc_subscriber;---以订阅者身份登录创建订阅:(以订阅者身份设置)begin1 dbms_cdc_subscribe.create_subscription(change_set_name=>"cdcset",description=>"datachangecapture",subscription_name=>"kdb_sync_resp_area_def_sub";---名字统一为:kdb_sync_表名_subend;/begindbms_cdc_subscribe.subscribe(subscription_name=>"kdb_sync_resp_area_def_sub",source_schema=>"adi",---注意模式,即用户名source_table=>"resp_area_def",column_list=>"area_id,area_name,serial_no,area_desp对应于发布端的字段,area_type,resp_status,if_light,area_value",subscriber_view=>"kdb_sync_resp_area_def_view");---名字统一为:kdb_sync_表名_viewend;/激活订阅:(以订阅者身份设置)begindbms_cdc_subscribe.activate_subscription(subscription_name=>"kdb_sync_resp_area_def_sub");end;/标注红色的为每次创建需要重新编写的,其他的为固定模式无需更改,其次注意上面名的对应。其他表CDC的创建依此类推。2 增量捕获插件的配置这是CDC增量捕获配置的最终结果图。数据库的连接设置需要设定两个,一个是用于连接Oracle源库,一个用于连接目标库。连接Oracle的用户名是cdc配置中创建的订阅者,密码对应,点击【测试】可测验配置是否3 成功;连接中间库的按照要求依次填入即可。【增量表输入】配置如图所示,【数据库连接】为刚才配置好的Oracle连接,【订阅名称】对应于cdc配置中的subscription_name,【订阅视图】对应于cdc配置中的subscriber_view。【字段选择】的配置,点击【获取选择的字段】会出现获取的字段,这会获得从【增量输入】流过来的所有字段,其中【OPERATION$,RSID$】字段不进行删除,其他带$符号的字段均进行删除,其他字段的取舍同上,即按照需求中的说明进行删除或保留。4 表输出配置如上图。5 2.转换、映射与入库的配置这是配置的最终结果图,控件命名规范同上,按照图示建立关系然后再分别对控件进行设置,各控件双击即可进入编辑对话框。6 中间表表输入,单击【获取SQL查询语句】获取到对应的SQL语句,其中SQL语句中的部分字段需要按照需求文档进行数据的转换手动改(转换函数的说明见第6章)。在句末添加【WHEREOPERATION$<>‘UU’ORDERBYRSID$】,此句以后在中间表的输入中均加入。7 8 【增量输出】的配置如上图9 4.作业的配置JOB是将增量数据的抽取、转换映射与入库整个步骤串联起来,即将多个ktr配置文件顺序执行。同时做一些数据的处理,以后的执行都以JOB为单位。用JOB_GUI打开。CDC方式配置的最终结果图,整个流程为首先执行对中间表的所有数据删除,最后需要对OracleCDC做扩展订阅和清除变化数据。10 Oracle库的连接设置的用户名/密码为创建CDC订阅用户的用户名/密码。【ADI-SQL】执行的语句为TRUNCATETABLE【中间表名】;【ORACLE-SQL】执行的语句为BEGIN11 DBMS_CDC_SUBSCRIBE.PURGE_WINDOW(SUBSCRIPTION_NAME=>"【CDC订阅名】");DBMS_CDC_SUBSCRIBE.EXTEND_WINDOW(SUBSCRIPTION_NAME=>"【CDC订阅名】");END;双击一个Transformation,出现配置界面将【job名称】设置为保存的文件名,将【转换文件名】设置为${ktrpath}/文件名.ktr。12 配置好以后,只需在对应的Transformation上点右键,然后单击LaunchSpoon即可打开对应的ktr文件配置界面。这里需要说明的是,如果一个JOB在执行一个ktr失败后,会导致最后一个对OracleCDC执行的语句没有进行,此时OracleCDC会保留此次对源表的操作,这些操作是否保留视配置人员当时的情况,如果此次对源表的操作需要删除那么可以手动地进行删除,方法如下。先对关系进行删除。建立与最后的SQL语句的关系,并执行。最后再恢复正常的关系。13 单个KTR运行的方式。单个JOB运行的方式。为统一,文件命名为:备调库表名-CDC-JOB。14 15'