本文档详细介绍Oracle GoldenGate的安装与配置步骤,风哥教程参考Oracle官方文档GoldenGate部分。更多视频教程www.fgedu.net.cn
Part01-基础概念与理论知识
1.1 安装前准备
在安装Oracle GoldenGate之前,需要进行一系列准备工作,确保安装过程顺利进行。学习交流加群风哥微信: itpux-com
准备工作包括:
- 检查硬件和软件要求
- 准备安装介质
- 配置操作系统参数
- 创建必要的用户和组
- 配置网络连接
1.2 安装步骤
Oracle GoldenGate的安装步骤:
- 解压安装包
- 运行安装程序
- 选择安装类型
- 指定安装位置
- 完成安装
1.3 配置步骤
Oracle GoldenGate的配置步骤:
- 创建子目录
- 配置Manager进程
- 配置Extract进程
- 配置Data Pump进程(可选)
- 配置Replicat进程
- 启动所有进程
Part02-生产环境规划与建议
2.1 硬件要求
硬件要求:
- CPU:至少2个CPU核心
- 内存:至少4GB RAM
- 存储:至少50GB可用空间
- 网络:至少1Gbps带宽
2.2 软件要求
软件要求:
- 操作系统:Oracle Linux 7.9+/RHEL 7.9+/Windows Server 2016+
- Oracle数据库:11gR2或更高版本
- GoldenGate:19c或更高版本
- Java:JRE 8或更高版本(用于管理界面)
2.3 网络要求
网络要求:
- 源和目标系统之间的网络连接稳定
- 开放必要的端口(默认7809)
- 网络带宽足够,根据数据变更量确定
- 网络延迟尽量低,建议使用专线连接
Part03-生产环境项目实施方案
GoldenGate安装与配置的实施步骤:
- 准备安装环境
- 安装GoldenGate软件
- 配置源数据库
- 配置目标数据库
- 配置GoldenGate进程
- 启动和测试
- 部署监控
Part04-生产案例与实战讲解
4.1 准备安装环境
# 检查操作系统版本
cat /etc/redhat-release
# 输出日志
Red Hat Enterprise Linux Server release 7.9 (Maipo)
# 检查内存
free -h
# 输出日志
total used free shared buff/cache available
Mem: 8G 1.5G 5.5G 100M 1.0G 6.0G
Swap: 4G 0B 4G
# 检查存储空间
df -h
# 输出日志
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 10G 35G 23% /
/dev/sdb1 200G 50G 140G 27% /oracle
# 创建GoldenGate用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba ggsuser
passwd ggsuser
# 输出日志
Changing password for user ggsuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
cat /etc/redhat-release
# 输出日志
Red Hat Enterprise Linux Server release 7.9 (Maipo)
# 检查内存
free -h
# 输出日志
total used free shared buff/cache available
Mem: 8G 1.5G 5.5G 100M 1.0G 6.0G
Swap: 4G 0B 4G
# 检查存储空间
df -h
# 输出日志
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 10G 35G 23% /
/dev/sdb1 200G 50G 140G 27% /oracle
# 创建GoldenGate用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba ggsuser
passwd ggsuser
# 输出日志
Changing password for user ggsuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
4.2 安装GoldenGate软件
# 下载GoldenGate安装包
# 从Oracle官网下载适合的版本
# 解压安装包
su – ggsuser
unzip fbo_ggs_Linux_x64_shiphome.zip
# 运行安装程序
cd fbo_ggs_Linux_x64_shiphome/Disk1
./runInstaller
# 按照安装向导完成安装
# 选择安装类型:企业版
# 选择安装位置:/oracle/gg19
# 完成安装
# 验证安装
ls -la /oracle/gg19
# 输出日志
total 16
drwxr-xr-x 9 ggsuser oinstall 4096 Apr 1 10:00 .
drwxr-xr-x 10 ggsuser oinstall 4096 Apr 1 09:50 ..
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 bin
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 cfg
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 lib
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 util
-rw-r–r– 1 ggsuser oinstall 182 Apr 1 10:00 README.txt
# 从Oracle官网下载适合的版本
# 解压安装包
su – ggsuser
unzip fbo_ggs_Linux_x64_shiphome.zip
# 运行安装程序
cd fbo_ggs_Linux_x64_shiphome/Disk1
./runInstaller
# 按照安装向导完成安装
# 选择安装类型:企业版
# 选择安装位置:/oracle/gg19
# 完成安装
# 验证安装
ls -la /oracle/gg19
# 输出日志
total 16
drwxr-xr-x 9 ggsuser oinstall 4096 Apr 1 10:00 .
drwxr-xr-x 10 ggsuser oinstall 4096 Apr 1 09:50 ..
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 bin
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 cfg
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 lib
drwxr-xr-x 2 ggsuser oinstall 4096 Apr 1 10:00 util
-rw-r–r– 1 ggsuser oinstall 182 Apr 1 10:00 README.txt
4.3 配置源数据库
# 配置源数据库
sqlplus / as sysdba
# 启用归档模式
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=’LOCATION=/archivelog’ SCOPE=spfile;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
# 输出日志
System altered.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 1610612736 bytes
Fixed Size 8896784 bytes
Variable Size 536870912 bytes
Database Buffers 1073741824 bytes
Redo Buffers 7864320 bytes
Database mounted.
Database altered.
Database altered.
# 启用补充日志
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;
# 输出日志
Database altered.
Database altered.
# 创建GoldenGate用户
CREATE USER ggsadmin IDENTIFIED BY ggsadmin DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT CONNECT, RESOURCE, DBA TO ggsadmin;
# 输出日志
User created.
Grant succeeded.
sqlplus / as sysdba
# 启用归档模式
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=’LOCATION=/archivelog’ SCOPE=spfile;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
# 输出日志
System altered.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 1610612736 bytes
Fixed Size 8896784 bytes
Variable Size 536870912 bytes
Database Buffers 1073741824 bytes
Redo Buffers 7864320 bytes
Database mounted.
Database altered.
Database altered.
# 启用补充日志
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE FORCE LOGGING;
# 输出日志
Database altered.
Database altered.
# 创建GoldenGate用户
CREATE USER ggsadmin IDENTIFIED BY ggsadmin DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT CONNECT, RESOURCE, DBA TO ggsadmin;
# 输出日志
User created.
Grant succeeded.
4.4 配置目标数据库
# 配置目标数据库
sqlplus / as sysdba
# 创建GoldenGate用户
CREATE USER ggsadmin IDENTIFIED BY ggsadmin DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT CONNECT, RESOURCE, DBA TO ggsadmin;
# 输出日志
User created.
Grant succeeded.
# 创建测试表
CREATE TABLE fgedu.emp (
empno NUMBER(4),
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2)
);
# 输出日志
Table created.
sqlplus / as sysdba
# 创建GoldenGate用户
CREATE USER ggsadmin IDENTIFIED BY ggsadmin DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
GRANT CONNECT, RESOURCE, DBA TO ggsadmin;
# 输出日志
User created.
Grant succeeded.
# 创建测试表
CREATE TABLE fgedu.emp (
empno NUMBER(4),
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2)
);
# 输出日志
Table created.
4.5 配置GoldenGate
# 配置GoldenGate
su – ggsuser
cd /oracle/gg19
./ggsci
# 输出日志
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.0 OGGCORE_19.1.0.0.0_PLATFORMS_190524.1007
Linux, x64, 64bit (optimized), Oracle 19c on May 24 2019 10:16:11
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (fgedu.net.cn) 1>
# 创建子目录
CREATE SUBDIRS;
# 输出日志
Creating subdirectories under current directory /oracle/gg19
Parameter file /oracle/gg19/dirprm:
Report file /oracle/gg19/dirrpt:
Checkpoint file /oracle/gg19/dirchk:
Process status files /oracle/gg19/dirpcs:
SQL script files /oracle/gg19/dirsql:
Database definitions files /oracle/gg19/dirdef:
Extract data files /oracle/gg19/dirdat:
Temporary files /oracle/gg19/dirtmp:
Credential store files /oracle/gg19/dircrd:
Masterkey wallet files /oracle/gg19/dirwlt:
Dump files /oracle/gg19/dirdmp:
su – ggsuser
cd /oracle/gg19
./ggsci
# 输出日志
Oracle GoldenGate Command Interpreter for Oracle
Version 19.1.0.0.0 OGGCORE_19.1.0.0.0_PLATFORMS_190524.1007
Linux, x64, 64bit (optimized), Oracle 19c on May 24 2019 10:16:11
Copyright (C) 1995, 2019, Oracle and/or its affiliates. All rights reserved.
GGSCI (fgedu.net.cn) 1>
# 创建子目录
CREATE SUBDIRS;
# 输出日志
Creating subdirectories under current directory /oracle/gg19
Parameter file /oracle/gg19/dirprm:
Report file /oracle/gg19/dirrpt:
Checkpoint file /oracle/gg19/dirchk:
Process status files /oracle/gg19/dirpcs:
SQL script files /oracle/gg19/dirsql:
Database definitions files /oracle/gg19/dirdef:
Extract data files /oracle/gg19/dirdat:
Temporary files /oracle/gg19/dirtmp:
Credential store files /oracle/gg19/dircrd:
Masterkey wallet files /oracle/gg19/dirwlt:
Dump files /oracle/gg19/dirdmp:
4.6 配置Manager进程
# 配置Manager进程参数文件
EDIT PARAMS MGR
# 添加以下内容
PORT 7809
DYNAMICPORTLIST 7810-7909
AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 3
AUTORESTART REPLICAT *, RETRIES 5, WAITMINUTES 3
PURGEOLDEXTRACTS /oracle/gg19/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7
# 保存并退出
# 启动Manager进程
START MANAGER
# 输出日志
Manager started.
# 检查Manager进程状态
INFO MANAGER
# 输出日志
Manager is running (IP port fgedu.net.cn.7809, Process ID 12345).
EDIT PARAMS MGR
# 添加以下内容
PORT 7809
DYNAMICPORTLIST 7810-7909
AUTORESTART EXTRACT *, RETRIES 5, WAITMINUTES 3
AUTORESTART REPLICAT *, RETRIES 5, WAITMINUTES 3
PURGEOLDEXTRACTS /oracle/gg19/dirdat/*, USECHECKPOINTS, MINKEEPDAYS 7
# 保存并退出
# 启动Manager进程
START MANAGER
# 输出日志
Manager started.
# 检查Manager进程状态
INFO MANAGER
# 输出日志
Manager is running (IP port fgedu.net.cn.7809, Process ID 12345).
4.7 配置Extract进程
# 创建Extract进程参数文件
EDIT PARAMS EXT1
# 添加以下内容
EXTRACT EXT1
USERID ggsadmin, PASSWORD ggsadmin
EXTTRAIL /oracle/gg19/dirdat/et
TABLE fgedu.emp;
# 保存并退出
# 添加Extract进程
ADD EXTRACT EXT1, TRANLOG, BEGIN NOW
# 输出日志
EXTRACT added.
# 添加Trail文件
ADD EXTTRAIL /oracle/gg19/dirdat/et, EXTRACT EXT1, MEGABYTES 100
# 输出日志
EXTTRAIL added.
EDIT PARAMS EXT1
# 添加以下内容
EXTRACT EXT1
USERID ggsadmin, PASSWORD ggsadmin
EXTTRAIL /oracle/gg19/dirdat/et
TABLE fgedu.emp;
# 保存并退出
# 添加Extract进程
ADD EXTRACT EXT1, TRANLOG, BEGIN NOW
# 输出日志
EXTRACT added.
# 添加Trail文件
ADD EXTTRAIL /oracle/gg19/dirdat/et, EXTRACT EXT1, MEGABYTES 100
# 输出日志
EXTTRAIL added.
4.8 配置Data Pump进程
# 创建Data Pump进程参数文件
EDIT PARAMS DP1
# 添加以下内容
EXTRACT DP1
USERID ggsadmin, PASSWORD ggsadmin
RMTHOST 192.168.1.2, MGRPORT 7809
RMTTRAIL /oracle/gg19/dirdat/rt
TABLE fgedu.emp;
# 保存并退出
# 添加Data Pump进程
ADD EXTRACT DP1, EXTTRAILSOURCE /oracle/gg19/dirdat/et
# 输出日志
EXTRACT added.
# 添加远程Trail文件
ADD RMTTRAIL /oracle/gg19/dirdat/rt, EXTRACT DP1, MEGABYTES 100
# 输出日志
RMTTRAIL added.
EDIT PARAMS DP1
# 添加以下内容
EXTRACT DP1
USERID ggsadmin, PASSWORD ggsadmin
RMTHOST 192.168.1.2, MGRPORT 7809
RMTTRAIL /oracle/gg19/dirdat/rt
TABLE fgedu.emp;
# 保存并退出
# 添加Data Pump进程
ADD EXTRACT DP1, EXTTRAILSOURCE /oracle/gg19/dirdat/et
# 输出日志
EXTRACT added.
# 添加远程Trail文件
ADD RMTTRAIL /oracle/gg19/dirdat/rt, EXTRACT DP1, MEGABYTES 100
# 输出日志
RMTTRAIL added.
4.9 配置Replicat进程
# 在目标系统上创建Replicat进程参数文件
./ggsci
EDIT PARAMS REP1
# 添加以下内容
REPLICAT REP1
USERID ggsadmin, PASSWORD ggsadmin
ASSUMETARGETDEFS
MAP fgedu.emp, TARGET fgedu.emp;
# 保存并退出
# 添加Replicat进程
ADD REPLICAT REP1, EXTTRAIL /oracle/gg19/dirdat/rt, BEGIN NOW
# 输出日志
REPLICAT added.
./ggsci
EDIT PARAMS REP1
# 添加以下内容
REPLICAT REP1
USERID ggsadmin, PASSWORD ggsadmin
ASSUMETARGETDEFS
MAP fgedu.emp, TARGET fgedu.emp;
# 保存并退出
# 添加Replicat进程
ADD REPLICAT REP1, EXTTRAIL /oracle/gg19/dirdat/rt, BEGIN NOW
# 输出日志
REPLICAT added.
4.10 启动所有进程
# 在源系统上启动Extract和Data Pump进程
./ggsci
START EXT1
# 输出日志
Sending START request to MANAGER …
EXTRACT EXT1 starting
START DP1
# 输出日志
Sending START request to MANAGER …
EXTRACT DP1 starting
# 在目标系统上启动Replicat进程
./ggsci
START REP1
# 输出日志
Sending START request to MANAGER …
REPLICAT REP1 starting
# 检查所有进程状态
INFO ALL
# 输出日志
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:05
EXTRACT RUNNING DP1 00:00:00 00:00:03
REPLICAT RUNNING REP1 00:00:00 00:00:02
./ggsci
START EXT1
# 输出日志
Sending START request to MANAGER …
EXTRACT EXT1 starting
START DP1
# 输出日志
Sending START request to MANAGER …
EXTRACT DP1 starting
# 在目标系统上启动Replicat进程
./ggsci
START REP1
# 输出日志
Sending START request to MANAGER …
REPLICAT REP1 starting
# 检查所有进程状态
INFO ALL
# 输出日志
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:05
EXTRACT RUNNING DP1 00:00:00 00:00:03
REPLICAT RUNNING REP1 00:00:00 00:00:02
4.11 测试数据复制
# 在源系统上插入数据
sqlplus ggsadmin/ggsadmin
INSERT INTO fgedu.emp VALUES (7369, ‘SMITH’, ‘CLERK’, 7902, SYSDATE, 800, NULL, 20);
COMMIT;
# 输出日志
1 row created.
Commit complete.
# 在目标系统上验证数据
sqlplus ggsadmin/ggsadmin
SELECT * FROM fgedu.emp;
# 输出日志
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
—– ———- ——— ———- ——— ———- ———- ———-
7369 SMITH CLERK 7902 01-APR-26 800 20
sqlplus ggsadmin/ggsadmin
INSERT INTO fgedu.emp VALUES (7369, ‘SMITH’, ‘CLERK’, 7902, SYSDATE, 800, NULL, 20);
COMMIT;
# 输出日志
1 row created.
Commit complete.
# 在目标系统上验证数据
sqlplus ggsadmin/ggsadmin
SELECT * FROM fgedu.emp;
# 输出日志
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
—– ———- ——— ———- ——— ———- ———- ———-
7369 SMITH CLERK 7902 01-APR-26 800 20
Part05-风哥经验总结与分享
5.1 安装与配置最佳实践
- 使用最新版本的GoldenGate:获得最新特性和bug修复
- 选择合适的安装位置:使用独立的文件系统,确保有足够的存储空间
- 配置适当的参数:根据系统资源和数据量调整参数
- 使用Data Pump进程:提供额外的错误处理和数据过滤功能
- 定期备份配置:备份GoldenGate配置文件和参数文件
5.2 常见问题与解决方案
- 安装失败:检查操作系统版本和硬件要求,确保满足条件
- 进程启动失败:检查参数文件配置,查看日志文件
- 数据复制延迟:检查网络带宽和系统资源,优化参数
- 权限问题:确保GoldenGate用户有足够的权限
- 网络连接问题:检查网络配置和防火墙设置
5.3 经验分享
- 提前规划:在安装前充分了解系统要求和业务需求
- 测试验证:在测试环境中充分测试,确保安装和配置正确
- 文档管理:建立完善的文档,记录安装和配置步骤
- 培训人员:对运维人员进行培训,提高技术水平
- 持续监控:建立有效的监控机制,及时发现和解决问题
学习交流加群风哥QQ113257174
风哥提示:Oracle GoldenGate的安装与配置需要仔细规划和执行,确保系统的可靠性和性能。
更多学习教程公众号风哥教程itpux_com
from oracle:www.itpux.com
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
