oracle ogg配置

http://www.dataguru.cn/thread-171156-1-1.html

GoldenGate几个重要进程介绍:

1、Manager管理进程在两端开启,监控和重启其他进程;分配数据存储和报告错误及事件;

2、Extract进程从日志中抓取并传输到target端事务数据;

3、Server Collector进程在target(接受)端接受数据并写入trail文件;

4、Replicat进程读取trail文件,并应用到traget数据库;

5、trail文件时gg自己抓捕信息的文件,是一个OS文件,存放在./dirdat/下,以X00000命名,N顺序1,2,3…此文件用完可配置参数自动删除。

问题:

1、数据库设置为归档模式

2、特别注意抽取进程、投递进程、接受进程之间的关系

抽取进程定义文件路径为投递进程本地路径add extract pump_so,exttrailsource ./dirdat/et/dd

抽取进程定义远程文件路径为接受进程路径add replicat rep7,exttrail ./dirdat/dp1/sd

一、环境准备并安装GoldenGate

1. 数据库准备情况

1) 源服务器

IP地址:192.168.14.150

数据库:10.2.0.5 64 bit

SID: orcl

操作系统版本:Oracle 5.4 64 bit

数据库:10.2.0.5 64 bit

SID: slave

操作系统版本:Oracle 5.4 64 bit

2. 下载OGG软件并解压安装

1) 源服务器

mkdir -p /u01/app/oracle/ogg

unzip fbo_ggs_Linux_x64_ora10g_64bit.zip

tar -xvf fbo_ggs_Linux_x64_ora10g_64bit.tar -C /u01/app/oracle/ogg/

chown -R oracleinstall /u01/app/oracle/ogg

2) 目标服务器都要配置

mkdir -p /u01/app/oracle/ogg

unzip fbo_ggs_Linux_x64_ora10g_64bit.zip

tar -xvf fbo_ggs_Linux_x64_ora10g_64bit.tar -C /u01/app/oracle/ogg/

chown -R oracle:oinstall /u01/app/oracle/ogg

3. 准备OGG环境变量

#源服务器、与目标服务器都要配置

$ vi /home/oracle/.bash_profile

增加如下一行:

export GGATE=$ORACLE_BASE/ogg

生效环境变量

source /home/oracle/.bash_profile

4. 配置日志模式

# 源服务器,目标服务器不用配置(非双向)

1) 查看规档与日志模式

select log_mode,supplemental_log_data_min,force_logging from v$database;

2) 配置为规档模式

shutdown immediate;

startup mount;

alter database archivelog;

alter database open;

alter system set log_archive_dest_1='location=/u01/archive' scope=both;

3) 配置日志模式(打开强制规档与补充日志模式)

alter database add supplemental log data;

alter database force logging;

4)查看配置结果:

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

LOG_MODE     SUPPLEME FOR

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

ARCHIVELOG   YES      YES

5. 创建GoldenGate用户帐号

1) 源服务器

conn / as sysdba;

create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/target/tbs_ogg.dbf' size 10m autoextend on next 10m;

create user ogg identified by ogg default tablespace tbs_ogg temporary tablespace TEMP quota unlimited on tbs_ogg;

grant connect,resource to ogg;

grant create session,alter session to ogg;

grant select any dictionary,select any table to ogg;

grant alter any table to ogg;

grant flashback any table to ogg;

grant execute on dbms_flashback to ogg;

2) 目标服务器

conn / as sysdba;

create tablespace tbs_ogg datafile '/u01/app/oracle/oradata/orcl/tbs_ogg.dbf' size 10m autoextend on next 10m;

create user ogg identified by ogg default tablespace tbs_ogg temporary tablespace TEMP quota unlimited on tbs_ogg;

grant connect,resource to ogg;

grant create session,alter session to ogg;

grant select any dictionary,select any table to ogg;

grant alter any table to ogg;

grant flashback any table to ogg;

grant execute on dbms_flashback to ogg;

grant insert any table to ogg;

grant delete any table to ogg;

grant update any table to ogg;

6. 安装GoldenGate软件

(1) 源服务器、与目标服务器都要配置

./ggsci

GGSCI (test) 1> create subdirs

Parameter files                /u01/app/oracle/ogg/dirprm: created

Report files                   /u01/app/oracle/ogg/dirrpt: created

Checkpoint files               /u01/app/oracle/ogg/dirchk: created

Process status files           /u01/app/oracle/ogg/dirpcs: created

SQL script files               /u01/app/oracle/ogg/dirsql: created

Database definitions files     /u01/app/oracle/ogg/dirdef: created

Extract data files             /u01/app/oracle/ogg/dirdat: created

Temporary files                /u01/app/oracle/ogg/dirtmp: created

Veridata files                 /u01/app/oracle/ogg/dirver: created

(2) 目标服务器都要配置

