【OGG】GoldenGate For Oracle实施文档 --超详细总结版

Oracle to Oracle版本的

平时给客户生产环境部署参考的文档,总结的比较详细,主要是详细的说明了数据初始化的过程,参数各个环境不同,所以只是写了比较简单的,根据实际条件添加吧。

1. 前期准备

1.1. 系统层面

windows需要安装c\c++ 2005运行库

1.2. 数据库层面

运行full-DB_CheckOracle.sql 查看结果,检查是否有不支持的对象

2. 源端数据库配置

2.1. 开启归档模式

检查源端数据库是否为归档模式

SQL>archive log list;

若为非归档模式,在数据库mount状态下将其改为归档模式

SQL> alter database archivelog;

确认归档已经开启

SQL>archive log list;

2.2. 开启库级别最小附加日志

检查源端数据库附加日志是否打开

SQL>select supplemental_log_data_min from v$database;

打开数据库附件日志

SQL>alter database add supplemental log data;

切换日志以使附加日志生效

SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;

SQL>alter system switch logfile;

确认最小附加日志已经打开

select supplemental_log_data_min from v$database;

2.3. 创建GoldenGate专有用户

创建goldengate表空间:

SQL>create tablespace goldengate datafile '/oracle/oracle/oradata/ora11/goldengate.dbf' size 100m;

注:不开启DDL的话源端goldengate不会在数据库中创建任何表,存储任何数据,所以这个表空间给较少空间即可

创建goldengate用户并授权:

SQL>create user goldengate identified by goldengate default tablespace goldengate;

给用户授权:

如果客户对于权限管理不严格,直接赋予DBA权限即可:

SQL>grant dba to goldengate;

如果管理严格请参考各版本OGG文档进行授权

注:如开启DDL必须需要DBA权限

3. 源端部署GoldenGate

3.1. 下载并将GoldenGate上传到服务器

Linux\Unix传到Oracle用户即可,windows传到Oracle的安装用户下

3.2. 配置环境变量

主要配置以下三个变量:

ORACLE_SID         ORACLE_HOME       LD_LIBRARY_PATHLINUX环境)

其中D_LIBRARY_PATHogg的安装目录

export LD_LIBRARY_PATH=/ggs/11.0:$LD_LIBRARY_PATH

3.3. 配置启动mgr

windows环境需要加入到服务中

.\install addservice

 

 

./ggsci

create subdirs

 

配置mgr参数

edit params mgr

port 7809

DYNAMICPORTLIST 7840-7898

autostart er *

autorestart er *, retries 5, waitminutes 3

PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 7

启动mgr

start mgr

确认mgr启动成功

info all

3.4. 增加trandata

ggsci登录到数据库

dblogin userid goldengate,password goldengate

增加trandata

add TRANDATA ajdbo.passenger

确认trandata添加成功

info trandata ajdbo.passenger

在数据库中确认已经添加trandata的表

select * from dba_log_groups where owner='xxx' and table_name='xxx';

3.5. 配置、启动extract进程

增加extract进程

add extract ext_ynkg, tranlog, begin now

增加exttrail

add exttrail ./dirdat/ld,extract ext_ynkg, MEGABYTES 100

配置extract进程

edit params ext_ynkg

 

EXTRACT ext_ynkg

SETENV(NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

USERID goldengate, PASSWORD goldengate  

TRANLOGOPTIONS EXCLUDEUSER goldengate

EXTTRAIL ./dirdat/ld

--GETTRUNCATES

--GETUPDATEBEFORES

EOFDELAY 3

NUMFILES 5000

DISCARDFILE ./dirrpt/ext_ynkg.dsc, APPEND, MEGABYTES 1000

DYNAMICRESOLUTION

table ajdbo.passenger;

talle ajdbo.channel;

table ajdbo.validate_info;

table ajdbo.bord_info;

启动extract进程

start ext_ynkg

确认进程启动成功

info ext_ynkg

3.6. 获取基准SCN

3.6.1. 方法一

如果客户环境归档保留的比较多,则可采用这种方法:

首先确认系统中最早的transaction的启动时间

sql> select min(start_time) from gv$transaction;

MIN(START_TIME)

--------------------

02/08/16 19:21:38

之后在指定extract进程的begin时间时,指定一个比这个早的时间,让extract从这里开始抽取:

add extract <ext_name> tranlog threads 2 begin 2016-02-08 19:20:00

最后再查询当前SCN

select current_scn from v$database;

则该SCN则为基准SCNSCN3),如使用导入导出的方法,这个SCN即为最终确定的SCN时间点,如果使用RMAN则最终RMAN恢复的SCN要大于等于这个SCN

3.6.2. 方法二

如果客户环境归档保留的比较少,则可采用这种方法

查询当前SCN号(SCN1

select current_scn from v$database;

查看当前数据库系统中最早transactionscn号(SCN2

select min(start_scn) from gv$transaction;

多次查询系统中最早的transaction的启动时间,一直到这个值大于SCN1。(如果大的transaction一直在运行,可以考虑杀死这个transaction对应的进程,查找该进程的语句如下:

select p.INST_ID,p.SPID,t.start_scn

from gv$transaction t,gv$process p,gv$session s

where s.taddr=t.addr and p.addr=s.paddr and t.start_scn<=&1;

再次查询当前SCN号(SCN3

select current_scn from v$database;

则该SCN则为基准SCNSCN3),如使用导入导出的方法,这个SCN即为最终确定的SCN时间点,如果使用RMAN则最终RMAN恢复的SCN要大于等于这个SCN

3.7. 归档当前日志(可选)

这一步仅当使用RMAN做初始化并使用的是之前的全备时需要,是为了拷贝过去的归档能恢复到之前确定的SCN

 

查询当前日志号:

select INST_ID,GROUP#,SEQUENCE#,ARCHIVED,STATUS from gv$log;

归档当前日志:

ALTER SYSTEM ARCHIVE LOG CURRENT;

之后确认第一次为currentSEQUENCE已经归档

select INST_ID,SEQUENCE#,ARCHIVED from gv$archived_log where SEQUENCE#=&1;

注:RAC环境下两个节点都要进行确认

3.8. 配置pump进程

增加pump进程

add extract pmp_ynkg, exttrailsource ./dirdat/ld

增加rmttail文件

add rmttrail ./dirdat/rd,EXTRACT pmp_ynkg,MEGABYTES 100

配置pump进程

edit params pmp_ynkg

 

EXTRACT  pmp_ynkg

USERID goldengate,PASSWORD goldengate

PASSTHRU

RMTHOST 10.1.0.50,MGRPORT 7809

RMTTRAIL ./dirdat/rd

--REPORT AT 01:59

--REPORTROLLOVER AT 02:00

DISCARDFILE ./dirrpt/pmp_ynkg.dsc, APPEND, MEGABYTES 1000

--PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 7

D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值