目录 Shadow table 介绍... 1 一 前言... 1 二 安装软件包准备... 2 三 安装步骤... 2 四 配置... 3 五 运行... 6 Shadow table 介绍 By:jiwla 一 前言 影子表 (shadow table) 通过 BLU Acceleration 提供的分析查询功能来改进 OLTP 环境中 的分析查询性能 因为影子表是列组织表, 所以复杂查询针对影子表运行时比针对其源 表 ( 即行组织 ) 运行时速度更快
二 安装软件包准备 1. IIDRCDC_10.2.1_Accs_Svr_Lnx_x86.zip 2. IIDRCDC_10.2.1_Mgmt_Console_WDWS.zip 3. IIDRCDC_10.2.1_DB2_Lnx_x86.zip( 注意这个版本比较低, 用 IIDR_1021_InterimFix12_Linuxx86_DB2LUW_for_all_licenses.zip 升级下 ) 4.IIDR_1021_InterimFix12_Linuxx86_DB2LUW_for_all_licenses.zip 注意 : 第 4 个是补丁包, 用 3 运行 CDC 制作镜像会报错 补丁包的下载地址 : https://www.ibm.com/support/fixcentral/ 三 安装步骤 前提 : 因为此安装包为 x86, 没有找 x64 版本, 所以如果你的 linux 系统为 64 位, 安装时候会报少 lib 等错误, 需要先安装 x86 的 lib 包, 或者直接从 x86 的 linux 机器上拷贝过来也可, 路径在 /opt/lib 下 (1) 安装 accessserver(iidrcdc_10.2.1_accs_svr_lnx_x86.zip) 1. 解压 AccessServer 安装包 2. 给安装文件加可执行权限 chmod +x cdcaccess-10.2.1-2220-linux-x86-setup.bin 3. 执行安装, 安装目录为 /home/oracle/ibmsoftware/accessserver./ cdcaccess-10.2.1-2220-linux-x86-setup.bin 4. 安装好后到 /bin 目录下启动 AccessServer nohup./dmaccessserver & 5. 创建新用户用于管理 AccessServer./dmcreateuser admin admin admin yonyou*123 SYSADMIN TRUE FALSE FALSE (2) 安装 CDC 1. 解压 CDC 安装包 unzip IIDRCDC_10.2.1_DB2_Lnx_x86.zip 2. 给安装包加可执行权限 chmod +x setup-cdc-linux-x86-db2luw.bin.bin 3. 执行安装, 安装到目录 /opt/oracle/ibm/cdc 下 4. 安装成功后再安装补丁包 IIDR_1021_InterimFix12_Linuxx86_DB2LUW_for_all_licenses.zip 5. 解压补丁包. unzip IIDR_1021_InterimFix12_Linuxx86_DB2LUW_for_all_licenses.zip 6. 给安装包加执行权限
chmod +x setup-1021-interimfix12-linux-x86-db2luw.bin.bin 7. 执行安装./ setup-1021-interimfix12-linux-x86-db2luw.bin.bin 8. 安装路径选择低版本的安装路径进行覆盖打补丁此时查看 CDC 的版本信息 :( 在 CDC 安装目录的 bin 下执行 ) (3) 安装 Console 在 windows 下进行安装, 无特殊说明 四 配置 ( 一 ) DB2 服务器的设置日志 db2 update db cfg using LOGARCHMETH1 DISK:/home/db2inst1/db_r/archivelog db2 update db cfg using AUTO_REORG ON db2stop force db2start Heap 设置 db2set DB2_EXTENDED_OPTIMIZATION="OPT_SORTHEAP_EXCEPT_COL 1001" db2 update db cfg for db_r USING UTIL_HEAP_SZ 20000 AUTOMATIC SHEAPTHRES_SHR 100000 SORTHEAP 50000 ( 二 ) 创建 CDC 1. 进入到 cdc 安装路径 bin 下./dmconfigurets
启动后执行./dmset -I cdcinst1 maintain_replication_mqt_latency_table=true./dmset -I cdcinst1 mirror_auto_restart_interval_minutes=2./dmset -I cdcinst1 staging_store_disk_quota_gb=5 ( 三 ) Creating MQT Shadow table 源表建表语句 db2 "CREATE TABLE test0001(pk_t varchar(20) not null,str1 varchar(20),str2 varchar(30),constraint pk_test003 PRIMARY KEY (PK_T)) organize by row" Shadowtable 建表语句 db2 "create table test0001_shadow as (select * from test0001) data initially deferred refresh deferred enable query optimization maintained by replication organize by column" db2 "set integrity for TEST0001_SHADOW all immediate unchecked" db2 "alter table test0001_shadow add constraint test0001_shadow_pk primary key (PK_T)" 创建 MQT 表 REPL_MQT_LATENCY db2 "SELECT TBSPACE FROM syscat.tablespaces WHERE TBSPACEID in (SELECT TBSPACEID FROM syscat.tables WHERE tabname='test0001')" db2 "CALL SYSPROC.SYSINSTALLOBJECTS('REPL_MQT', 'C', ' 刚查到的表空间 ', CAST (NULL AS VARCHAR(128)))"
( 四 ) Console 添加数据存储器和预订 1. 添加数据存储器 AccessManager-> 数据存储器管理 -> 右键新建数据存储器 2 新建预定 2.1. 创建 InfoSphere CDC 预订 : a. 单击配置 > 预订, 右键单击项目, 然后选择新建预订 b. 在 新建预订 窗口中, 输入预订的名称, 然后选择您同时作为源和目标创建的数据存储器 然后单击高级设置 c. 在 高级预订设置 窗口中, 选中将预订标记为持久框, 然后单击确定 如果预订设置为持久, 那么 InfoSphere CDC 会在发生某些错误后自动尝试重新启动该预订 d. 在 新建预订 窗口中, 单击确定 e. 在有关将同一数据存储器同时指定为源和目标的所显示消息窗口中, 请单击是以继续 2.2. 为每个影子表创建表映射 : f. 选择您在 2 中创建的预订, 单击右键, 然后选择映射表 g. 在 映射表 窗口中, 选择定制表映射 > 标准, 然后单击下一步
h. 在 选择源表 页面上, 展开数据库 模式或表, 在 源表 列表中选择该影子表的源表, 然后单击下一步 i. 在 选择目标表 页面上, 选择影子表名称并单击下一步 j. 在 指定键 页面上, 选择使用索引, 选择影子表的主键索引, 然后单击下一步 k. 在 设置复制方法 页面上, 选择镜像 ( 更改数据捕获 ), 然后单击下一步 l. 在 查看映射 页面上, 如果要创建另一表映射, 请选择创建新的表映射 否则, 选择返回至当前视图 m. 单击完成 五 运行 在预定上右键 -> 开始制作镜像 -> 到监控下查看