Golden Gate(简称OGG)提供异构环境下交易数据的实时捕捉、变换、投递。
1、OGG原理
OGG是一种基于日志的结构化数据复制软件,通过捕获源数据库online redo log (在线重做日志)或archive log(归档日志)获得数据变化,形成tail(队列文件 ),再将这些tail通过网络协议,传输到目标数据库,目标端通过解析,插入至目标端数据库,从而实现源端与目标端数据同步。
2、OGG的特性:
1)、对生产系统影响小:实时读取交易日志,以低资源占用实现大交易量数据实时复制;
2)、以交易为单位复制,保证交易一致性:只同步已提交的数据;
3)、高性能,智能的交易重组和 *** 作合并,使用数据库本地接口访问,并行处理体系,灵活的拓扑结构:支持一对一、一对多、多对一、多对多和双向复制等。
3、工作机制
扩展资料
1)、每个GoldenGate实例可支持5000个Extract和Replicat进程;
2)、每个Extract和Replicat需要25-50M或更多的内存,这取决于系统的事物量和事物大小;
3)、GoldenGate实际使用的物理内存由 *** 作系统控制和管理,GoladenGate 缓存管理器利用 *** 作系统内存管理功能的优势,确保GoladenGate进程持续和有效的工作;
参考资料
Oracle官网-Golden Gate
1.在主DB服务器上建立复制帐号。create user ‘repl’@ip 段 identified by ‘pwd’;
create user repl@'192.168.1.%' identified by 'repl'
授权
grant replication slave on *.* to ‘repl’@ip 段;
grant replication slave on *.* to repl@'192.168.1.%'
2.配置主数据库服务器。
bin_log=mysql-bin
启用二进制日志,并指定日志名字。
server_id =100
需要指定serverid,在复制集群中必须唯一。
3.从服务器配置。
bin_log=mysql-bin
server_id=101
# 中继日志
relay_log=mysql-relay-bin
# 可选参数,是否把中继日志记录到当前的二进制日志中,
#如果需要把当前从服务器,作为其他从服务器的复制源,则需要配置。
log_slave_update=on
# 安全配置参数,防止从写入
read_only=on
4.初始化从服务器的数据
mysqldump ,此方法需要加锁。
参数:
–single-transaction :保证数据事务一致性,需要对数据库加锁,会造成阻塞。
-master-data=2 : 记录主库二进制文件的偏移量信息。
xtrabackup –slave-info 热备工具。
使用innodb存储引擎是不会阻塞。
mysqldump -uroot -p -P3308 --single-transaction --master-data --triggers --routines --all-databases >>all.sql
从服务器导入数据
mysql -uroot -p -P3309 <all.sql
5.启动复制链路
需要在从服务器上 *** 作。
change master to MASTER_HOST=’master_host_ip’,
MASTER_USER=’repl’,
MASTER_PASSWORD=’PWD’,
MASTER_LOG_FILE=’MYSQL_LOG_FILE_NAME’,
MASTER_LOG_POS=4
change master to master_host='localhost',
->master_user='repl',
->master_password='repl',
->MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=2162
这段可以在导出的文件中查找。
show slave status \G
查看复制链路状态。
启动复制链路
start slave
使用show processlist 查看服务线程。
一个IO线程,一个SQL线程。
主服务器查看
启动了一个dump线程。
6.验证复制效果:
在节点A执行。
1.创建一个表。
2.插入两条记录。
在从服务器上查询。
发现数据同步了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)