千家信息网

RAC下怎样进行OGG 配置

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇文章给大家分享的是有关RAC下怎样进行OGG 配置,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。RAC下OGG 配置(仅传输DML操
千家信息网最后更新 2026年11月01日RAC下怎样进行OGG 配置

本篇文章给大家分享的是有关RAC下怎样进行OGG 配置,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

RAC下OGG 配置(仅传输DML操作)

1. 【源端和目标端】创建ACFS文件系统,在共享存储创建ogg软件安装目录,上传文件并解压缩ogg软件

cd /ogg

tar -xvf /soft/fbo...

添加oracle环境变量LD_LIBRARY_PATH

vi ~/.bash_profile

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

安装:

./ggsci

create subdirs

--完成ogg 安装

2.【源端】检查是否开启归档

SQL> select name,log_mode,supplemental_log_data_min from v$database;

NAME LOG_MODE SUPPLEME

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

MMDB NOARCHIVELOG NO

a.开启归档

SHUTDOWN IMMEDIATE --关闭数据库:

STARTUP MOUNT --启动到Mount状态

ALTER DATABASE ARCHIVE LOG; --开启归档

ALTER DATABASE OPEN --打开数据库

ARCHIVE LOG LIST --检查归档状态,确认归档位置是否合适

b.打开最小附加日志

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; --打开最小附加日志

ALTER SYSTEM SWITCH LOGFILE --切换日志使生效

c.打开OGG特性

SHOW PARAMETER GOLDENGATE

ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH;

3.【源端目标端】确定所有待同步的表必须有主键或唯一索引

COL OWNER FOR A20

COL TABLENAME FOR A30

SELECT OWNER,TABLE_NAME,CONSTRAINT_TYPE,INVALID FROM DBA_CONSTRAINTS WHERE OWNER='SCOTT' AND CONSTRAINT_TYPE IN ('P','U'); --查询用户下哪些表有主键

4. OGG用户创建:

_________________________________________________________________

【源端】:

CREATE USER ggadmin IDENTIFIED BY ggadmin123, DEFAULT TABLESPACE USERS ;

GRANT CONNECT TO ggadmin;

GRANT CREATE SESSION TO ggadmin;

GRANT ALTER SESSION TO ggadmin;

GRANT RESOURCE TO ggadmin;

GRANT SELECT ANY DICTIONARY TO ggadmin;

GRANT SELECT ANY TABLE TO ggadmin;

GRANT FLASHBACK ANY TABLE TO ggadmin;

GRANT ALTER ANY TABLE TO ggadmin;

或

GRANT DBA TO ggadmin;

【目标端】:

建立OGG数据库用户

? 通过sql将数据写入数据库

? OGG目标数据库用户权限

CREATE USER ggadmin IDENTIFIED BY ggadmin123, DEFAULT TABLESPACE USERS ;

GRANT ALTER SESSION TO ggadmin;

GRANT CREATE SESSION TO ggadmin;

GRANT CONNECT TO ggadmin;

GRANT RESOURCE TO ggadmin;

GRANT SELECT ANY DICTIONARY TO ggadmin;

GRANT SELECT ANY TABLE TO ggadmin;

GRANT FLASHBACK ANY TABLE TO ggadmin;

GRANT INSERT ANY TABLE TO ggadmin;

GRANT UPDATE ANY TABLE TO ggadmin;

GRANT DELETE ANY TABLE TO ggadmin;

或

GRANT DBA TO ggadmin;

5.【源端配置】:

5.1 mgr 配置

./ggsci

GGSCI> edit param mgr

PORT 7809 //监听端口PORT

DYNAMICPORTLIST 7810-7900 //动态监听端口PORT,监听端口失败时使用

--AUTOSTART ER * //开启管理进程后,自动启动所有的EXTRACT及REPLICAT进程

AUTORESTART ER *,RETRIES 5,WAITMINUTES 3,RESETMINUTES 60 //自动重启异常中止的进程,重试5次,每次等2分钟,一小时后重试

STARTUPVALIDATIONDELAY 5 //启动时延迟5秒校验

PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS, MINKEEPDAYS 3 //自动清理使用过的trail队列,最少保留3天

LAGREPORTHOURS 1 //每一小时检查延迟

LAGINFOMINUTES 30 //延迟30分钟记录信息到error log

LAGCRITICALMINUTES 45 //延50分钟记录警告到error log

GGSCI> START MGR //打开管理进程

GGSCI> INFO ALL //验证已打开

5.2 添加抽取进程及队列文件

GGSCI> ADD EXTRACT ex_jtwx1, tranlog, begin now,thread 2

GGSCI> ADD EXTTRAIL ./dirdat/la,EXT ex_jtwx1, MEGABYTES 100

GGSCI> ADD EXTRACT dp_jtwx1, EXTTRAILSOURCE ./dirdat/la

GGSCI> ADD RMTTRAIL /ogg/dirdat/ra, EXT dp_jtwx1, MEGABYTES 100

5.3 配置抽取进程参数

extract 抽取进程参数配置:

./ggsci

GGSCI> edit param ex_jtwx1

EXTRACT ex_jtwx1

--[环境变量,非必须]

--SETENV( ORACLE_SID=xxx )

--SETENV( ORACLE_HOME=xxx )

--SETENV( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )

USERID ggadmin, PASSWORD ggadmin123,

TRANLOGOPTIONS DBLOGREADER, DBLOGREADER BUFSIZE 4194304, BUFSIZE 4194304

FETCHOPTIONS FETCHPKUPDATECOLS

NOCOMPRESSDELETES

EXTTRAIL ./dirdat/la

DYNAMICRESOLUTION //动态解析表结构

--TRANLOGOPTIONS CONVERTUCS2CLOBS //抽取CLOB必须加上

--GETTRUNCATES //捕获truncate操作,默认不捕获

--[待传输的表]

table myschema.maytable1;

table myschema.maytable2;

table myschema.*;

--TABLE hq.acct, COLS (col1, col3); --只复制1,3列

--TABLE hq.acct, where (id=1 and name=2); --过滤,只复制满足条件记录

--TABLE hq.acct, COLSEXCEPT (col4); --复制除了第4列

datapump传输进程参数配置:

GGSCI>edit param dp_jtwx1

extract dp_jtwx1

setenv ( NLS_LANG = AMERICAN_AMERICA.ZHS16GBK )

passthru //passthru表示本进程是一个传输进程data pump,无需跟数据库交互,只需要搬运数据即可

--REPORT AT 01:59 //配置在特定时间报告传输状态

--reportrollover at 02:00 //指定每日在特定时间生成一个新的报告

rmthost 10.128.59.52,mgrport 7809, compress //传输进程需要知道目标端的主机端口信息

rmttrail /ogg/dirdat/ra

Dynamicresolution

numfiles 8000

table myschema.mytable1;

table myschema.mytable2;

TABLE hq.acct; //注意此时不用再过滤cols了。

5.4 添加表级附加日志

GGSCI> DBLOGIN USERID ggadmin, PASSWORD ggadmin123,

GGSCI> LIST TABLES SCOTT.*

GGSCI> ADD TRANDATA scott.emp

GGSCI> ADD TRANDATA scott.dept

....

或

SQL>alter table user.table add supplemental log group ggs_table_1 (PK or UK) always;

SQL>

GGSCI> START * --启动抽取进程和传输进程

GGSCI> INFO ALL --检查是否正常启动

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

【备注1】

GGSCI> VIEW REPORT ex_jtwx1 --排错常用方法1

GGSCI> sh tail -10 ggserr.log --排错常用方法2

6.【目标端配置】

6.1 配置GLOBALS参数

GGSCI> EDIT PARAM ./GLOBALS

GGSCHEMA ggadmin

CHECKPOINTTABLE ggadmin.checkpointtable

6.2 创建检查点记录表

GGSCI> DBLOGIN USERID ggadmin, PASSWORD ggadmin123,

GGSCI> ADD CHECKPOINTTABLE ggadmin.checkpointtable

6.3 配置投递进程

GGSCI> ADD REP rp_jtwx1, EXTTRAIL ./dirdat/ra, CHECKPOINTTABLE ggadmin.checkpointtable

GGSCI> EDIT PARAM rp_jtwx1

REPLICAT rp_jtwx1

--环境变量,非必须

--SETENV( ORACLE_SID=ogg2 )

--SETENV( ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 )

--SETENV( NLS_LANG = AMERICAN_AMERICA.AL32UTF8 )

USERID ggadmin, PASSWORD ggadmin

--REPORT AT 01:59 //配置在特定时间报告复制状态

--REPORTROLLOVER AT 02:00 //指定每日在特定时间生成一个新的报告

REPERROR default,discard //配置如果出现错误后的处理模式,这里abend表示出现错误即进程终止,等待客户修正后恢复;也可以设置为discard,此时会将错误数据写到下面参数定义的文件中,但是继续处理,进程不退出

INSERTALLRECORDS

DISCARDFILE ./dirrpt/rp_jtwx1.dsc,append, megabytes 200 //定义出错后写错误信息的目标文件,为查错提供帮助。 Append表示在尾部添加, purge表示每次生成一个新的disard文件; megabyte表示最大允许大小,如果超过了此大小则进程也会终止。

ASSUMETARGETDEFS //表示源和目标表的结构相同,即相同数据库类型、表的字段定义相同

DYNAMICRESOLUTION //动态解析表的结构,加快启动速度

--HANDLECOLLISIONS //冲突数据处理,主要在初始化时候用到

--GETTRUNCATES //同步truncate 操作

MAP scott.emp, TARGET scott.emp;

MAP scott.dept, TARGET scott.dept1 , COLMAP (usedefaults , committime = @GETENV ("GGHEADER", "COMMITTIMESTAMP"));

--//定义源表和目标表的映射, colmap里面定义列映射,如果是两端表的列全部相同则不用colmap;

--userdefaults表示,没有列在后面的列全部按照缺省规则(列名相同的对应)进行映射,而列在后面的如committime则赋给GoldenGate的一个自有变量,这里是指提交时间。

GGSCI> START REP rp_jtwx1 //启动投递进程

GGSCI> INFO ALL //检查状态

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

【备注2】

GGSCI> help --查看可用命令

GGSCI> help add exttrail --查看添加队列文件命令使用方法

GGSCI> send rp_jtwx1,status --查看数据同步进度

GGSCI> stats rp_jtwx1 --查看投递进程处理数据量统计

【场景一】主键不一致

目标端: MAP src.s_tab, TARGET tar.t_tab, KEYCOLS ( s_tab_pk_col );

或源端: Add trandata src.s_tab, cols ( t_tab_pk_col),nokey

【场景二】数据过滤

源端: TABLE demo_src.people, FILTER (age > 50);

age需为主键才能过滤,或者Add trandata demo_src.people, cols (age)强制为该列加入附加日志

【场景三】数据初始化

通过导入加载初始数据后

源端: ALTER ex_jtwx1,begin 2010-03-21 08:00:00 (保证归档存在)

或目标端: ALTER REPLICAT rp_jtwx1, EXTSEQNO 53, EXTRBA 0

【场景四】数据冲突处理

在replicat使用handlecollisions(必须有主键或者唯一索引)

以上就是RAC下怎样进行OGG 配置,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

进程 数据 配置 目标 数据库 文件 传输 检查 相同 参数 日志 时间 状态 处理 抽取 变量 场景 报告 用户 端口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 河南云网互联网络科技有限公司 互联网科技公司起名 科技赋能下的互联网金融 科技互联网政务服务 狮子座互联网科技有限公司 上海亿帐通互联网科技 镁科技互联网资讯平台 华脉科技工业互联网产品 互联网科技项目计划书材料类 呼和浩特新华互联网科技学院 亳州好赞互联网科技有限公司 华夏恒生科技与互联网科技 特约风豹互联网科技为什么扣费 南博望互联网科技有限公司 富国互联网科技002692 互联网科技包装股份有限公司上市 银川新华互联网科技学校是国营吗 三亚科技创新互联网基地 互联网科技自媒体灵感 互联网黑科技 奇酷互联网科技 北京互联网络科技有限公司 互联网科技公司需要的职位 北京三清互联网科技 智腾互联网科技有限公司 工业互联网等科技实现智能化赋能 全球科技与互联网公司市值变化 求路客互联网科技电话 青岛易易互联网科技
0