OGG基础知识整理

一、GoldenGate介绍

GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。

GoldenGate能够支持多种拓扑结构,包括一对一,一对多,多对一,层叠和双向复制等等。

图片

GoldenGate基本架构

图片

Oracle GoldenGate主要由如下组件组成

● Extract

● Data pump

● Trails

● Collector

● Replicat

● Manager

Oracle GoldenGate 数据复制过程如下:

利用抽取进程(Extract Process)在源端数据库中读取Online Redo Log或者Archive Log,然后进行解析,只提取其中数据的变化信息,比如DML操作——增、删、改操作,将抽取的信息转换为GoldenGate自定义的中间格式存放在队列文件(trail file)中。再利用传输进程将队列文件(trail file)通过TCP/IP传送到目标系统。

目标端有一个进程叫Server Collector,这个进程接受了从源端传输过来的数据变化信息,把信息缓存到GoldenGate 队列文件(trail file)当中,等待目标端的复制进程读取数据。

    GoldenGate 复制进程(replicat process)从队列文件(trail file)中读取数据变化信息,并创建对应的SQL语句,通过数据库的本地接口执行,提交到目标端数据库,提交成功后更新自己的检查点,记录已经完成复制的位置,数据的复制过程最终完成。

Oracle GoldenGate(OGG)可以在多样化和复杂的 IT 架构中实现实时事务更改数据捕获、转换和发送;其中,数据处理与交换以事务为单位,并支持异构平台,例如:DB2,MSSQL等
     
     Golden Gate 所支持的方案主要有两大类,用于不同的业务需求:
     
     ● 高可用和容灾解决方案
     ● 实时数据整合解决方案
     
其中,高可用和容灾解决方案 主要用于消除计划外和计划内停机时间,它包含以下三个子方案:
     1.  容灾与应急备份
     2.  消除计划内停机

     3.  双业务中心(也称:双活)

实时数据整合解决方案 主要为 DSS 或 OLTP 数据库提供实时数据,实现数据集成和整合,它包含以下两个子方案:

     1.  数据仓库实时供给
     2.  实时报表

 灵活拓扑结构实现用户的灵活方案:

下图是一个典型的 Golden Gate 配置逻辑结构图:

① Manager

顾名思义、Manager进程是Golden Gate中进程的控制进程,用于管理 Extract,Data Pump,Replicat等进程

在 Extract、Data Pump、Replicat 进程启动之前,Manager 进程必须先要在源端和目标端启动,在整个 Golden Gate 运行期间,它必须保持运行状态
        
        ⒈ 监控与启动 GoldenGate 的其它进程
        ⒉ 管理 trail 文件及 Reporting
        
在 Windows 系统上,Manager 进程是作为一个服务来启动的,在 Unix 系统下是一个进程

② Extract
        
Extract 进程运行在数据库源端上,它是Golden Gate的捕获机制,可以配置Extract 进程来做如下工作:
        ⒈ 初始数据装载:对于初始数据装载,Extract 进程直接从源对象中提取数据
        ⒉ 同步变化捕获:保持源数据与其它数据集的同步。

Extract 进程捕获源数据的变化;如DML变化、 DDL变化等
        
③ Replicat
        
Replicat 进程是运行在目标端系统的一个进程,负责读取 Extract 进程提取到的数据(变更的事务或 DDL 变化)并应用到目标数据库,就像 Extract 进程一样,也可以配置 Replicat 进程来完成如下工作:

⒈ 初始化数据装载:对于初始化数据装载,Replicat 进程应用数据到目标对象或者路由它们到一个高速的 Bulk-load 工具上
⒉ 数据同步,将 Extract 进程捕获到的提交了的事务应用到目标数据库中
        
④ Collector
     
Collector 是运行在目标端的一个后台进程,接收从 TCP/IP 网络传输过来的数据库变化,并写到 Trail 文件里。

动态 collector:由管理进程自动启动的 collector 叫做动态 collector,用户不能与动态 collector 交互

静态 collector:可以配置成手工运行 collector,这个 collector 就称之为静态 collector

⑤ Trails
        
为了持续地提取与复制数据库变化,GoldenGate 将捕获到的数据变化临时存放在磁盘上的一系列文件中,这些文件就叫做 Trail 文件
        
