oracle ogg 部署资料,oracle ogg主从部署方式.txt

######oracle单机安装:

https://www.cnblogs.com/sunseine/p/5630213.html

https://blog.csdn.net/tangwei0928/article/details/91999527 主要看这个

https://blog.csdn.net/niehida/article/details/90230154 这个辅助

######oracle ogg安装:

https://www.jianshu.com/p/276fede48835

https://blog.51cto.com/pimg2005/2133820?source=dra

https://blog.csdn.net/u012414590/article/details/66477898

#######################################################

源数据库

Manager进程:GoldenGate的控制进程,负责启动,监控和管理其他进程

Extract进程:抽取进程,负责从源数据库中捕获修改的数据,然后保存为本地的tail文件

Pump进程:传输进程,负责从本地tial文件中传输到目标数据库上

目标数据库

Manager进程:同样需要配置一个 Manager进程

Replicat进程:应用进程,负责把解析传输过来的tail文件,把修改应用到本地数据库里面

dirchk:存放由extract抽取进程和replicat复制进程创建的checkpoint(检查点)文件;

dirdat:存放extract进程创建的抽取文件,等待被复制;

dirdef:存放生成的源端或目标端数据定义文件;

dirrpt:进程报告文件,进程挂查断时,可以查看此文件,找出错误报告,也可在./ggsci下,用view report查看错误日志;

dirprm:存放配置参数的文件,修改参数时,可以直接修改本文件,也可以在./ggsci下,用edit param 修改;

dirtmp:临时文件目录,用于长事务处理;

#######################################################

sqlplus sys/taozuping@192.168.3.2:1521/orcl as sysdba 测试主服务器

sqlplus sys/taozuping@192.168.3.4:1521/oggtest as sysdba 测试从服务器

##设置oracle的日志模式为:归档模式

SQL> archive log list;

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database open;

select log_mode from v$database;

##在源端库中打开force logging

select force_logging from v$database;

alter database force logging;

##在源端库中打开supplemental log

select supplemental_log_data_min from v$database;

alter database add supplemental log data;

SQL> alter database add supplemental log data(primary key, unique index) columns;

alter system switch logfile;

SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_

DATA_UI FROM V$DATABASE;

##在源端库中切换日志,使更改生效

alter system switch logfile;

select supplemental_log_data_min from v$database;

##在源端库中关闭回收站

show parameter recyclebin

alter system set recyclebin=off;

#alter system set recyclebin=off deferred;

##创建goldengate管理用户

SQL> create user ggs identified by 123456 default tablespace users temporary tablespace temp; #这里临时表空间,不建议

SQL> grant connect ,resource,unlimited tablespace to ggs;

SQL> grant execute on utl_file to ggs;

SQL> grant select any dictionary,select any table to ggs;

SQL> grant alter any table to ggs;

SQL> grant flashback any table to ggs;

SQL> grant execute on dbms_flashback to ggs;

SQL> grant execute on utl_file to ggs;

grant dba to ggs; 简便的话直接赋予dba权限

##ddl命令需要复制的话,需要做以下操作

将D:\app\Administrator\ogg目录下的category.dll和ggsmsg.dll文件拷贝到SYSTEM32目录中

手工在ogg目录下创建discard文件夹

SQL> create tablespace ggs datafile 'C:\app\Administrator\oradata\orcl\ggs_01.dbf' size 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED;

create TABLESPACE ggs DATAFILE '/u01/app/oracle/oradata/TSH1/users02.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED; #建议设置表空间

SQL> alter user ggs default tablespace ggs;

为新创建的ogg用户执行配置脚本。在ogg的安装目录下使用sys登陆sqlplus,然后执行markker_setup.sql,ddl_setup.sql,role_setup.sql,ddl_enable.sql。

SQL>@ marker_setup

SQL>@ddl_setup

SQL>@role_setup

SQL> grant GGS_GGSUSER_ROLE to ogg;

SQL> @ddl_enable

创建测试表:demo 这个表直接做成业务用户的库

SQL> create table ggs.demo(id number primary key,ename varchar2(10));

###########################################################

oracle goldengate安装

