OGG 安装

来源:这里教程网 时间:2026-03-03 11:51:19 作者:

1.GoldenGate安装实施 2.1创建GoldenGate软件安装目录 在数据库服务器上创建文件系统:/u01/gg,作为GoldenGate的安装目录。 2.2 GoldenGate的管理用户 安装GoldenGate软件和维护GoldenGate软件时,可以使用系统上的oracle用户。GoldenGate安装目录的所有者必须是GoldenGate管理用户,本次实施过程中使用oracle用户作为GoldenGate管理用户,添加oracle用户的环境变量(在生产端和容灾端均要进行以下操作): export GG_HOME=/u01/gg export LD_LIBRARY_PATH=GGHOME:GGHOME:ORACLE_HOME/lib:/usr/bin:/lib export PATH=GGHOME:GGHOME:PATH 2.3安装GoldenGate软件 切换到oracle用户,将GG软件的压缩包存放到GoldenGate安装目录下,即/u01/gg,将这个压缩包进行解压到GoldenGate安装目录下(在生产端和容灾端均要进行以下操作): tar  -zxvf  *.gz    进入到GoldenGate安装目录,运行GGSCI命令以进入GG界面(在生产端和容灾端均要进行以下操作): cd  /u01/gg ./ggsci 在GGSCI界面下创建子目录(在生产端和容灾端均要进行以下操作): GGSCI>create  subdirs 至此,GoldenGate软件安装完毕。 2.4设置数据库归档模式 查看数据库的归档模式: SQL>archive log list; 如果是非归档模式,需要开启归档模式: shutdown immediate; startup mount; alter database archivelog; alter database open; 2.5打开数据库的附加日志 打开附加日志并切换日志(保证Online redo log和Archive log一致) alter database add supplemental log data ; alter database add supplemental log data (primary key, unique,foreign key) columns; alter system switch logfile; 2.6开启数据库强制日志模式 alter database force logging; 2.7创建GoldenGate管理用户 在生产端和容灾端均要进行以下操作: --create tablespace SQL>create tablespace  ogg  datafile '$ORACLE_BASE/oradata/test/ogg01.dbf' size 300M ; -- create the user SQL>create user ogg identified by ogg default tablespace ogg; -- grant role privileges SQL>grant  resource, connect, dba to ogg; 2.8编辑GLOBALS参数文件 切换到GoldenGate安装目录下,执行命令: cd /u01/gg ./ggsci GGSCI>EDIT PARAMS ./GLOBALS 在文件中添加以下内容: GGSCHEMA ogg  --指定的进行DDL复制的数据库用户 利用默认的密钥,生成密文: GGSCI>encrypt password ogg encryptkey default Encrypted password:  AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB      记录这个密文,将在以下进程参数的配置中使用。 2.9管理进程MGR参数配置 PORT 7839 DYNAMICPORTLIST 7840-7860 --AUTOSTART ER * --AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3 PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 2 userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB, ENCRYPTKY default PURGEDDLHISTORY MINKEEPDAYS 11,MAXKEEPDAYS 14 PURGEMARKERHISTORY MINKEEPDAYS 11, MAXKEEPDAYS 14 2.10抽取进程EXTN参数配置 EXTRACT extn setenv (NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252) userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB, ENCRYPTKEY default REPORTCOUNT EVERY 1 MINUTES, RATE DISCARDFILE ./dirrpt/discard_extn.dsc,APPEND,MEGABYTES 1024   DBOPTIONS  ALLOWUNUSEDCOLUMN WARNLONGTRANS 2h,CHECKINTERVAL 3m EXTTRAIL ./dirdat/na   TRANLOGOPTIONS EXCLUDEUSER OGG TRANLOGOPTIONS ALTARCHIVEDLOGFORMAT %t_%s_%r.dbf FETCHOPTIONS NOUSESNAPSHOT TRANLOGOPTIONS CONVERTUCS2CLOBS TRANLOGOPTIONS altarchivelogdest primary instance test /oradata/arch --TRANLOGOPTIONS RAWDEVICEOFFSET 0 DYNAMICRESOLUTION   DDL INCLUDE ALL DDLOPTIONS addtrandata, NOCROSSRENAME,  REPORT   table QQQ.*; table CUI.*; 2.11 传输进程DPEN参数配置 EXTRACT dpen RMTHOST 192.168.4.171 , MGRPORT 7839, compress PASSTHRU numfiles 50000 RMTTRAIL ./dirdat/na TABLE QQQ.*; TABLE CUI.*; 2.12建立OGG的DDL对象 $ cd /u01/gg  $ sqlplus "/ as sysdba"   SQL> @marker_setup.sql Enter GoldenGate schema name:ogg alter system set recyclebin=off; SQL> @ddl_setup.sql Enter GoldenGate schema name: ogg   SQL> @role_setup.sql   Grant this role to each user assigned to the Extract, Replicat, GGSCI, and Manager processes, by using the following SQL command:   SQL>GRANT GGS_GGSUSER_ROLE TO   where is the user assigned to the GoldenGate processes. 注意这里的提示:需要手工将这个GGS_GGSUSER_ROLE指定给extract所使用的数据库用户(即参数文件里面通过userid指定的用户),可以到sqlplus下执行类似的sql: SQL>GRANT GGS_GGSUSER_ROLE TO ogg; 注:这里的ogg是extract使用的用户。如果你有多个extract,使用不同的数据库用户,则需要重述以上过程全部赋予GGS_GGSUSER_ROLE权限。 运行以下脚本,使触发器生效: SQL> @ ddl_enable.sql 注:在生产端开启抽取前,先禁用DDL捕获触发器,调用ddl_disable.sql。 2.13 数据初始化 在初始化过程中,源数据库不需要停机,初始化过程分为三个部分: 生产端开启抽取进程; 生产端导出数据; 容灾端导入数据; 在生产端添加抽取进程、传输进程以及相应的队列文件,执行命令如下: //创建进程 EXTN GGSCI>add extract extn,tranlog,begin now GGSCI>add exttrail ./dirdat/na,extract extn,megabytes 500   //创建进程 DPEN GGSCI>add extract dpen,exttrailsource ./dirdat/na GGSCI>add rmttrail ./dirdat/na,extract dpen,megabytes 500 在生产端启动管理进程: GGSCI> start mgr 启用DDL 捕获trigger: $ cd /u01/gg $ sqlplus “/as sysdba” SQL> @ddl_enable.sql 在生产端启动抽取进程: GGSCI> start EXTN 在数据库中,获取当前的SCN号,并且记录这个SCN号: SQL>select to_char(dbms_flashback.get_system_change_number) from dual;   603809 在数据库中,创建数据泵所需目录并赋予权限: SQL>CREATE OR REPLACE DIRECTORY DATA_PUMP AS '/u01'; SQL>grant read ,write on DIRECTORY DATA_PUMP  to ogg; 在生产端利用数据泵导出数据: expdp ogg/ogg schemas='QQQ' directory=DATA_PUMP dumpfile=QQQ_bak_%U flashback_scn=123456789 logfile=expdp_QQQ.log filesize=4096m   expdp ogg/ogg schemas='CUI' directory=DATA_PUMP dumpfile=CUI_bak_%U flashback_scn=123456789 logfile=expdp_ CUI.log filesize=4096m   expdp ogg/ogg schemas='test1' directory=DATA_PUMP dumpfile=test1_bak_%U flashback_scn=603809 logfile=expdp_QQQ.log filesize=4096m 把导出的文件传输到容灾端,利用数据泵将数据导入: Impdp ogg/ogg  DIRECTORY=DATA_PUMP DUMPFILE=QQQ_bak_%U logfile=impdp_ QQQ.log   Impdp ogg/ogg  DIRECTORY=DATA_PUMP DUMPFILE=CUI_bak_%U logfile=impdp_CUI.log 2.14 容灾端管理进程MGR参数配置 PORT 7839 DYNAMICPORTLIST 7840-7860 --AUTOSTART ER * --AUTORESTART EXTRACT *,RETRIES 5,WAITMINUTES 3 PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 2 userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB, ENCRYPTKEY default 2.15编辑GLOBALS参数文件 切换到GoldenGate安装目录下,执行命令: cd /u01/gg ./ggsci ggsci>EDIT PARAMS ./GLOBALS 在文件中添加以下内容: GGSCHEMA ogg  --指定的进行DDL复制的数据库用户 2.16 容灾端复制进程REPN参数配置 REPLICAT repn setenv (NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252) userid ogg, password AACAAAAAAAAAAADAHBLDCCIIOIRFNEPB, ENCRYPTKEY default SQLEXEC "ALTER SESSION SET CONSTRAINTS=DEFERRED" REPORT AT 01:59 REPORTCOUNT EVERY 30 MINUTES, RATE REPERROR DEFAULT, ABEND assumetargetdefs DISCARDFILE ./dirrpt/repna.dsc, APPEND, MEGABYTES 1024 DISCARDROLLOVER AT 02:30 ALLOWNOOPUPDATES REPERROR (1403, discard)   DDL INCLUDE MAPPED  DDLOPTIONS REPORT   MAPEXCLUDE QQQ.T0417   MAP QQQ.*, TARGET QQQ.*; MAP CUI.*, TARGET CUI.*; 2.17创建复制进程repn     执行以下命令创建复制进程repn: GGSCI>add replicat repn, exttrail ./dirdat/na, nodbcheckpoint 2.18启动生产端传输进程和容灾端复制进程 GGSCI>start dpen GGSCI>start  REPLICAT repn aftercsn  123456789 2.19测试场景 (1)在生产端数据库上,创建一张表。 (2)在生产端数据库上,修改这个张表的数据。 (3)在生产端数据库上,删除这张表。

相关推荐