这些文件可以在 source DB 上也可以在目标 DB 上,也可以在中间系统上,这依赖于选择哪种配置情况,在数据库源端上的叫做 Local Trail 或者 Extract Trail;在目标端的叫做 Remote Trail
        
⑥ Data Pumps
        
Data Pump 是一个配置在源端的辅助的 Extract 机制,Data Pump 是一个可选组件,如果不配置 Data Pump,那么由 Extract 主进程将数据发送到目标端的 Remote Trail 文件中,如果配置了 Data Pump,会由 Data Pump将Extract 主进程写好的本地 Trail 文件通过网络发送到目标端的 Remote Trail 文件中

使用 Data Pump 的好处是:
        ⒈ 如果目标端或者网络失败,源端的 Extract 进程不会意外终止
        ⒉ 需要在不同的阶段实现数据的过滤或者转换
        ⒊ 多个源数据库复制到数据中心
        ⒋ 数据需要复制到多个目标数据库
        
⑦ Data source
        
当处理事务的变更数据时,Extract 进程可以从数据库(Oracle, DB2, SQL Server, MySQL等)的事务日志中直接获取,或从 GoldenGate VAM中获取。通过 VAM,数据库厂商将提供所需的组件,用于 Extract 进程抽取数据的变更

⑧ Groups
        
为了区分一个系统上的多个 Extract 和 Replicat 进程,我们可以定义进程组
例如:要并行复制不同的数据集,我们可以创建两个 Replicat 组,一个进程组由一个进程组成(Extract 进程或者 Replicat 进程),一个相应的参数文件,一个 Checkpoint 文件,以及其它与之相关的文件
如果处理组中的进程是 Replicat 进程,那么处理组还要包含一个 Checkpoint 表

GoldenGate简介 
Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、 实时数据仓库供应、交易跟踪、数据同步、集中/分发、容灾、数据库升级和移植、双业务中心等多个场景下应用。同时,Oracle Golden Gate可以实现一对一、广播(一对多)、聚合(多对一)、双向、点对点、级联等多种灵活的拓扑结构。

GoldenGate技术架构 
和传统的逻辑复制一样,Oracle GoldenGate实现原理是通过抽取源端的redo log或者archive log,然后通过TCP/IP投递到目标端,最后解析还原应用到目标端,使目标端实现同源端数据同步。 

Manager进程是GoldenGate的控制进程,运行在源端和目标端上。它主要作用有以下几个方面:启动、监控、重启Goldengate的其他进程,报告错误及事件,分配数据存储空间,发布阀值报告等。在目标端和源端有且只有一个manager进程,其运行状态为running好stopped。 在windows系统上,manager进程作为一个服务来启动,二在Linux/Unix系统上则是一个系统进程。

Extract进程 
Extract运行在数据库源端,负责从源端数据表或者日志中捕获数据。Extract的作用可以按照表来时间来划分:
初始时间装载阶段:在初始数据装载阶段,Extract进程直接从源端的数据表中抽取数据。

同步变化捕获阶段:初始数据同步完成以后,Extract进程负责捕获源端数据的变化(DML和DDL)

GoldenGate并不是对所有的数据库都支持ddl操作 

Extract进程会捕获所有已配置的需要同步的对象变化,但只会将已提交的事务发送到远程的trail文件用于同步。当事务提交时,所有和该事务相关的 日志记录被以事务为单元顺序的记录到trail文件中。Extract进程利用其内在的checkpoint机制,周期性的记录其读写的位置,这种机制是 为了保证Extract进程终止或操作系统当机,重新启动Extract后,GoldenGate可以恢复到之前的状态,从上一个断点继续往下运行。通过 上面的两个机制,就可以保证数据的完整性了。

多 个Extract 进程可以同时对不同对象进行操作。例如,可以在一个extract进程抽取并向目标端发生事务数据的同时,利用另一个extract进程抽取的数据做报 表。或者,两个extract进程可以利用两个trail文件,同时抽取并并行传输给两个replicat进程以减少数据同步的延时。
在进行初始化转载,或者批量同步数据时, GoldenGate会生成extract文件来存储数据而不是trail文件。默认情况下, 只会生成一个 extract文件,但如果出于操作系统对单个文件大小限制或者其他因素的考虑,也可以通过配置生成多个 extract文件。 extract文件不记录检查点。