安装完毕之后,增加系统环境变量;

ORACLE_HOME=D:\oracle\product\11.2.0\dbhome_1 #这个添加到环境变量

ORACLE_SID=ORCL #针对有多个oracle数据库实例的情况,这里进行手工配置

##oracle goldengate源端

在源端服务器安装的OGG根目录按住SHift+右键或cmd进入OGG根目录的命令面板

ggsci.exe

edit params ./GLOBALS

MGRSERVNAME GGMGR

#GGSCHEMA ggs #指定的进行DDL复制的数据库用户

#CHECKPOINTTABLE ggs.checkpoint

#GGSCI (HWORATEST) 7> add checkpointtable ggs.checkpoint

install addservice

create subdirs 自动创建文件夹

GGSCI (Win10) 1> dblogin userid ggs,password 123456

Successfully logged into database. 登录ggs账号

##添加表级的trandata,输入add trandata ggs.demo

##注:表名可以使用通配符,如add trandata ggs.*

GGSCI (Win10) 1> add trandata ggs.demo

Logging of supplemental redo data enabled for table GGS.DEMO.

TRANDATA for scheduling columns has been added on table 'GGS.DEMO'.

TRANDATA for instantiation CSN has been added on table 'GGS.DEMO'.

GGSCI (Win10) 1> edit params mgr 配置mgr进程

port 7500 #manager进程通信端口

dynamicportlist 7501-7505 #表示manager进程可以为通信分配的动态端口

autorestart extract *,waitminutes 2,retries 5 #AUTORESTART:自动重启Extract进程,重启次数为5次,每次间隔2s,如果不成功就放弃

##autostart extract *

##autostart er *

##STARTUPVALIDATIONDELAY 5 启动每组资源是延时5s

##PURGEOLDEXTRACTS ./dirdat/*,USECHECKPOINTS,MINKEEPDAYS 2(自动清理过期的trail文件,会保留2天)

##PURGEDDLHISTORY MINKEEPDAYS 11,MAXKEEPDAYS 14 --DDL 配置时需要的参数,此参数用于维护GGS_DDL_HIST表,默认清除1小时没有变更过的记录。此处为GGS_DDL_HIST表记录保存7-10天内没有变更过的记录。

##PURGEMARKERHISTORY MINKEEPDAYS 11, MAXKEEPDAYS 14 --DDL配置时需要的参数,用于维护GGS_MARKER的记录数。默认为超过1小时的记录没有变更即删除。此处的参数含义为7-10天内的记录没有变更,就删除该记录,每30分钟检查并执行一次。

##LAGREPORTHOURS 1 统一设定1个小时检查各进程延时情况

##LAGINFOMINUTES 30 表示进程复制延时超时

##LAGCRITICALMINUTES 45 超过45分钟写入一条critical级别的信息

start mgr 启动mgr进程

GGSCI (Win10) 1> edit params eora 配置extract抽取进程

extract eora

setenv (ORACLE_SID="orcl")

#setenv (NLS_LANG = "AMERICAN_AMERICA.ZHS16GBK" ) 必须设置

#setenv (ORACLE_HOME="/u01/app/oracle/11.2.0/db_1")

ddl include all

userid ggs,password 123456

exttrail C:\app\Administrator\product\11.2.0\ogg12\install\sirdat\et #本地tail文件目录

dynamicresolution #动态解析源端的表名

table ggs.*;

table test.*;

##DDL &

#INCLUDE MAPPED OBJTYPE 'TABLE' &

#INCLUDE MAPPED OBJTYPE 'INDEX' &

#INCLUDE MAPPED OBJTYPE 'SEQUENCE' &

#INCLUDE MAPPED OBJTYPE 'VIEW' &

#INCLUDE MAPPED OBJTYPE 'PROCEDURE' &

#INCLUDE MAPPED OBJTYPE 'FUNCTION' &

#INCLUDE MAPPED OBJTYPE 'PACKAGE' &

#EXCLUDE OPTYPE COMMENT

#DDLOPTIONS addtrandata REPORT

#--匹配table/index/sequence/view/procedure/function/package对象进行DDL复制

