SQL复制实施手册(最全顾).doc_第1页
SQL复制实施手册(最全顾).doc_第2页
SQL复制实施手册(最全顾).doc_第3页
SQL复制实施手册(最全顾).doc_第4页
SQL复制实施手册(最全顾).doc_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL复制实施手册中国国电集团公司SQL复制实施手册文档编号版本号V1.0分册名称无第1册/共1册总页数74正文70附录无编制审批生效日期国电集团一体化平台项目组2011年6月修改记录版本号变更控制报告编号更改条款及内容更改人审批人更改日期目录1引言11.1阅读指南11.2相关术语12DB2软件安装前准备12.1安装环境检查12.2设置环境变量22.3创建组和用户33安装Oracle Client43.1【第一步 解压安装文件】43.2【第二步 开始安装软件】44安装Replication Server104.1【第一步 解压安装文件】104.2【第二步 开始安装软件】104.3【第三步 创建实例】254.4【第四步 安装Licenses】265安装Federation Server275.1【第一步 解压安装文件】275.2【第二步 开始安装软件】276配置环境变量356.1【第一步 创建实例文件和db2dj.ini文件】356.2【第二步 修改实例用户的.profile文件】366.3【第三步 配置Oracle相关参数】366.4【第四步 设置联邦和监听端口】377创建DB2数据库378注册远程数据库到本地389配置控制中心399.1【第一步 创建包装器】399.2【第二步 创建服务器定义】409.3【第三步 创建用户映射】419.4【第四步 创建昵称】4210配置复制中心4410.1【第一步 创建Capture控制表】4410.2【第二步 注册昵称】4610.3【第三步 创建Apply控制表】4710.4【第四步 创建预定集】5010.5【第五步 调整Apply限定符参数】6711启动Apply服务6911.1【第一步 创建Apply服务启动脚本】6911.2【第二步 创建Apply停止脚本】7011.3【第三步 启动Apply服务】7011.4【第四步 停止Apply服务】70II1 引言1.1 阅读指南IBM Replication Server(以下简称RS)提供了两种复制技术,Q复制和SQL复制。本文档作为国电集团SQL复制实施手册,描述了如何实现远程配置AIX环境下的SQL复制全过程。文档中实现过程是按某一具体案例进行讲解,在不同的实施场景下,需要根据实际的实施环境进行修改和调整。该文档适用于SQL复制初学者、SQL复制开发实施人员、维护与之相关的系统管理人员、RS部署架构设计人员等。1.2 相关术语序号术语名称术语描述1InfoSphere Replication Server简称RS。提供了实现多种数据源之间的数据复制手段。RS提供了Q复制和SQL复制两种实现技术。Q复制是基于日志的实现原理,SQL复制是基于触发器的实现原理。2InfoSphere Federation Server简称FS。它是一种特殊的分布式数据库管理系统。从用户的角度来说,FS能够屏蔽各种异构数据源的差异,将其呈现在统一的数据平台上。3Capture用于获取数据源端数据的变化。并将已提交的事务性数据记录在CD表或CCD表中。4Apply目标端Apply程序通过读取CD表或CCD表中的数据,将变化应用于目标端。2 DB2软件安装前准备2.1 安装环境检查【第一步】检查操作系统。最低配置应该是:5200-06或5300-03。#oslevel r【第二步】检查字符集。检查是否含有Zh_CN;Zh_CN-GB18030;ZH_CN.UTF-8#locale a【第三步】检查JDK版本#cd /usr/java5_64/bin/#java version 【第四步】检查DB2数据库是否安装#cd /opt/IBM 查看该目录下是否有db2目录存在,如果有,可能已经安装了DB2数据库。【第五步】检查Oracle软件是否安装#su root#su oracle查看是否有Oracle用户#sqlplus /nolog查看是否可以进入,如果可以则已经安装了Oracle软件。2.2 设置环境变量【第一步】切换到root用户#su root【第二步】设置PATH环境变量# export PATH=$PATH:/usr/local/bin# echo $PATH/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/dt/bin:/usr/bin/X11:/sbin:/usr/java5/jre/bin:/usr/java5/bin:/usr/local/bin【第三步】设置DISPLAY参数#export DISPLAY=1:0.0#xclock查看db2调用的oracle客户端的软件的文件在哪cgdc_gddc1_ser_a07db2inst:/usr/db2inst/sqllib/cfg# cat db2dj.iniORACLE_HOME=/oracle/product/10.2.0/client_1cgdc_gddc1_ser_a07db2inst:/usr/db2inst/sqllib/cfg# cat db2instORACLE_HOME=/oracle/product/10.2.0/client_12.3 创建组和用户在安装Replication Server之前需要创建3个组和3个用户。一个用户隶属于一个组。2.3.1 创建组 创建DAS group#mkgroup id=101 dasgp说明:DAS(DB2 Administrator Server)是DB2管理服务器,允许对DB2实例进行管理。DB2的管理用户就隶属于该组。 创建Instance group#mkgroup id=102 instgp说明:该组是管理实例用户的组。 创建Fenced group#mkgroup id=103 fengp说明:受防护的组。因为在server上创建时必须要指定FencedID。而FencedID表示将用来运行受防护用户定义的函数(UDF)和受防护存储过程的用户的名称。如果在客户机上创建实例,那么此标志不是必需的。但是在server上创建时必须要指定这个FencedID的。指定创建的受防护用户的名称。2.3.2 创建用户 创建DAS user#mkuser pgrp= dasgp groups= dasgp home=/usr/ dasusr1 id=201 dasusr 创建Instance user#mkuser pgrp= instgp groups= instgp home=/usr/db2inst1 id=20 创建Fenced user#mkuser pgrp= fengp groups= fengp home=/usr/db2fenc1 id=203 db2fenc13 安装Oracle Client重要说明:如果已经安装了Oracle软件,跳过此章节。进入下一章【4安装Replication Server】。3.1 【第一步 解压安装文件】#gunzip -c file_name | tar -xvf 3.2 【第二步 开始安装软件】3.2.1 运行安装命令解压后有安装目录/client,进入该目录运行runInstaller#./runInstaller3.2.2 进入安装界面选择Runtime选择Next3.2.3 进入语言界面选择English选择Next3.2.4 进入路径界面重要说明:这里面的路径要与配置文件中的路径一致。选择Next3.2.5 进入检查界面选择ignore all选择Next3.2.6 进入总结界面选择Finish开始安装。3.2.7 完成安装选择Finish重要说明:安装完成后需要在root用户下运行如下两个脚本文件。#su root#/oralnventory/orainstRoot.sh#/oracle/product/11.2.0/root.sh4 安装Replication Server4.1 【第一步 解压安装文件】#gunzip -c file_name | tar -xvf 4.2 【第二步 开始安装软件】4.2.1 运行安装命令解压后有安装文件/server,进入该目录运行db2setup#./db2setup4.2.2 进入欢迎界面4.2.3 选择Install New4.2.4 进入安装界面选择Next4.2.5 选择Accept后选择Next4.2.6 默认选择Next4.2.7 默认选择Next4.2.8 选择安装目录4.2.9 选择DAS user4.2.10 创建instance 4.2.11 选择instance user4.2.12 选择Fenced user4.2.13 默认选择Next4.2.14 默认选择Next4.2.15 选择Finish开始安装4.2.16 完成安装选择Finish4.3 【第三步 创建实例】说明:安装时实例创建成功跳过此步骤。进入【第五步 安装Licenses】【第一步】切换到root用户下。#su - root【第二步】进入/opt/IBM/db2/V9.7/instance目录。#cd /opt/IBM/db2/V9.7/instance【第三步】创建实例#db2icrt u db2inst1 db2inst14.4 【第四步 安装Licenses】【第一步】进入实例用户#su db2inst1【第二步】进入安装目录/usr/db2inst1/sqllib/adm下#cd /usr/db2inst1/sqllib/adm【第三步】开始安装Licenses# db2licm a db2ese_o.lic# db2licm a isrs.lic【第四步】查看安装结果#db2licm l5 安装Federation Server5.1 【第一步 解压安装文件】#gunzip -c file_name | tar -xvf 5.2 【第二步 开始安装软件】5.2.1 运行安装命令解压后有安装文件/rcon,进入该目录运行db2setup#./db2setup5.2.2 进入欢迎界面5.2.3 选择Work with Existing5.2.4 选择Launch DB2 Setup wizard5.2.5 进入安装界面选择Next5.2.6 选择Accept后选择Next5.2.7 默认选择Next5.2.8 选择Select all后选择Next5.2.9 选择Do not create DB2 instance5.2.10 选择Finish开始安装5.2.11 完成安装选择Finish6 配置环境变量6.1 【第一步 创建实例文件和db2dj.ini文件】【第一步】切换到实例用户#su db2inst1【第二步】在/sqllib/cfg目录下创建两个文件。一个文件名为db2dj.ini,另一个文件名与实例名相同。#vi db2dj.ini#vi db2inst1【第三步】在db2dj.ini和db2inst1文件中添加ORACLE_HOME环境变量。(如:export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)6.2 【第二步 修改实例用户的.profile文件】【第一步】在实例用户的.profile文件中添加ORACLE_HOME环境变量。(如:export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)。【第二步】在PATH环境变量中添加$ORACLE_HOME/bin。(如:export path=$path:/u01/app/oracle/product/11.2.0/dbhome_1/bin)。6.3 【第三步 配置Oracle相关参数】说明:只有配置了Oracle相关参数才能通过实例用户访问Oracle数据库。6.3.1 创建数据库连接【第一步】切换到oracle用户#su oracle【第二步】进入$ORACLE_HOME/network/admin目录#cd $ORACLE_HOME/network/admin【第三步】修改tnsnames文件,添加连接串#vi tnsnames.ora如:db_237 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 37)(PORT = 1521) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )【第四步】测试添加是否成功#tnsping db_2376.3.2 将实例用户添加到Oracle组中#chuser pgrp=dba db2inst16.4 【第四步 设置联邦和监听端口】【第一步】切换到实例用户#su db2inst1【第二步】设置DB2LIBPATH#db2set DB2LIBPATH=/usr/db2inst1/sqllib/java/jdk64/jre/lib/ppc64(根据具体sqllib安装目录定)【第三步】设置DB2COMM#db2set DB2COMM=tcpip【第四步】设置端口号#db2 update dbm cfg using SVCENAME 70000【第五步】设置FEDERATED参数#db2 update dbm cfg using FEDERATED yes【第六步】在root用户下生成libdb2net8F.a#su root#/usr/db2inst1/sqllib/bin/djxlinkOracle7 创建DB2数据库【第一步】切换到实例用户#su db2inst1【第二步】创建数据库为了兼容表大小超过4k(默认是4k)的,所以在建数据库的同时把页大小设置成32K#db2 create db bigtbdb pagesize 32 K注意:32和K之间有个空格【第三步】测试数据库#db2 connect to sou#db2 select * from staff where dept=20#db2 terminate#db2stop#exit修改数据库的日志大小#db2 update db cfg for testdb using LOGFILSIZ 40960#db2stop force#db2start说明:本案例中还创建了数据库tar。sou为源Oracle数据库注册,tar为目标数据库注册。8 注册远程数据库到本地【第一步】在本地Windows计算机上启动db2cmd【第二步】编目节点#db2 catalog tcpip node db2inst remote 1 server 70000其中:node名必须为需要配置的远程数据库实例名。此处为db2inst。【第三步】编目数据库db2 catalog db sou as sou at node db2inst其中:数据库(db)别名必须与远程实际数据库名称相同。此处为sou。说明:本案例中还编码注册了目标数据库tar。Db2 terminate 刷新一下9 配置控制中心9.1 【第一步 创建包装器】在控制中心,展开数据库,右键选择【联合数据库对象】,选择【创建包装器】。选择数据源为【Oracle using OCI 8】,命名包装器名称【ORASOU】。9.2 【第二步 创建服务器定义】右键选择【服务器定义】,选择【创建】。选择【发现】,选择Oracle数据库和版本。9.3 【第三步 创建用户映射】由于在远程的图像界面不能实现用户映射的创建,所以在AIX本地用命令行创建。在实例用户下创建。#su db2inst1# db2 create user mapping for db2inst1 server DB_237 options(remote_authid SQL237,remote_password sql237)重要说明:db2inst1为远程数据库实例名。DB_237是注册的Oracle的TNSNAME。SQL237注册的Oracle的用户名,sql237为Oracle用户的密码。用户名大写,密码小写!完成创建后可以在控制中心图形界面中查看创建结果。9.4 【第四步 创建昵称】右键选择【昵称】,选择【创建】。选择【发现】。选择【远程模式】,注意大小写! 输入注册的Oracle数据库用户名。选择【确定】。选择需要创建昵称的表并【确定】。重要说明:如果将源和目标Oracle数据库注册在两个不同的DB2数据库上的,那么需要按照同样的方式配置目标数据库控制中心。本案例中目标数据库为tar。在目标数据库没有创建昵称。在【8 配置复制中心】章节的创建预订集时创建的昵称。也可以在此创建昵称,但需要注意在创建预订集时的对应选择。10 配置复制中心10.1 【第一步 创建Capture控制表】右键选择【Capture 控制服务器】,选择【创建Capture控制表】,选择【定制】。选择控制表服务器,并【确定】选择【使用此DB2联合服务器来捕获对非DB2服务器的更改】。【远程模式名】为注册的Oracle数据库用户名。重要:【Capture模式】名为注册的Oracle数据库的SID。10.2 【第二步 注册昵称】说明:只有在控制中心注册了昵称,才能在复制中心注册该昵称,否则在复制中心无法看到。右键选择【注册昵称】,选择【注册昵称】,选择【检索全部】,选择需要注册的昵称并【确定】。10.3 【第三步 创建Apply控制表】右键选择【Apply控制服务器】,选择【创建Apply控制表】,选择【定制】选择Apply控制表服务器数据库并【确定】。将表空间大小从10M修改为100M。选择缓冲池并【确定】。10.4 【第四步 创建预定集】在刚刚创建的Apply控制服务器上,右键选择【预定集】,选择【创建】。输入【集合名】,此处为SQL_SUB,输入【Apply 限定符】,此处为SQL_QUAT。选择【Capture控制服务器别名】,此处为SOU。选择【目标服务器别名】。重要:选中目标服务器,右键选择【检索非DB2服务器】。此时会出现在该DB2数据上注册的Oracle数据库。选择并【确定】。选择【激活预定集】。选择【源到目标映射】选择【添加】,选择【检索全部】并【确定】。修改【目标昵称名】,修改为目标结果所希望的名字。此处默认是TGZS237SQL(即在源Oracle数据库需要复制数据的表ZS237SQL基础上加了前缀TG)。而目标数据库是550,所以次案例中将【目标昵称名】修改为TGZS550SQL。重要:修改【远程目标模式】,必须修改为注册的目标Oracle数据库的用户名。修改【远程目标名】,同理修改【目标昵称名】,此处将默认的TGZS237SQL修改为TGZS550SQL。【远程目标名】既为在目标数据库创建的目标表名称。如果在目标表已经创建好了目标表,并在控制中心已经注册,那么此处的昵称名和目标表名称需要和控制中心的一致才行。选择【更改】选择【目标表索引】。创建一个索引并【确定】。选择【时间表】。此参数用于服务捕获数据的频率。选择【连续】并【确定】选择【确定】完成预定集创建。10.5 【第五步 调整Apply限定符参数】添加【Apply_path】参数,用于日志记录。修改【ERRWAIT】参数,将300改为30。用于出错时等待时间。11 启动Apply服务重要说明:由于在复制中心图形界面无法启动远程的Apply服务,所以需要在AIX本地通过命令行来启动。11.1 【第一步 创建Apply服务启动脚本】【第一步】切换到实例用户#su - db2inst1【第二步】创建启动脚本SQL237START.sh#vi SQL237START.sh启动脚本内容如下:asnpwd init asnpwd add alias SOU id db2inst password db2inst -源数据库信息,如果有多个源在同一个限定符下,则添加多行源数据库信息db2 terminatenohup asnapply CONTROL_SERVER=TAR APPLY_QUAL=SQL_QUAT &-限定符信息,后台启动服务11.2 【第二步 创建Apply停止脚本】【第一步】切换到实例用户#su - db2inst1【第二步】创建启动脚本SQL237STOP.sh#vi SQL237STOP.sh停止脚本内容如下:asnacmd CONTROL_SERVER=TAR APPLY_QUAL= SQL_QUAT STOP11.3 【第三步 启动Apply服务】在实例用户下,运行启动脚本SQL237START.sh,启动Apply服务。#sh SQL237START.sh启动完成后检查服务启动状态:$ ps -ef | grep asn说明:服务已经启动则能查询到如下信息:db2inst1 8519966 10 Jun 23 - 3:36 asnapply CONTROL_SERVER=TAR APPLY_QUAL= SQL_QUAT11.4 【第四步 停止Apply服务】在实例用户下,运行停止脚本SQL237STOP.sh,停止Apply服务。#sh SQL237STOP.sh停止完成后检查服务停止状态$ ps -ef | grep asn说明:停止后应该查询不到相关信息。12 一个用户映射其它用户SQL复制注意问题12.1 要赋予单独用户以下权限:- 5 Roles for ASNS GRANT CONNECT TO ASNS WITH ADMIN OPTION; GRANT EXECUTE_CATALOG_ROLE TO ASNS; GRANT RESOURCE TO ASNS WITH ADMIN OPTION; GRANT SELECT_CATALOG_ROLE TO ASNS WITH ADMIN OPTION; - 24 System Privileges for ASNS GRANT CREATE SESSION TO ASNS; GRANT DROP ANY TABLE TO ASNS; GRANT ALTER ANY TABLE TO ASNS; GRANT CREATE ANY TABLE TO ASNS; GRANT DELETE ANY TABLE TO ASNS; GRANT DROP ANY TRIGGER TO ASNS; GRANT EXECUTE ANY TYPE TO ASNS; GRANT INSERT ANY TABLE TO ASNS; GRANT EXECUTE ANY CLASS TO ASNS; GRANT CREATE ANY TRIGGER TO ASNS; GRANT EXECUTE ANY LIBRARY TO ASNS; GRANT EXECU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论