Extract进程的状态包括Stopped(正常停止),Starting(正在启动),Running(正在运行),Abended(Abnomal End的缩写,标示异常结束)。

Pump进程 
pump进程运行在数据库源端,其作用是将源端产生的本地trail文件,把trail以数据块的形式通过TCP/IP 协议发送到目标端,这通常也是推荐的方式。pump进程本质是extract进程的一种特殊形式,如果不使用trail文件,那么extract进程在抽取完数据以后,直接投递到目标端,生成远程trail文件。
与 Pump进程对应 的叫Server Collector进程,这个进程不需要引起我的关注,因为在实际操作过程中,无需我们对其进行任何配置,所以对我们来说它是透明的。它运行在目标端,其 任务就是把Extract/Pump投递过来的数据重新组装成远程ttrail文件。 

注意:无论是否使用pump进程,在目标端都会生成trail文件 
pump进程可以在线或者批量配置,他可以进行数据过滤,映射和转换,同时他还可以配置为“直通模式”,这样数据被传输到目标端时就可以直接生成所需的格式,无需另外操作。 直通模式提高了data pump的效率,因为生成后的对象 不需要继续进行检索。
在大多数情况下,oracle都建议采用data pump,原因如下: 

1、为目标端或网络问题提供保障 :如果只在目标端配置trail文件,由于源端会将extract进程抽取的内容不断的保存在内存中,并及时的发送到目标端。当网络或者目标端出现故障时, 由于extract进程无法及时的将数据发送到目标, extract进程将耗尽内存然后异常终止。 如果在源端配置了data pump进程,捕获的数据会被转移到硬盘上,预防了 异常终止的情况。当故障修复,源端和目标端 恢复连通性时,data pump进程发送源端的trail文件到目标端。
2、 可以支持复杂的数据过滤或者转换: 当使用数据过滤或者转换时,可以先配置一个data pump进程在目标端或者源端进行第一步的转换,利用另一个data pump进程或者 Replicat组进行第二部的转换。

3、有效的规划存储资源 :当从多个数据源同步到一个数据中心时,采用data pump的方式,可以在源端保存抽取的数据,目标端保存trail文件,从而节约存储空间。
4、解决单数据源向多个目标端传输数据的单点故障: 当从一个数据源发送数据到多个目标端时,可以为每个目标端分别配置不同的data pump进程。这样如果某个目标端失效或者网络故障时,其他的目标端不会受到影响可以继续同步数据。 
Replicat进程 
Replicat进程,通常我们也把它叫做应用进程。运行在目标端,是数据传递的最后一站,负责读取目标端trail文件中的内容,并将其解析为DML或 DDL语句,然后应用到目标数据库中。
和Extract进程一样,Replicat也有其内部的checkpoint机制,保证重启后可以从上次记录的位置开始恢复而无数据损失的风险。
Replicat 进程的状态包括Stopped(正常停止),Starting(正在启动),Running(正在运行),Abended(Abnomal End的缩写,标示异常结束)。 

Trail文件 
为了更有效、更安全的把数据库事务信息从源端投递到目标端。GoldenGate引进trail文件的概念。前面提到extract抽取完数据以后 Goldengate会将抽取的事务信息转化为一种GoldenGate专有格式的文件。然后pump负责把源端的trail文件投递到目标端,所以源、 目标两端都会存在这种文件。 trail文件存在的目的旨在防止单点故障,将事务信息持久化,并且使用checkpoint机制来记录其读写位置,如果故障发生,则数据可以根据checkpoint记录的位置来重传 。 当然,也可以通过extract通过TCP/IP协议直接发送到目标端,生成远程trail文件。但这种方式可能造成数据丢失,前面已经提到过了,这里不再赘述。
Trail文件默认为10MB,以两个字符开始加上000000~999999的数字作为文件名。如c:\directory/tr000001.默认情况下存储在GoldenGate的dirdat子目录中。可以为不同应用或者对象创建不同的trail文件。同一时刻,只会有一个extract进程处理一个trail文件。

10.0版本以后的GoldenGate,会在trail文件头部存储包含trail文件信息的记录,而10.0之前的版本不会存储该信息。每个trail文件中的数据记录包含了数据头区域和数据区域。在 数据头区域中包含事务信息,数据区域包含实际抽取的数据  