#此处参数为按对象类型进行匹配复制,还可以配合schema,操作类型进行匹配。需要oracle与应用确认范围后敲定

#DISCARDFILE ./dirrpt/extxx.dsc,APPEND,MEGABYTES 1024

#--必选参数

#--配置建议:该参数的路径必须为相对路径,该参数的值设置为1024M

#--discard文件用于记录goldengate不能处理的记录信息。该文件可以采用purge(删除覆盖)与append(追加)方式。

#--此处参数设置了discard文件的路径与文件名./dirrpt/extxx,采用追加方式保存,文件大小最大为1024M。当文件大小超过1024M时,抽取进程就会abend,一般配合DISCARDROLLOVER使用,这样保证不会由于超过文件大小导致进程abend

DBOPTIONS ALLOWUNUSEDCOLUMN

--必选参数;

--配置建议:在生产端库表中存在unused列时,需要配置该参数;

--用于阻止抽取进程抽取数据时由于表含有unused列而导致进程abend。即使使用该参数,抽取进程抽取到unused列时也会向日志文件记录一条警告信息

#注:表名可以使用通配符,如table ggs.*

GGSCI (Win10) 1> add extract eora,tranlog,begin now

GGSCI (Win10) 1> add exttrail C:\app\Administrator\product\11.2.0\ogg12\install\sirdat\et,extract eora

#eora为进程名,一般为ext开头表示是extract进程,后面可以加1-2位字符标识;begin可以是now也可以是指定的时间

#为eora进程配置本地队列,本地的trail文件以lc开头

GGSCI (Win10) 1> start eora

GGSCI (Win10) 1> edit params pump_so 配置pump_so进程

extract Pump_so

passthru

--表示传输进程直接跟抽取进程交互,而不再和数据库进行交互,减少数据库资源的利用。

Userid ggs,password 123456

rmthost 192.168.3.4, mgrport 7500 #目标数据库的ip和端口;端口为manager中配置端口

#rmthost 192.168.3.105, mgrport 7809, compress

rmttrail C:\app\Administrator\product\12.2.0\oggcore_1\install\dirdat\et #目标数据库tail文件放置目录,注意不要错这里

Table ggs.*;

Table test.*;

GGSCI (Win10) 1> add extract pump_so,exttrailsource C:\app\Administrator\product\11.2.0\ogg12\install\sirdat\et -- 注意`exttrailsource`的地址为`源端`服务器的目录

GGSCI (Win10) 1> add rmttrail C:\app\Administrator\product\12.2.0\oggcore_1\install\dirdat\et,extract pump_so -- 注意`rmttrail`的地址为`目标端`服务器的目录

#添加投递进程pump_so,将本地的./dirdat/lc文件传送到目标端

#为pump_so进程配置远程队列,队列的位置是源端的主机目录,传送到目标断后命名以rc开头。

> start mgr

> start eora

> start pump_so

> stop .. //停止服务

####oracle goldengate目标端

在服务器安装的OGG根目录按住SHift+右键或cmd进入OGG根目录的命令面板

ggsci.exe

edit params ./GLOBALS

MGRSERVNAME GGMGR

install addservice

create subdirs 自动创建文件夹

##这里登陆之前设置一下ORACLE_SID=备份数据库实例名字

GGSCI (Win10) 1> dblogin userid ggs,password 123456

Successfully logged into database. 登录ggs账号

##添加表级的trandata,输入add trandata ggs.demo

##注:表名可以使用通配符,如add trandata ggs.*

GGSCI (Win10) 1> add trandata ggs.demo

Logging of supplemental redo data enabled for table GGS.DEMO.

TRANDATA for scheduling columns has been added on table 'GGS.DEMO'.

TRANDATA for instantiation CSN has been added on table 'GGS.DEMO'.

GGSCI (Win10) 1> edit params ./GLOBALS

MGRSERVNAME GGMGR

#GGSCHEMA ggs #添加checkpoint表,checkpoint表的作用是为了从异常失败场景中恢复数据

checkpointtable ggs.checkpoint

