ITPub博客

首页 > 数据库 > Oracle > OGG 安装

OGG 安装

原创 Oracle 作者:数据小魏 时间:2018-08-07 14:15:54 0 删除 编辑

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)在生产端数据库上,删除这张表。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31438871/viewspace-2199320/,如需转载,请注明出处,否则将追究法律责任。

上一篇: OGG基础原理了解
请登录后发表评论 登录
全部评论
立志做一个具备SA和开发知识的优秀DBA!

注册时间:2018-06-26

  • 博文量
    29
  • 访问量
    47656