ogg同步数据原理_OGG实现虚拟机--阿⾥云单向同步全库数据
(DML)--第2部分
概述
前⾯已经介绍了怎么在源端和⽬的端安装ogg软件和配置主进程参数,下⾯介绍下源端数据库的配置和进程组配置。
⼀、配置源端数据库
1、开启归档模式
修改之前 创建参数⽂件做备份
create pfile='/tmp/profile' from spfile;--alter system set log_archive_dest='/arch/orcl' scope=spfile; --修改归档的路径---alter system set db_recovery_file_dest='' sco 2、设置数据库force logging
实际⽣产应⽤中,最好同时打开ORACLE的强制⽇志模式,以防⽌源数据库因直接路径加载忽略redo⽣成⽽导致这部分数据⽆法同步:
SQL> select force_logging from v$database;
SQL> Alter database force logging;
3、开启最⼩附加⽇志(DDL的话好开启数据库级别)
Oracle数据库需要开启归档⽇志,并开启最⼩附加⽇志模式。
SQL> select supplemental_log_data_min from v$database; --查看是否开启了最⼩附加⽇志模式
SQL> alter database add supplemental log data; --开启最⼩附加⽇志模式
千万不要⼩看这步⽇志设置,其实在GoldenGate的配置中,这步是最容易出错的环节。如果开启DDL复制做冗灾备份,最好直接在数据库
级别打开补全⽇志:
SQL> alter database add supplemental log data (primary key,unique,foreign key) columns;
检查⼀下,全是YES就OK了(整个数据库级别补全)
SQL> select supplemental_log_data_min,supplemental_log_data_pk,supplemental_log_data_ui from v$database;
4、源库关闭回收站
SQL> show parameter recyclebin SQL> alter system set recyclebin=off scope=spfile;SQL>shutdown immediate;SQL>startup;SQL> show parameter recycl
5、UNDO设置
alter system set undo_retention=86400;
6、创建goldengate⽤户并且授权
6.1 创建表空间、⽤户、赋予dba权限
create tablespace ogg datafile '/u01/app/oracle/oradata/orcl/ogg01.dbf' size 1024M;create user ggate identified by ggate default tablespace ogg temporar 6.2 运⾏DDL同步需要的脚本(这⼀步因为我是DML同步,所以可以不⽤做,做了也没事)
$GGATE ---> /opt/software/ogg@/opt/software/ogg/marker_setup.sql;@/opt/software/ogg/ddl_setup.sql;@/opt/software/ogg/role_setup.sql;grant GGS_GG
6.3 安装性能优化包。
SQL> @?/rdbms/admin/dbmspool
⼆、配置源端进程组
1、管理进程mgr
1.1、配置源端./GLOBALS
GGSCI (p.hwb) 1> edit params ./GLOBALS--在⽂件中添加以下内容GGSCHEMA ggate --指定的进⾏DDL复制的数据库⽤户--利⽤默认的密钥,⽣成密1.2、 配置管理进程mgr
GGSCI (p.hwb) 1> edit param mgr(粘贴下⾯这段配置)PORT 7809DYNAMICPORTLIST 7820-7830--AUTOSTART ER *--AUTORESTART EXTRACT MANAGER进程参数配置说明:
PORT:指定服务监听端⼝;这⾥以7839为例,默认端⼝为7809DYNAMICPORTLIST:动态端⼝:可以制定最⼤256个可⽤端⼝的动态列表,当指定的端⼝不可⽤时,1.3、启动管理进程
GGSCI (p.hwb) 8> start mgr
Manager started.
oracle11g 创建数据库GGSCI (p.hwb) 9> info all
Program Status Group Lag Time Since Chkpt
MANAGER RUNNING
2、抽取进程extnd
2.1、配置抽取进程extnd
增加EXTRAIL
GGSCI (ogg) 1> add extract extnd, tranlog, begin nowEXTRACT added.
说明:tranlog表⽰要抽取数据库⽇志;
begin now表⽰从当前时间点开始抽取
2.2、修改EXTRAIL参数GGSCI (ogg) 2> edit params extndEXTRACT extndSETENV (NLS_LANG = "AMERICAN_AMERICA.UTF8")SETENV (ORACLE_HOME = "说明:查看参数db_recovery_file_dest知道归档⽇志路径在/u01/app/oracle/flash_recovery_area
添加该extract对应的trail⽂件,⽤来存储抽取的数据。单个⽂件⼤⼩设置为100MB,Megabytes:指定队列⼤⼩,本处设置表⽰100M
GGSCI (ogg) 3> add exttrail ./dirdat/nd, extract extnd, megabytes 100EXTTRAIL added.
3、传输进程dpend
3.1、添加传输进程dpend,配置参数
增加PUMP进程
GGSCI (ogg) 4> add extract dpend, exttrailsource ./dirdat/nd, begin nowEXTRACT added.
3.2、修改PUMP参数
GGSCI (ogg) 1> edit params dpendEXTRACT dpendSETENV (NLS_LANG = "AMERICAN_AMERICA.UTF8")passthruRMTHOST 39.108.76.234, MGRPORT 7809说明:passthru表⽰本进程是⼀个传输进程data pump,⽆需跟数据库交互,只需要搬运数据即可;
因为data pump要传输数据到⽬标,所以需要配置rmthost和rmttrail指定⽬标主机和队列信息
3.3、添加RMTRAILS
GGSCI (ogg) 2> add rmttrail ./dirdat/nd, extract dpend, megabytes 100RMTTRAIL added.
抽取进程和传输进程其实都是EXTRACT进程,也可以配置在⼀个进程完成这两个功能,但是当⽹络传输有问题时,这样抽取也就不能继续
运⾏了,所以推荐分开配置为两个进程;
EXTRACT进程参数配置说明:
SETENV:配置系统环境变量USERID/ PASSWORD:指定OGG连接数据库的⽤户名和密码,这⾥使⽤3.4部分中创建的数据库⽤户OGG;COMMENT:注释⾏,也可以后⾯会分享下⽬的端ogg的配置和进程组配置,感兴趣的朋友可以关注下!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论