ALLOWOUTPUTDIR C:\app\Administrator\product\12.2.0\oggcore_1\install\dirdat

GGSCI (Win10) 1> dblogin userid ggs,password 123456

GGSCI (Win10) 1> add checkpointtable ggs.checkpoint

GGSCI (Win10) 1> edit params mgr 配置mgr进程

port 7500

dynamicportlist 7501-7505

autostart er *

autorestart extract *,waitminutes 2,retries 5

lagreporthours 1

laginfominutes 3

lagcriticalminutes 5

purgeoldextracts C:\app\Administrator\product\12.2.0\oggcore_1\install\dirdat\et,usecheckpoints,minkeepdays 3

start mgr 启动mgr进程

GGSCI (Win10) 1> edit params repl 配置复制进程

replicat repl

setenv (ORACLE_SID="oggtest")

ddl include all

ddlerror default ignore retryop maxretries 3 retrydelay 5

#ddloptions report

userid ggs,password 123456

assumetargetdefs #说明源数据库和目标数据库有相同的表定义

reperror default,discard #遇到复制错误默认行为记录错误并继续处理

discardfile ./dirrpt/repl.dsc,append,megabytes 50

dynamicresolution #动态解析对象名称,加快解析效率

MAP ggs.*, TARGET ggs.*

RESOLVECONFLICT (UPDATEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (INSERTROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (DELETEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (UPDATEROWMISSING, (DEFAULT, IGNORE))

RESOLVECONFLICT (DELETEROWMISSING, (DEFAULT, IGNORE));

注:表名可以使用通配符,如table ggs.*

GGSCI (Win10) 1> add replicat repl,exttrail C:\app\Administrator\product\12.2.0\oggcore_1\install\dirdat\et,checkpointtable ggs.checkpoint

GGSCI (Win10) 1> start repl

##多个用户增加

GGSCI (Win10) 1> edit params repl1 配置复制进程

replicat repl1

setenv (ORACLE_SID="oggtest")

ddl include all

ddlerror default ignore retryop maxretries 3 retrydelay 5

userid ggs,password 123456

assumetargetdefs #说明源数据库和目标数据库有相同的表定义

reperror default,discard #遇到复制错误默认行为记录错误并继续处理

discardfile ./dirrpt/repl1.dsc,append,megabytes 50

dynamicresolution #动态解析对象名称,加快解析效率

MAP test.*, TARGET test.*

RESOLVECONFLICT (UPDATEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (INSERTROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (DELETEROWEXISTS, (DEFAULT, OVERWRITE))

RESOLVECONFLICT (UPDATEROWMISSING, (DEFAULT, IGNORE))

RESOLVECONFLICT (DELETEROWMISSING, (DEFAULT, IGNORE));

注:表名可以使用通配符,如table test.*

GGSCI (Win10) 1> add replicat repl1,exttrail C:\app\Administrator\product\12.2.0\oggcore_1\install\dirdat\et,checkpointtable ggs.checkpoint

GGSCI (Win10) 1> start repl1

> start mgr

> start repl

> stop .. //停止服务

###############################################################

goldengate测试

info all 查看各个进程启动情况

info 进程名,detail 查看进程详细情况,包括trail,参数日志的位置

view params 进程名 查看进程的参数配置

info 进程名 showch 命令可以查看详细的关于checkpoint的信息,用于查看goldengate进程处理过的事务记录

其中比较重要的是Extract进程的recovery checkpoint,它表示源数据中最早的未被处理的事务;通过recoverycheckpoint可以查看到该事务的redolog位于哪个日志文件以及该日志文件的序列号。所有序列号比它大的日志文件,均需要保留

lag 进程名 可以查看那个详细的延时信息

stats 进程名 在源端插入数据后查看进程的信息

view report 进程名 查看进程报错情况

##如果出现checkpointtable搞错的情况下,重新删除ogg各个进程,删重建

delete 进程名

delete checkpointtable ggs.checkpoint

add checkpointtable ggs.checkpoint

##https://blog.csdn.net/huoshuyinhua/article/details/79467606 新增表需要同步下 add trandata命令操作

info trandata test.*

add trandata test.*

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值