./ggsci

GGSCI (slave) 1> create subdirs

Creating subdirectories under current directory /u01/app/oracle/ogg

Parameter files                /u01/app/oracle/ogg/dirprm: created

Report files                   /u01/app/oracle/ogg/dirrpt: created

Checkpoint files               /u01/app/oracle/ogg/dirchk: created

Process status files           /u01/app/oracle/ogg/dirpcs: created

SQL script files               /u01/app/oracle/ogg/dirsql: created

Database definitions files     /u01/app/oracle/ogg/dirdef: created

Extract data files             /u01/app/oracle/ogg/dirdat: created

Temporary files                /u01/app/oracle/ogg/dirtmp: created

Veridata files                 /u01/app/oracle/ogg/dirver: created

7. 配置源、目标数据库一致

配置源与目标数据一致性可以采用很多方法,可以采用oracle的方式来完成。本方式采用imp方式来实现初始数据表一致。

(1) 源端测试用户:

create user hr identified by hr;

grant connect,resource,select_catalog_role to hr;

conn hr/hr;

create table t1 as select * from dba_objects;

alter table t1 add constraint prikey_t1 primary key(object_id);

(2) 目标端测试用户:

目标服务器通过exp/imp导入过去,只导入表结构

create user hr identified by hr;

grant connect,resource,select_catalog_role to hr;

conn hr/hr;

imp hr/hr file=hr.dmp rows=n

注: 还可以通过goldengate初始化数据加载的方式来实现数据同步

二、 GoldenGate DML同步源端配置

配置思路:

1) 先配置DML同步

2) 再配置DDL同步

./ggsci

1. 源MGR进程并启动

1) 编辑主进程组

PORT 7809

DYNAMICPORTLIST 7800-7900

AUTORESTART  EXTRACT *,RETRIES 3, WAITMINUTES 5, RESETMINUTES 60

