istreamdds软件手册之三维护篇内容摘要:

2 CC 3 DD 目的端 DDS_DATA/ddstart 脚本示例如下: !/bin/sh if [ ${NLS_LANG}NONE = NONE ] then echo Error: NLS_LANG is not set. exit 1 fi if [ ${ORACLE_HOME}NONE = NONE ] then echo Error: ORACLE_HOME is not set. exit 1 fi SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH LIBPATH=$ORACLE_HOME/lib:$LIBPATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH DDS_HOME=/oracle/dds_t/bin DDS_DATA=/oracle/dds_t/dt export DDS_HOME DDS_DATA SHLIB_PATH LIBPATH LD_LIBRARY_PATH ${DDS_HOME}/dds_pmont if [ $? eq 0 ] then rm $DDS_DATA/ 2/dev/null ${DDS_HOME}/dds_pmsgt ${DDS_HOME}/dds_precvt ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput x ${DDS_HOME}/dds_pput x ${DDS_HOME}/dds_pput x fi 当源端有增量交易数据产生时,在目的端的会产生 put0、 put put put3 四个目录。 通过目的端的 4 个进程在并行装载。 增量过程中 增加并行数量 的调整 以 1 个装载增加到四个并行装载为例 配置过 程: 全 同步已经完成,目的端全部装载完成。 端进程停止 目的端 put0 目录下所有的 dtf 文件装载完毕。 目的端 DDS_DATA/config/。 将目的端 $DDS_DATA目录下的 ddstart 文件中的 dds_pput –1 增加至 4 行。 在 $DDS_DATA 目录下创建 put put put3 目录,将 $DDS_DATA/put0 目录下的 文件分别拷贝到 put put put3 目录下。 启动源端、目的端进程。 通过目的端的 可以看到有 4 个进程在并行装载。 增量过程中减少并行数量的调整 以 4 个并行装载增加到 2 个并行装载为例 配置过程: 全同步已经完成,目的端全部装载完成。 端进程停止 目的端 put0、 put put put3 目录下所有的 dtf 文件装载完毕。 目的端 DDS_DATA/config/。 将目的端 $DDS_DATA目录下的 ddstart 文件中的 dds_pput –1 增加至 2 行。 启动源端、目的端进程。 通过目的端的 2 个进程在并行装载 高可用性的配置 描述: 在 HA 或 RAC 模式下如何配置源端和目的端的 IStream 高可用性。 这里主要进行一些操作过程的描述,具体设计到对于 $DatrGrid DDS 软件部分的操作,请参考手册中的其它部分。 这里不做过多的描述。 源端高可用性的配置 前提: A、 全同步已经正常完成。 B、 增量同步正常开始。 C、 源端各实例运行在归档模式下。 D、 运行 IStream DDS 软件的节点上可以直接读取另外几个节点上的归档日志,并且各节点 mount 归档目录的 mount 点名称要相同。 E、 目的端 IP 地址不变。 F、 将 $DDS_HOME变量所指定的目录在个 oracle 实例运行的节点上的安装目录相同。 并且具有执行权限。 G、 各 oracle 节点上运行 IStream DDS 软件的操作系统用户和属主名称和 id 均相同。 H、 $DDS_DATA 在单独的 lv 上,该 lv 不再 vg00 卷组上,并且该 lv 所在的卷组可以切换到另外运行 oracle 节点上,切换后,该 lv 可以自动 mount, mount 名称要跟第一次运行 IStream DDS 运行的 $DDS_DATA mount 点相同。 高可用性切换过程: 调用 $DDS_DATA/ddstop 脚本停止 IStream DDS 软件运行。 切换 $DDS_DATA。 在切换后的 $DDS_DATA所在节点上 mount 另外几个实例的归档目录。 调用 $DDS_DATA/ddstart 脚本启动 IStream DDS 软件。 目的端高可用性的配置 前提: A、 全同步已经正常完成。 B、 增量同步正常开始。 C、 源端 IP 地址不变。 D、 将 $DDS_HOME 变量所指定的目录在个 oracle 实例运行的节点上的安装目录相同。 并且具有执行权限。 E、 各 oracle 节点上运行 IStream DDS 软件的操作系统用户和属主名称和 id 均相同。 $DDS_DATA在单独的 lv 上,该 lv 不再 vg00 卷组上,并且该 lv 所在的卷组可以切换到另外运行 oracle 节点上,切换后,该 lv 可以自动 mount, mount名称要跟第一次运行 IStream DDS 运行的 $DDS_DATA mount 点相同。 操作过程: 停止源端 IStream DDS 软件运行。 更改目的端 IP。 启动源端 IStream DDS 软件 目的端 $DDS_DATA目录切换。 目的端使用 $DDS_DATA/ddstart 启动 IStream DDS 软件。 如何使目的端变为主交易系统 描述: 这里指在源端发生灾难 后, IStream DDS如何配合使其中的一个目的端变为主交易系统。 前提: A、 全同步正常结束。 B、 增量同步正常开始。 操作过程: 是 trigger 的状态变为可用。 所有增量的 dtf 装载完成后,停止目的端进程。 删除目的端 $DDS_DATA 说明: 在 IStream DDS复制过程中,为了保持数据的一致性,对于同步 map所包含的所有 trigger的状态是设置为 disenable 状态的,当目的端成为主交易系统之前,必须使相关的 trigger的状态变为 enable 状态,否则将会使部分应用无效。 具体的操作过程请咨 询相关系统的 DBA。 在此不做详细描述。 为了防止源端再次启动造成的后续产生的交易合成文件 dtf 对于目的端系统的干扰。 将目的端的进程停止,将 $DDS_DATA目录删除。 错误检查 使用前提: A、 复制操作已经正常进行,增量同步正常开始。 IStream DDS在运行过程中,将运行日志 $DDS_DATA/$DDS_DATA/ 文件中,方便查询,具体查询可以通过 cat、 more、 vi 等操作系统提供的命令进行查询。 在此不再详细描述。 IStream DDS 在源 端和目的端的日志及其错误信息文件名称均相同。 数据比对 描述: 本功能针对源端 map 和目标端 map 对于的表记录进行静态数据比较的功能。 使用前提: 全同步正常结束,增量同步已经开始。 最好在数据业务较少时进行此功能操作。 比对数据原理如下: 将源端数据通过 odmp 工具将所要比对的数据导出到所要比对的目的端主机上,具体存放在目的端的 $DDS_DATA/chk0 目录下。 通过 dds_pput工具,将导入到目的端的数据同目的端的数据库内相关数据进行比较,比较结果放在目的端的 $DDS_DATA/chk0 目录下的 文件中。 数据比对只针对表结构及其内容。 具体操作过程如下: 将所要比对的目的端的启动脚本修改,例如: !/bin/sh if [ ${NLS_LANG}NONE = NONE ] then echo Error: NLS_LANG is not set. exit 1 fi if [ ${ORACLE_HOME}NONE = NONE ] then echo Error: ORACLE_HOME is not set. exit 1 fi SHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH LIBPATH=$ORACLE_HOME/lib:$LIBPATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH DDS_HOME=/oracle/dds_t/bin DDS_DATA=/oracle/dds_t/dt export DDS_HOME DDS_DATA SHLIB_PATH LIBPATH LD_LIBRARY_PATH ${DDS_HOME}/dds_pmont if [ $? eq 0 ] then rm $DDS_DATA/ 2/dev/null ${DDS_HOME}/dds_pmsgt ${DDS_HOME}/dds_precvt ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput x ${DDS_HOME}/dds_pput x ${DDS_HOME}/dds_pput x fi 在最后一行 dds_pput 1 行后增加 dds_pput x ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput 1 ${DDS_HOME}/dds_pput x ${DDS_HOME}/dds_pput x ${DDS_HOME}/dds_pput x 然后将修改好的目的端服务重新启动 将源端数据导出到目标端。 odmp :8204 x t bb dds/dds c 表示导出的目的端地址和端口号。 x 导出比对数据源。 t 需要导出的用户名。 最后的一个参数是用于连接源端的数据库用户和密码。 导出过程中,目的端将自动进行比较,比较结果放在目的端的 $DDS_DATA/chk0目录下的 文件中,如该文件中没有 Err Verify 出现,则表示该用户在源端和目标端数据一致。 当开始比较时,相应的目的端的增量将自动停止。 比对完成后,在源端将增量重新启动。 操作如下: tgt resume id=1 idx resume tgtid=1 privilege tgtid=1 ,则该表的 Rows not equal条目列出该表不一致记录的行数,以及每行记录在源端和目标端的 rowid,可以在目标端 $DDS_DATA/chk0/文件中查看错误的记录,如下例用户 BB 中表 AA1 有 9 行记录不一致: ************************************************ Err Verify: CRC Different AAADKtAAEAAAZaMAAA(0xd9ef)AAADQtAAEAAAYFkAAA(0x0) Err Verify: CRC Different AAADKtAAEAAAZaMAAB(0x9d96)AAADQtAAEAAAYFkAAB(0x0) Err Verify: CRC Different AAADKtAA。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。