进程如何写trail文件

为了减小系统的I/O负载,抽取的数据通过大字节块的方式存储到trail文件中。同时为了提高兼容性,存储在trail文件中的数据以通用数据模式(一种可以在异构数据库之间进行快速而准确转换的模式)存储。 当然,根据不同应用的需求,数据也可以存储为不同的模式。

默认情况下,extract进程以追加的方式写入trail文件。当extract进程异常终止时,trail文件会被标记为需要恢复。当extract重新启动时会追加checkpoint之后的数据追加到该trail文件中。在 GoldenGate 10.0之前的版本, extract进程采用的是覆盖模式。即当 extract进程异常终止,则会将至上次完整写入的事务数据之后的数据覆盖现有trail文件中的内容。

这里是笔者理解不是很透彻,原文如下,望读者给予建议


By default, Extract operates in append mode, where if there is a process failure, a recovery  marker is written to the trail and Extract appends recovery data to the file so that a history  of all prior data is retained for recovery purposes. 
In append mode, the Extract initialization determines the identity of the last complete  transaction that was written to the trail at startup time. With that information, Extract  ends recovery when the commit record for that transaction is encountered in the data  source; then it begins new data capture with the next committed transaction that qualifies  for extraction and begins appending the new data to the trail. A data pump or Replicat  starts reading again from that recovery point. 
Overwrite mode is another version of Extract recovery that was used in versions of  GoldenGate prior to version 10.0. In these versions, Extract overwrites the existing  transaction data in the trail after the last write-checkpoint position, instead of appending  the new data. The first transaction that is written is the first one that qualifies for  extraction after the last read checkpoint position in the data source. 
checkpoint

checkpoint用于抽取或复制失败后(如系统宕机、网络故障灯),抽取、复制进程重新定位抽取或者复制的起点。在高级的同步配置中,可以通过配置checkpoint另多个extract或者replicat进程读取同个trail文件集。

extract进程在数据源和trail文件中都会标识checkpoint,Replicat只会在trail文件中标示checkpoint。

在批处理模式中,extract和replicat进程都不会记录checkpoint。如果批处理失败,则整改批处理会重新进行。

checkpoint信息会默认存储在goldengate的子目录dirchk中。在目标端除了checkpoint文件外,我们也可以通过配置通过额外checkpoint table来存储replicat的checkpoint信息。

Group 
我们可以通过为不同的extract和replicat进程进行分组来去区分不同进程之间的作用。例如,当需要并行的复制不同的数据集时,我们则可以创建两个或者多个复制进程。
进程组中包含进程,进程文件,checkpoint文件和其他与进程相关的文件。对于replicat进程来说,如果配置了checkpoint table,则不同组的都会包含checkpoint table。

GGSCI 
GGSCI是GoldenGate Software Command Interface 的缩写,它提供了十分丰富的命令来对Goldengate进行各种操作,如创建、修改、监控GoldenGate进程等等。
Commit Sequence Number
前文已经多次提到,Goldengate是以事务为单位来保证数据的完整性的,那么 GoldenGate又是怎么识别事务的呢? 这里用到的是Commit Sequence Number(CSN)。CSN存储在事务日志中和trail文件中 ,用于数据的抽取和复制。CSN作为事务开始的标志被记录在trail文件中,可以通过@GETENV字段转换函数或者logdump工具来查看。

二、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=$GG_HOME:$ORACLE_HOME/lib:/usr/bin:/lib
export PATH=$GG_HOME:$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)在生产端数据库上,删除这张表。

三.GoldenGate基本运维命令

(1)查看进程状态

GGSCI>info all

——查看GG整体运行情况,比如进程Lag延时,检查点延时。

GGSCI>info <进程名>

——查看某个进程的运行状况,比如抽取进程正在读取哪个归档日志或者联机重做日志,传输进程正在传送哪一个队列文件,复制进程正在使用哪一个队列文件。

GGSCI>info <进程名> showch

——查看某个进程运行的详细信息。

(2)查看进程报告

GGSCI>view report <进程名> 

——报错时,从进程报告里获取错误信息。

(3)在操作系统上,查看GoldenGate安装目录的使用率

$ df -h

——查看ogg目录是否撑满。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值