PURGEOLDEXTRACTS  ./dirdat/*/*, USECHECKPOINTS, MINKEEPFILES 100

LAGREPORTMINUTES 1

LAGINFOMINUTES 1

LAGCRITICALMINUTES 1

说明:

port 指定mgr进程通信端口

dynamicportlist 表示mgr进程可以为源与目的端动态通信指定端口

autorestart extract 表示自动重启extract进程组,每2分钟尝试重启所有进程,重试5次,每5分钟清零。

配置参数后,重启mgr进程生效

2) 启动主管理进程

start mgr

2. 配置Extract进程组

1) 编辑配置文件

edit params eora

extract eora

dynamicresolution

SETENV (ORACLE_HOME="/u01/app/oracle/product/11.2.0/db_1")

SETENV (ORACLE_SID="source")

SETENV (NLS_LANG="AMERICAN_AMERICA.ZHS16GBK")

UsERID ogg password ogg

exttrail ./dirdat/et/dd------------该路径与pump进程密切相关

ddl include all

ddloptions addtrandata, report

table hr.*;

2) 添加抽取进程

add extract eora, tranlog,begin now

3) 添加本地trail文件

ADD EXTTRAIL  ./dirdat/et/dd(该路径与pump进程密切相关)  EXTRACT eora, MEGABYTES 5

说明:创建本地trail文件,主extract进程负责写这部分文件,pump负责把这部分文件传到目标服务器端。

4) 启动服务

start extract eora

3. 配置Pump进程组

1) 编辑配置文件

edit params pump_so

EXTRACT pump_so

PASSTHRU

DYNAMICRESOLUTION

RMTHOST 192.168.31.14 ,MGRPORT 7809

RMTTRAIL ./dirdat/dp1/sd

DISCARDFILE ./dirrpt/dp2.dsc,APPEND,MEGABYTES 5

DISCARDROLLOVER AT 6:00

REPORTROLLOVER AT 6:00

REPORTCOUNT EVERY 1 HOURS,RATE

table hr.*;

2) 添加pump进程并指明本地文件

add extract pump_so,exttrailsource ./dirdat/et/dd(特别注意抽取进程文件队列所在位置)

3) 添加远程trail文件

add  RMTTRAIL  ./dirdat/dp1/sd(特别注意参数文件rmttrail位置), EXTRACT PUMP_SO, MEGABYTES 5

说明: 指定远程trail文件

4) 启动pump进程

start extract pump_so

三、 GoldenGate DML同步目标端配置

1. 目标端MGR进程

1) 编辑配置文件

edit params mgr

port 7809

dynamicportlist 7800-8000

autostart er *

autorestart extract *, waitminutes 2, resetminutes 5

lagreporthours 1

laginfominutes 3

lagcriticalminutes 5

purgeoldextracts /u01/app/oracle/ogg/dirdat/rt*, usecheckpoints, minkeepdays 3

2) 启动

start mgr

2. 添加检查表

说明: 当我们在GLOBALS 文件里指定了默认的checkpoint 之后,新的Replicat groups 在创建时会自动使用这个参数,不需要其他指令

1) 编辑全局配置文件

edit params ./GLOBALS

Successfully logged into database.

GGSCI (slave) 2> add checkpointtable ogg.checkpoint

Successfully created checkpoint table OGG.CHECKPOINT.

配置目标端Peplicat进程组

1) 编辑配置文件

edit params repl

REPLICAT rep1

SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/db_1" )

SETENV (ORACLE_SID = "target")

SETENV (NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK")

USERID ogg, PASSWORD ogg

HANDLECOLLISIONS

ASSUMETARGETDEFS

DISCARDFILE ./dirrpt/rep1.dsc ,append ,megabytes 5

--SOURCEDEFS ./dirdef/def.def

DDL INCLUDE MAPPED , OBJTYPE 'TABLE' &

INCLUDE MAPPED OBJTYPE 'INDEX'

MAP  hr.T1 ,TARGET  hr.T1;

2) 添加复制进程

add replicat rep7,exttrail ./dirdat/dp1/sd(该路径为pump进程定义的远程路径)

3) 启动进程

start repl

4. 可以查看checkpoint状态

su - oracle

sqlplus ogg/ogg

SQL> select tname from tab;

TNAME

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

CHECKPOINT                     TABLE

CHECKPOINT_LOX                 TABLE

select * from checkpoint;

注1:ogg_11.1.1.1.2只有CHECKPOINT一张表。

注2:ogg_11.2.x.x.1有CHECKPOINT,CHECKPOINT_LOX两张表。

5. DML配置测试

1) 源端查看表的记录数

conn hr/hr

SQL> select count(*) from t1;

2)执行DML操作后提交

SQL> delete from t1 where rownum < 200;

SQL> select count(*) from t1;

3) 目标端查看

conn hr/hr

SQL> select count(*) from t1;

说明:

到此goldengate DML单向配置已经配置完毕,通过简单的测试示例来进行。

3) 安装DDL对象

SQL> grant dba to ogg;

SQL> @marker_setup     说明: 均指定用户ogg

SQL> @ddl_setup        说明: 11.1.1.2需要手动输入 ogg,INITIALSETUP,yes

SQL> @role_setup

SQL> grant GGS_GGSUSER_ROLE to ogg;

SQL> @ddl_enable

SQL> @marker_status.sql

SQL> @?/rdbms/admin/dbmspool.sql

注1: 执行dbmspool包将在数据库中创建DBMS_SHARED_POOL包,之后ddl_pin包需要用到

注2: 执行ddl_pin.sql通过dbms_shared_pool.keep存储过程将DDLReplication相关对象keep在共享池中,以保证这些对象不要RELOAD,提升性能。

SQL> @ddl_pin.sql ogg

2. 修改extract进程的params文件

# 服务器源端配置

# source端修改extract进程的params文件,添加"ddl include all"参数,重启extract进程

1) 停止eora_t1进程

GGSCI (test) 2> stop extract eora

2) 编辑配置文件

GGSCI (test) 3> edit params eora

extract eora

dynamicresolution

setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

userid ogg,password ogg

exttrail /u01/app/oracle/ogg/dirdat/et

ddl include all

ddloptions addtrandata, report

table hr.*;

# 说明:加了两行tranlogoption 与 ddl

3)启动mgr,eora进程

GGSCI (test) 4> start mgr

GGSCI (test) 5> start extract eora

4) 查看eora_t1进程启动情况

GGSCI (test) 6> info extract eora

3. 修改目标端replicat进程的params文件

# 目标服务器配置

# target端修改replicat进程的params文件,

添加"ddlerror default ignore retryop maxretries 3 retrydelay 5" 等参数,重启replicat进程

1) 停止mgr进程

GGSCI (slave) 1> stop mgr

2) 停止repl进程

GGSCI (slave) 1> stop replicat repl

3) 编辑repl配置文件

GGSCI (slave) 1> edit params repl

GGSCI (slave) 2> view params repl

replicat repl

userid ogg, password ogg

assumetargetdefs

reperror default, discard

discardfile /u01/app/oracle/ogg/dirrpt/repl.dsc, append, megabytes 50

dynamicresolution

ddloptions report

ddlerror default ignore retryop maxretries 3 retrydelay 5

ddlerror default discard

ddlerror default ignore retryop

map hr.*, target hr.*;

注: 说明目标端不需要配置DDL include all语句,不然的话,反而会出错。

##Error text [Error code [1031], ORA-01031: insufficient privileges

4) 启动rora_t1进程

GGSCI (slave) 5> info replicat repl

4. 测试

在源端hr用户创建一个表,查看目标端是否成功创建。

create table abc ( id integer , name char(10));

insert into abc values ( 1 , 'abc' );

原文地址:http://blog.51cto.com/11310506/2104103

时间: 2024-10-11 22:58:32

oracle ogg配置的相关文章

oracle ogg 单机环境单向复制搭建

OGG安装 fbo_ggs_Linux_x64_shiphome.zip---------------------同时支持11g和12c 添加用户 useradd -u 1003 -g oinstall -G dba ogg 配置环境变量 export ORACLE_BASE=/u01/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_SID=racdb1; export OGG_HOME

初探ORACLE GOLDENDATE 配置

oracle旗下的GOLDENDATE是用来做数据容灾的一个软件俗称OGG,当然也可以用来支持热备份数据库,和跨平台跨数据库的数据迁移,具体的了解可以通过自行百度.他的概念不是我要在这写的. 准备工作 下载OGG介质并且解压缩安装,修改oracle用户环境变量(因为比较简单就不在这赘述了,如果不会,可自行百度). 因为它主要是基于数据库日志的,所以建议最好开启数据库的归档.并且开启数据库的附加日志,以便更准确的捕获数据库的DML操作. 源端数据库和目标端数据库都要建立关于OGG同步的用户. 源端

PLSQL Develope连接oracle数据库配置

首先我们在讲PLSQL Develope连接oracle数据库配置之前,先讲下如果不用PLSQL Develope连接oracle数据库,那该怎么办,那就是在本机安装oracle数据库,不过这个对于配置渣的笔记本来说是个挑战,而且界面长时间不操作就会卡死,只能强制关闭,用起来非常不方便,如果笔记本配置高,且不想费力用PLSQL,那可以考虑直接安装oracle客户端. 下面我们来看看如何用PLSQ连接oracle. 1.自行百度下载plsql客户端,个人比较喜欢从CSDN上下载,你们随意.下载好后

python操作oracle数据库环境配置

1. 下载安装cx_oracle安装包 Python操作Oracle数据库,首先需要安装cx_Oracle包,下载地址如下:   http://cx-oracle.sourceforge.net/    http://sourceforge.net/projects/cx-oracle/files/5.1.2/ 本系统采用的是CentOS5.x系列的操作系统,python版本是2.4,于是下载支持python2.4版本的安装包. 2. 下载oracle客户端,是oracle官方网站下载. 下载对

[转]Oracle DB 配置备份设置

? 使用Oracle Enterprise Manager 配置备份设置 ? 启用控制文件自动备份 ? 配置备份目标 ? 为磁带目标分配通道 ? 配置备份优化 ? 创建压缩备份 ? 创建加密备份 配置RMAN 的永久性设置 ? RMAN 有预设的默认配置设置. ? 使用CONFIGURE命令可以: – 配置自动通道 – 指定备份保留策略 – 指定要创建的备份副本数 – 将默认备份类型设置为BACKUPSET或COPY – 限制备份片段的大小 – 在备份中排除表空间 – 启用和禁用备份优化 – 配

php5.6下连接Oracle的配置

php5.6下连接Oracle的配置 2014年09月03日  php开发 暂无评论 阅读460次 首先说明下,我是在windows下,系统是win7 64位 这个升级跨度有点大,一直用apache2.2的,apache2.4发布了很久都没去安装 可能是处女座的缘故,不想安装wamp,xamp之类的集成包,他们很早就出了apache2.4,php5.5这些包了 一直想升级php到新一点的版本的,但一直觉得麻烦,懒,不想动,纠结了好久,终于在今天换了apache2.4,php5.6 都是自己下单独

Oracle如何配置监听

很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路. 一.监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求.既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的. 二.本地服务名(Tnsname) Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务

MyEclipse+Weblogic+Oracle+PLSQL配置注意事项

Weblogic配置详情:<Weblogic安装与配置图文详解>Oracle+PLSQL配置详情:<PL/SQL访问远程Oracle服务器(多种方式)>MyEclipse配置:<Eclipse在开发Web项目时的配置优化>,<教你破解MyEclipse到2016年[图文详解]>虽然总结过以上开发环境的配置及优化,但是在使用的过程中依旧出现了或多或少.大大小小的问题,统一记录一下.1.MyEclipse导入工程.File-->Import-->Ge

Oracle数据库配置方式二--使用Net Manager配置数据库

在Oracle安装配置中使用Net Configuration配置了数据库,今天给大家介绍第二种配置方式,Net Manager配置. 先找到我们的Net Manager的快捷方式,如下面截图 这个就是进入Net Manager的界面,点击服务命名,如图, 然后点击最左边的绿色的+ 号 起个网络服务名,就叫 myorcl吧 协议仍然选择TCP/IP,下一步 主机名填:localhost,端口号:1521 要访问的服务名是ORCL,是安装时填写的那个,连接类型如图所示 点击测试,测试一下 测试成功