如何在11gR2 RAC上配置GoldenGate
Oracle 11gR2 RAC和GoldenGate都是Oracle比较热门的产品,经过简单的学习和阅读文档,配置单节点的GoldenGate进行数据的复制相信
Oracle 11gR2 RAC和GoldenGate都是Oracle比较热门的产品,经过简单的学习和阅读文档,配置单节点的GoldenGate进行数据的复制相信不是什么太有难度的事情,但是对于利用GoldenGate进行RAC系统到RAC系统的复制,还是有些配置的技巧和策略设置的,前阵子就遇到一个这样一个问题:假设源和目标分别是两节点的RAC系统,如何保证目标部分节点失效的时候replicate会自动切换? 其实如果了解GG的工作机制和RAC的资源管理,问题的解决就十分清晰了。
今天就从系统的介绍下11gR2 RAC上OGG (Oracle GoldenGate的简称,下同)的完整配置步骤,,并简单谈谈如何解决上面这个场景的问题。
第一阶段:下载OGG(可以参考之前的单节点的复制例子,不再赘述)
OGG的下载地址
第二阶段:OGG的安装
1)登录源端的RAC系统中的任一个节点,并在ACFS上建立一个供OGG使用的共享目录,比如叫/cloudfs/goldengate
2)解压OGG的安装包到/cloudfs/goldengate目录
3) 设置好OGG工作的环境变量,比如
export LIBRARY_PATH=/cloudfs/goldengate:$ORACLE_HOME/lib:$LD_LIBRARY_PATH
4)启动ggsci并创建目录,然后进行必要的设置,启动manager
$ ggsci
GGSCI > create subdirs
(optional, support for DDL/Sequence)
Create and edit the parameter file for GLOBALS:
GGSCI > EDIT PARAMS ./GLOBALS
Add this line to GLOBALS parameter file:
GGSCHEMA ggs
NOTE: 'ggs' is the example OGG user and will be used in the rest of this document.
GGSCI > EDIT PARAMS mgr
Add the following lines to Manager parameter file:
PORT 7809
AUTOSTART ER *
AUTORESTART ER *
GGSCI > START mgr
5)在目标端重复上面的步骤1-4,注意目录名的使用,我们在目标端使用/mycloudfs/goldengate以示区分。
第三阶段:源和目标RAC数据库准备步骤
1) Create OGG user 'ggs' on both the source and target database, connect to database using SQL*Plus as SYSDBA:
SQL> CREATE USER ggs IDENTIFIED BY ggs;
SQL> GRANT CONNECT,RESOURCE,DBA TO ggs;
2)(optional, add Oracle sequence replication support) On both source and target database, go to OGG directory and run this SQL, enter OGG user 'ggs' as prompted:
SQL> @sequence.sql
3) Enable supplemental logging on source ODA database:
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
SQL> ALTER SYSTEM SWITCH LOGFILE;
(Optional) Add Oracle DDL replication support
4) On the source system, go to OGG directory, connect to database using SQL*Plus as SYSDBA.
SQL> GRANT EXECUTE ON utl_file TO ggs;
5 On the source system, run the following script, provide OGG user 'ggs' as prompted.
SQL> @marker_setup.sql
SQL> @ddl_setup.sql
NOTE: enter 'INITIALSETUP' when prompted for the mode of installation.
SQL> @role_setup.sql
SQL> @ddl_enable.sql
SQL> @ddl_pin ggs
NOTE: 'ggs' here is the OGG user.
第四阶段:配置源端的extract group
1)发出以下命令登录数据库。
GGSCI> DBLOGIN USERID ggs, PASSWORD ggs
2) 创建主提取组 'myext':
GGSCI > ADD EXTRACT myext、TRANLOG、BEGIN NOW、THREADS 2
注意:THREADS 值是 RAC 实例的数量。
3)创建本地路径。主 Extract 写入该路径,数据泵 Extract 读取它。
GGSCI > ADD EXTTRAIL /cloudfs/goldengate/dirdat/et, EXTRACT myext
注意:“et”是提取“myext”的示例跟踪标识符。
4)创建并编辑Extract 'myext'的参数文件:
GGSCI >编辑 PARAMS myext
将以下行添加到此参数文件:
EXTRACT myext
SETENV (ORACLE_HOME = "/u01/app/oracle/product/11.2.0/dbhome_1")
USERID ggs@ggdb,密码 ggs
TRANLOGOPTIONS DBLOGREADER
THREADOPTIONS MAXCOMMITPROPAGATIONDELAY 20000
EXTTRAIL /cloudfs/goldengate/dirdat/et
动态分辨率
DDL 包括所有
表 hr.*;
注 1:确保 SQL*Net 连接字符串“ggdb”有效。
注 2:“hr”是将同步到目标系统的示例架构。
第五阶段:在源端配置数据泵提取组
1)创建数据泵组“mypump”:
GGSCI > ADD EXTRACT mypump, EXTTRAILSOURCE /cloudfs/goldengate/dirdat/et, BEGIN now
2)指定将在目标系统上创建的远程跟踪。
GGSCI > ADD RMTTRAIL /mycloudfs/goldengate/dirdat/rt, EXTRACT mypump
注意:“rt”是提取“mypump”的示例跟踪标识符,并在此处使用目标 OGG 目录“/mycloudfs/goldengate”。
3)创建并编辑Extract 'mypump'的参数文件:
GGSCI >编辑参数 mypump
将以下行添加到此参数文件:
EXTRACT mypump
RMTHOST rac12box-scan, MGRPORT 7809
RMTTRAIL /mycloudfs/goldengate/dirdat/rt
PASSTHRU
表 hr.*;
注意:RMTHOST 是目标主机。如果您还希望在目标系统上设置 HA,请将目标系统的 VIP 指定为 RMTHOST,
否则只需使用目标系统的 IP 地址/主机名。
4)开始提取'myext'和'mypump':
GGSCI >开始我的ext
GGSCI>启动mypump
5)检查OGG进程的状态:
GGSCI >全部信息
第六阶段:在目标端配置复制组
1) 创建一个 Replicat 组 'rept',从 Extract 'mypump' 读取路径:
GGSCI > ADD REPLICAT rept, EXTTRAIL /mycloudfs/goldengate/dirdat/rt, nodbcheckpoint
2)创建并编辑 Replicat 'rept' 的参数文件:
GGSCI >编辑参数rept
将以下行添加到此参数文件,假设与源ODA环境中相同的ORACLE_HOME和目标数据库'ggdb':
REPLICATrept
SETENV (ORACLE_HOME = "/u01/app /oracle/product/11.2.0/dbhome_1")
用户 ID ggs@ggdb,密码 ggs
ASSUMETARGETDEFS
HANDLECOLLISIONS
重复错误(默认,丢弃)
DDLERROR 默认丢弃
DDLOPTIONS 报告
DISCARDFILE /mycloudfs/goldengate/repsz.dsc,append,兆字节 100
地图 hr.*,目标 hr.*;
注意:确保 SQL*Net 连接字符串“ggdb”有效。
3)开始复制 'rept':
GGSCI >开始rept
4)检查OGG进程的状态:
GGSCI >全部信息
第七阶段:验证Goldengate功能
1) 以hr用户登录源数据库,进行一些简单的DDL和DML操作。
2)检查源系统上的Extract是否已捕获数据更改:
GGSCI>统计 myext
GGSCI>统计 mypump
3)以oracle用户登录目标系统,检查Replicat 'rept'的状态:
GGSCI>统计报告
4)比较输出并确保数据变化同步。
5)(可选,用于进一步的 HA 设置)在源系统上停止 OGG:
GGSCI>停止我的分机
GGSCI>停止我的泵
GGSCI>停止经理
6)(可选,用于进一步的 HA 设置)在目标系统上停止 OGG:
GGSCI>停止报告
GGSCI>停止经理
关于HA的设置,请继续关注下篇。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

