1、Oracle GoldenGate安装步骤GoldenGate软件安装部署文档此方案为某客户的配置方案,具体参数可以不考虑,请根据自己的实际情况修改。1 GoldenGate部署方案为GoldenGate阵列上为GoldenGate划分27G存储空间,目录为” /export/home/oracle/ggs”以保存7-10天GoldenGate队列文件,保留目标数据库初始化期间的增量数据,在目标数据库初始化完成后,追加增量数据,使主备端数据库数据同步。2 GoldenGate软件安装配置步骤2.1 实施前准备a. 阵列上为GoldenGate软件划分100G左右的存储空间,并创建文件系统。也可
2、在现有文件系统中建立一个目录,GoldenGate对于安装目录没有任何限制。b. 源数据库应当处于归档模式,并且建议保留3天以上的归档日志;c. 源数据库是RAC环境,GoldenGate可以只运行于单个节点,需要将其它节点归档日志目录通过NFS共享出来,并装载到GoldenGate运行节d. GoldenGate要求RAC各节点之间配置时钟同步,必须为各个节点配置时钟同步服务(如NTP服务)。e. 关于C+编辑器xlc runtime 9.0 version.和Oracle用户的环境变量设置. setenv PATH :$PATH setenv :$ Sun Solaris LD_LIBRA
3、RY_PATHExample LD_LIBRARY_PATH=/lib路径/;export LD_LIBRARY_PATHf. 由双方工程师共同确定所需要复制的表以及划分复制通道。2.2 源端数据库及系统配置a. 在源端,创建GoldenGate系统用户,设置该用户环境变量,也可以采用oracle用户运行GoldenGate。建议采用oracle用户运行GoldenGate,无需建立新用户。b. 创建GoldenGate数据库用户goldengate CREATE USER goldengate IDENTIFIED BY goldengate; GRANT dba TO goldengate
4、;c. 检查源端数据库是否为归档模式,若为非归档模式,将其改为归档模式 SQLarchive log list;d. 检查源端数据库附加日志是否打开 SQLselect supplemental_log_data_min from v$database;将数据库附加日志打开SQLalter database add supplemental log data;切换日志以使附加日志生效:SQLALTER SYSTEM ARCHIVE LOG CURRENT;2.3 源端GoldenGate软件配置a. 在指定位置建立GoldenGate安装目录,并确认该目录属于oracle用户(或新建的Gold
5、enGate运行用户)。b. 通过ftp上传GoldenGate软件包道安装目录,并解压缩gzip d *.gz tar xvf *.tarc. 通过ftp上传GoldenGate许可文件pwd. 在安装目录下执行./ggsci命令进入命令行界面,如能顺利进入,则证明许可可用;e. 在ggsci环境下创建GoldenGate子目录 GGSCIcreate subdirsf. Mgr进程配置 编辑mgr进程参数 GGSCIedit param mgrport 7809 启动Mgr进程 GGSCIstart mgr Mgr is running!g. 在GGSCI命令行中登陆数据库,为需要复制的数
6、据表添加trandata 1生成所有要复制表的增加附加日志的脚本Sqlplus / as sysdbaspool trandata.txtset head offset linesize 1000set pagesize 1000select add trandata | owner | . | table_name from dba_tables where owner= EOMSspool off2执行trandata.txt脚本,为要复制的表增加附加日志Ggscidblogin userid goldengate,password goldengateGgsci obey ./dirsq
7、l/addtran.txt执行完毕通过下列sql检查,发现尚有部分表遗漏:select table_name from all_tables where owner= and table_name not in (select distinct table_name from dba_log_group_columns where owner=EOMS);通过以下sql生成对这些遗漏表的添加附加日志语句:set head offset linesize 1000set pagesize 1000select add trandata | owner | . | table_name from
8、all_tables where owner= and table_name not in (select distinct table_name from dba_log_group_columns where owner= EOMS );将结果重新在ggsci中执行,再次通过前面语句查询,确认除去部分大表(超过32列并无主键)外已经全部添加成功。3.对特殊的大于32列的无主键表进行二次处理 对于列长超过32列,无法直接添加trandata的数据表,根据脚本大于32列表生成添加附加日志脚本_getAddTrandataImp.txt中的提示执行1-4步,以获取添加trandata的sql。然
9、后通过手工排除其中不复制的表(包括tmp_和bak_开头以及物化试图日志)。 通过sqlplus “/ as sysdba”登陆到oracle,执行获得的sql语句。 4检查db_log_groups,看是否还有没有加上的附加日志select table_name from all_tables where owner= and t table_name not in (select distinct table_name from dba_log_group_columns where owner= EOMS );确认所有需复制表添加附加日志完毕。h. 抓取进程配置 添加extbj进程,从数
10、据库日志中抓取有效数据 GGSCIadd ext extbj, tranlog, begin now 添加本地队列bj、extbj进程捕捉到的有效数据将写入本地队列 GGSCIadd exttrail /export/home/oracle/ggs/dirdat/bj, ext extbj, megabytes 200 为extbj进程配置参数GGSCIedit param extbjextract extbjuserid goldengate, password *tranlogoptions altarchivelogdest instance ctais1 /oralog1exttrai
11、l /export/home/oracle/ggs/dirdat/bjdynamicresolutiontable EOMS.*;i. 启动extbj抽取进程,抽取有效数据,写入本地队列,保存数据 GGSCIstart ext*j. 配置dpebj进程 添加dpebj进程,将本地队列的数据抽取出来 GGSCIadd ext dpebj, exttrailsource /export/home/oracle/ggs/dirdat/bj 添加远端队列,将dpebj进程捕捉到的数据将写入该队列 GGSCIadd rmttrail /export/home/oracle/ggs/dirdat/bj,
12、ext dpebj, megabytes 200 为dpebj进程配置参数 GGSCIedit param dpebjextract dpebjpassthruREPORT AT 01:59reportrollover at 02:00rmthost 10.224.144.8,mgrport 7809, compress rmttrail /export/home/oracle/ggs/dirdat/bjdynamicresolutiontable EOMS.*;k. 确认网络连通和目标mgr已经启动后启动dpesz/dpekj进程开始数据传输 GGSCIstart dpe*2.4 目标端数据
13、库初始化本次目标端数据库初始化由oracle的工程师完成。在oracle工程师执行冷备份的同时,GoldenGate工程师清除抽取进程并重新执行配置,删除所有试运行期间的队列:GGSCIdelete ext *GGSCIadd ext extbj, tranlog, begin nowGGSCIadd exttrail /export/home/oracle/ggs/dirdat/bj, ext extbj, megabytes 200GgsciquitCd dirdatRm rf *待备份执行完毕,数据库重新打开后立即执行如下命令启动抽取,进入正常复制: GGSCIalter extbj,
14、begin nowGGSCIstart ext*Ggsciinfo all确认抽取进程运行正常。2.5 目标端系统及数据库配置a. 目标端系统在/下建立goldengate目录。b. 目标端系统使用oracle用户作为运行GoldenGate用户,未再建立新用户。c. 创建GoldenGate数据库用户goldengate 由于一重集团使用冷备份初始化目标端,因此使用与源端相同的用户即可。d. 目标端禁止外键和触发器:对一些cascade delete和trigger 操作进行关闭处理,上传执行操作的sql脚本到/oradata/goldengate/dirsql目录下,在当前目录sysdba用户登录。禁止外键:cd /oradata/goldengate/dirsqlsqlplus /sql spool disableFKOut.sqlsql disableFK.sql sql spool offsql exitvi disableFKOut.sql去掉spool off等无关语句,只留下alter 语句sqlplus /sqlspool disableFK.outsqldisableFKOut.sqlsqlspool offvi disableFK.out验证各操作成功。禁止trigger操作
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1