千家信息网

RAC下怎样进行OGG 配置

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

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

RACOGG 配置(仅传输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 * //开启管理进程后,自动启动所有的EXTRACTREPLICAT进程

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 nowthread 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 53EXTRBA 0

【场景四】数据冲突处理

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

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

进程 数据 配置 目标 数据库 文件 传输 检查 相同 参数 日志 时间 状态 处理 抽取 变量 场景 报告 用户 端口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 平谷区咨询软件开发价格信息 云联会软件开发 首都网络安全公益广告 阿里云服务器受到攻击 形成网络安全态势感知 邮件发送到服务器失败 软件开发机构指导软件开发过程 智慧城市大数据服务器配置 常用的软件开发方法包括 网络安全与渠道商合作 阿里持有斑马网络技术 安卓数据库中查找整个表 hive查看数据库的ip和端口 北京冬奥会网络安全保障工作自查报告 u8数据库跟踪 网络安全法个人信息主体权利 网络安全法第27条解释 易语言数据库查询返回 DZ数据库搬家到RDS 多串口服务器维修 黔江区媒体网络技术服务活动 面向方面的软件开发适用于 浪潮服务器初始化配置 温州构建智慧工厂软件开发 服务器滑油 牡丹江节能软件开发公司 5g网络安全工程师是干什么的 总结软件开发模型说出其优缺点 重庆网络安全评估研发 审计是数据库安全性的监控措施吗
0