全表扫描在MySQL中可能比使用索引更快,具体情况包括:1)数据量较小时;2)查询返回大量数据时;3)索引列不具备高选择性时;4)复杂查询时。通过分析查询计划、优化索引、避免过度索引和定期维护表,可以在实际应用中做出最优选择。

InnoDB的全文搜索功能非常强大,能够显着提高数据库查询效率和处理大量文本数据的能力。 1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。 2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。 3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

是的,可以在 Windows 7 上安装 MySQL,虽然微软已停止支持 Windows 7,但 MySQL 仍兼容它。不过,安装过程中需要注意以下几点:下载适用于 Windows 的 MySQL 安装程序。选择合适的 MySQL 版本(社区版或企业版)。安装过程中选择适当的安装目录和字符集。设置 root 用户密码,并妥善保管。连接数据库进行测试。注意 Windows 7 上的兼容性问题和安全性问题,建议升级到受支持的操作系统。

聚集索引和非聚集索引的区别在于:1.聚集索引将数据行存储在索引结构中,适合按主键查询和范围查询。2.非聚集索引存储索引键值和数据行的指针,适用于非主键列查询。

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

MySQL支持四种索引类型:B-Tree、Hash、Full-text和Spatial。1.B-Tree索引适用于等值查找、范围查询和排序。2.Hash索引适用于等值查找,但不支持范围查询和排序。3.Full-text索引用于全文搜索,适合处理大量文本数据。4.Spatial索引用于地理空间数据查询,适用于GIS应用。

MySQL 数据库中,用户和数据库的关系通过权限和表定义。用户拥有用户名和密码,用于访问数据库。权限通过 GRANT 命令授予,而表由 CREATE TABLE 命令创建。要建立用户和数据库之间的关系,需创建数据库、创建用户,然后授予权限。

MySQL 和 MariaDB 可以共存,但需要谨慎配置。关键在于为每个数据库分配不同的端口号和数据目录,并调整内存分配和缓存大小等参数。连接池、应用程序配置和版本差异也需要考虑,需要仔细测试和规划以避免陷阱。在资源有限的情况下,同时运行两个数据库可能会导致性能问题。
