1. 首页 > GoldenGate教程 > 正文

GoldenGate教程FG019-日常巡检与健康检查

本文档详细介绍Oracle GoldenGate的日常巡检与健康检查,风哥教程参考GoldenGate官方文档维护相关内容,适合数据库管理员和技术人员学习和参考。更多视频教程www.fgedu.net.cn

Part01-基础概念与理论知识

1.1 巡检概念

巡检是指定期对系统进行检查,以确保系统的正常运行。巡检的主要目的是发现和解决潜在的问题,预防系统故障的发生。巡检包括系统状态检查、性能检查、日志检查等。

巡检的特点:

  • 定期性:按照一定的时间间隔进行
  • 全面性:覆盖系统的各个方面
  • 预防性:预防系统故障的发生
  • 记录性:记录巡检结果,便于分析和追踪
  • 规范性:按照标准流程进行

1.2 健康检查概念

健康检查是指对系统的健康状态进行评估,以确保系统的稳定性和可靠性。健康检查包括系统资源使用情况、性能指标、错误日志等方面的检查。

# 健康检查的内容

## 1. 系统资源
– CPU使用率
– 内存使用率
– 磁盘空间使用率
– 网络带宽使用情况

## 2. 性能指标
– 响应时间
– 吞吐量
– 延迟
– 并发连接数

## 3. 错误日志
– 系统错误日志
– 应用错误日志
– 数据库错误日志
– GoldenGate错误日志

## 4. 配置状态
– 配置文件的完整性
– 配置参数的合理性
– 权限配置的正确性

## 5. 数据一致性
– 源端和目标端数据的一致性
– 数据同步的完整性
– 数据冲突的处理

1.3 巡检与健康检查的重要性

巡检与健康检查的重要性体现在以下几个方面:

  • 预防故障:通过定期巡检,发现和解决潜在问题,预防系统故障的发生
  • 提高可靠性:及时发现和处理系统异常,提高系统的可靠性
  • 优化性能:通过性能检查,发现性能瓶颈,优化系统性能
  • 延长系统寿命:及时维护和保养系统,延长系统的使用寿命
  • 满足合规要求:符合行业和法规的要求,确保系统的合规性

学习交流加群风哥微信: itpux-com

Part02-生产环境规划与建议

2.1 巡检规划

制定GoldenGate巡检规划时,需要考虑以下因素:

# 巡检规划考虑因素

## 1. 巡检频率
– 日常巡检:每天一次
– 周巡检:每周一次
– 月巡检:每月一次
– 季度巡检:每季度一次

## 2. 巡检内容
– 进程状态检查
– 性能指标检查
– 错误日志检查
– 配置文件检查
– 数据同步状态检查

## 3. 巡检人员
– 数据库管理员
– 系统管理员
– 应用管理员

## 4. 巡检工具
– GoldenGate自带工具
– 第三方监控工具
– 自定义脚本

## 5. 巡检流程
– 准备巡检工具和检查表
– 执行巡检操作
– 记录巡检结果
– 分析巡检结果
– 处理发现的问题
– 生成巡检报告

2.2 健康检查规划

制定GoldenGate健康检查规划时,需要考虑以下因素:

健康检查规划考虑因素:

  • 检查频率:根据系统的重要性和稳定性,确定健康检查的频率
  • 检查内容:覆盖系统的各个方面,包括资源使用、性能指标、错误日志等
  • 检查工具:选择合适的检查工具,确保检查的准确性和效率
  • 检查标准:制定健康检查的标准,便于评估系统的健康状态
  • 检查报告:生成详细的健康检查报告,便于分析和追踪

2.3 巡检与健康检查建议

GoldenGate巡检与健康检查的建议:

# 巡检与健康检查建议

## 1. 日常巡检建议
– 每天检查GoldenGate进程状态
– 每天检查数据同步延迟
– 每天检查错误日志
– 每天检查系统资源使用情况

## 2. 周巡检建议
– 检查GoldenGate配置文件
– 检查数据库状态
– 检查网络连接状态
– 检查存储使用情况

## 3. 月巡检建议
– 检查GoldenGate版本和补丁
– 检查系统参数配置
– 检查备份情况
– 检查安全配置

## 4. 健康检查建议
– 定期进行全面的健康检查
– 建立健康检查的标准和指标
– 使用自动化工具进行健康检查
– 及时处理健康检查发现的问题

## 5. 文档建议
– 建立巡检和健康检查的文档体系
– 记录巡检和健康检查的结果
– 分析巡检和健康检查的趋势
– 优化巡检和健康检查的流程

from GoldenGate视频:www.itpux.com

Part03-生产环境项目实施方案

3.1 日常巡检

日常巡检是确保GoldenGate系统正常运行的重要手段。以下是具体的实施方案:

# 日常巡检

## 1. 进程状态检查

### 1.1 检查Manager进程
GGSCI> info mgr
Manager is running (IP port fgedu.7809).

### 1.2 检查Extract进程
GGSCI> info extract *
EXTRACT RUNNING EXT1 00:00:00 00:00:05
EXTRACT RUNNING DP1 00:00:00 00:00:03

### 1.3 检查Replicat进程
GGSCI> info replicat *
REPLICAT RUNNING REP1 00:00:00 00:00:02

## 2. 数据同步状态检查

### 2.1 检查同步延迟
GGSCI> lag *
Sending LAG request to EXTRACT EXT1 …
Last record lag: 00:00:00.
Sending LAG request to EXTRACT DP1 …
Last record lag: 00:00:00.
Sending LAG request to REPLICAT REP1 …
Last record lag: 00:00:00.

### 2.2 检查同步统计
GGSCI> stats *
Start of Statistics at 2026-04-10 10:00:00.

Output to /GoldenGate/fgdata/dirdat/et:

Extracting from FGEDU.EMP:

*** Current statistics since 2026-04-10 09:00:00 ***
Total inserts 100.00
Total updates 50.00
Total deletes 0.00
Total discards 0.00
Total operations 150.00

## 3. 错误日志检查

### 3.1 检查进程报告
GGSCI> view report EXT1

### 3.2 检查错误日志
$ tail -n 100 /GoldenGate/app/ggserr.log

## 4. 系统资源检查

### 4.1 检查CPU使用率
$ top -n 1

### 4.2 检查内存使用率
$ free -h

### 4.3 检查磁盘空间
$ df -h

### 4.4 检查网络状态
$ netstat -tuln

3.2 健康检查

健康检查是评估GoldenGate系统健康状态的重要手段。以下是具体的实施方案:

# 健康检查

## 1. 系统资源健康检查

### 1.1 CPU健康检查
$ mpstat 1 5

### 1.2 内存健康检查
$ vmstat 1 5

### 1.3 磁盘健康检查
$ iostat -x 1 5

### 1.4 网络健康检查
$ ping -c 5 fgedu02
$ netstat -s | grep retransmit

## 2. 数据库健康检查

### 2.1 数据库状态检查
SQL> SELECT status FROM v$instance;

### 2.2 数据库性能检查
SQL> SELECT * FROM v$system_event WHERE event NOT LIKE ‘%idle%’ ORDER BY total_waits DESC;

### 2.3 数据库空间检查
SQL> SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics;

## 3. GoldenGate健康检查

### 3.1 进程健康检查
GGSCI> info all

### 3.2 性能健康检查
GGSCI> stats * detail

### 3.3 配置健康检查
GGSCI> view param *

### 3.4 日志健康检查
GGSCI> view report *

## 4. 数据一致性检查

### 4.1 源端和目标端数据比对
SQL> SELECT count(*) FROM fgedu.emp;

SQL> — 在目标端执行
SQL> SELECT count(*) FROM fgedu.emp;

### 4.2 数据校验
SQL> SELECT * FROM fgedu.emp MINUS SELECT * FROM fgedu.emp@target_db;

3.3 自动化巡检

自动化巡检是提高巡检效率和准确性的重要手段。以下是具体的实施方案:

# 自动化巡检

## 1. 编写巡检脚本

### 1.1 日常巡检脚本
$ vi /GoldenGate/app/scripts/daily_check.sh
#!/bin/bash
# daily_check.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

echo “=== GoldenGate Daily Check ===”
echo “Date: $(date)”
echo “”

# 检查Manager进程
echo “1. Checking Manager process…”
/GoldenGate/app/ggsci << EOF info mgr EOF echo "" # 检查Extract进程 echo "2. Checking Extract processes..." /GoldenGate/app/ggsci << EOF info extract * EOF echo "" # 检查Replicat进程 echo "3. Checking Replicat processes..." /GoldenGate/app/ggsci << EOF info replicat * EOF echo "" # 检查同步延迟 echo "4. Checking replication lag..." /GoldenGate/app/ggsci << EOF lag * EOF echo "" # 检查系统资源 echo "5. Checking system resources..." echo "CPU usage:" top -n 1 | grep "%Cpu" echo "Memory usage:" free -h echo "Disk usage:" df -h | grep GoldenGate echo "" echo "=== Daily Check Completed ===" ### 1.2 周巡检脚本 $ vi /GoldenGate/app/scripts/weekly_check.sh #!/bin/bash # weekly_check.sh # from:www.itpux.com.qq113257174.wx:itpux-com # web: http://www.fgedu.net.cn echo "=== GoldenGate Weekly Check ===" echo "Date: $(date)" echo "" # 检查配置文件 echo "1. Checking configuration files..." ls -la /GoldenGate/app/dirprm/ # 检查数据库状态 echo "2. Checking database status..." sqlplus -s fgedu/fgedu123 << EOF SELECT status FROM v$instance; SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics; EOF # 检查网络连接 echo "3. Checking network connections..." ping -c 3 fgedu02 netstat -tuln | grep 7809 # 检查存储使用情况 echo "4. Checking storage usage..." df -h # 检查GoldenGate版本 echo "5. Checking GoldenGate version..." /GoldenGate/app/ggsci << EOF INFO ALL EOF echo "=== Weekly Check Completed ===" ## 2. 配置定时任务 ### 2.1 配置日常巡检任务 $ crontab -e 0 9 * * * /GoldenGate/app/scripts/daily_check.sh >> /GoldenGate/app/logs/daily_check.log 2>&1

### 2.2 配置周巡检任务
$ crontab -e
0 10 * * 0 /GoldenGate/app/scripts/weekly_check.sh >> /GoldenGate/app/logs/weekly_check.log 2>&1

## 3. 配置告警机制

### 3.1 配置邮件告警
$ vi /GoldenGate/app/scripts/alert.sh
#!/bin/bash
# alert.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

SUBJECT=”GoldenGate Alert”
TO=”admin@fgedu.net.cn”
MESSAGE=”$1″

echo “$MESSAGE” | mail -s “$SUBJECT” $TO

### 3.2 在巡检脚本中添加告警
$ vi /GoldenGate/app/scripts/daily_check.sh
# 检查进程状态
if [ “$(/GoldenGate/app/ggsci << EOF info mgr EOF | grep -c "RUNNING")" -eq 0 ]; then /GoldenGate/app/scripts/alert.sh "Manager process is not running!" fi

Part04-生产案例与实战讲解

4.1 日常巡检案例

以下是日常巡检的实战案例:

# 日常巡检案例

## 环境信息
GoldenGate版本:21.3.0.0.0
操作系统:Oracle Linux 8.5

## 巡检步骤

### 1. 检查进程状态
GGSCI> 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

### 2. 检查同步延迟
GGSCI> lag *
Sending LAG request to EXTRACT EXT1 …
Last record lag: 00:00:00.
Sending LAG request to EXTRACT DP1 …
Last record lag: 00:00:00.
Sending LAG request to REPLICAT REP1 …
Last record lag: 00:00:00.

### 3. 检查同步统计
GGSCI> stats *
Start of Statistics at 2026-04-10 10:00:00.

Output to /GoldenGate/fgdata/dirdat/et:

Extracting from FGEDU.EMP:

*** Current statistics since 2026-04-10 09:00:00 ***
Total inserts 100.00
Total updates 50.00
Total deletes 0.00
Total discards 0.00
Total operations 150.00

Output to /GoldenGate/fgdata/dirdat/rt:

Extracting from FGEDU.EMP:

*** Current statistics since 2026-04-10 09:00:00 ***
Total inserts 100.00
Total updates 50.00
Total deletes 0.00
Total discards 0.00
Total operations 150.00

Replicating from FGEDU.EMP to FGEDU.EMP:

*** Current statistics since 2026-04-10 09:00:00 ***
Total inserts 100.00
Total updates 50.00
Total deletes 0.00
Total discards 0.00
Total operations 150.00

### 4. 检查系统资源
$ top -n 1
top – 10:00:00 up 10 days, 2:00, 2 users, load average: 0.50, 0.40, 0.30
Tasks: 100 total, 1 running, 99 sleeping, 0 stopped, 0 zombie
%Cpu(s): 10.0 us, 5.0 sy, 0.0 ni, 80.0 id, 5.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 16384.0 total, 8192.0 free, 4096.0 used, 4096.0 buff/cache
MiB Swap: 8192.0 total, 8192.0 free, 0.0 used. 11264.0 avail Mem

$ free -h
total used free shared buff/cache available
Mem: 16G 4.0G 8.0G 0.0G 4.0G 11G
Swap: 8.0G 0.0G 8.0G

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 50G 20G 30G 40% /
/dev/sdb1 200G 50G 150G 25% /GoldenGate

### 5. 检查错误日志
$ tail -n 100 /GoldenGate/app/ggserr.log
2026-04-10 09:00:00 INFO OGG-03059 Operating system character set identified as UTF-8. Locale: en_US, LC_ALL: .
2026-04-10 09:00:00 INFO OGG-02695 ANSI SQL parameter syntax is used for parameter parsing.
2026-04-10 09:00:00 INFO OGG-03035 Operating system information: Linux, Release 4.18.0-348.el8.x86_64, Version #1 SMP Mon Oct 4 12:17:22 EDT 2021, Machine x86_64.
2026-04-10 09:00:00 INFO OGG-01632 Processor architecture: X86_64.
2026-04-10 09:00:00 INFO OGG-00955 Oracle GoldenGate Capture for Oracle, ext1.prm: EXTRACT EXT1 starting.

### 6. 巡检结果
– 所有GoldenGate进程运行正常
– 数据同步延迟为0
– 系统资源使用正常
– 无错误日志
– 巡检通过

4.2 健康检查案例

以下是健康检查的实战案例:

# 健康检查案例

## 环境信息
GoldenGate版本:21.3.0.0.0
操作系统:Oracle Linux 8.5

## 健康检查步骤

### 1. 系统资源健康检查
$ mpstat 1 5
Linux 4.18.0-348.el8.x86_64 (fgedu) 04/10/2026 _x86_64_ (8 CPU)

09:59:59 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
09:59:59 all 10.00 0.00 5.00 0.00 0.00 0.00 0.00 0.00 0.00 85.00
10:00:00 all 12.00 0.00 6.00 0.00 0.00 0.00 0.00 0.00 0.00 82.00
10:00:01 all 8.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 0.00 88.00
10:00:02 all 10.00 0.00 5.00 0.00 0.00 0.00 0.00 0.00 0.00 85.00
10:00:03 all 9.00 0.00 4.50 0.00 0.00 0.00 0.00 0.00 0.00 86.50

$ vmstat 1 5
procs ———–memory———- —swap– —–io—- -system– ——cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 8388608 4194304 4194304 0 0 0 0 20 30 10 5 85 0 0
0 0 0 8388608 4194304 4194304 0 0 0 0 19 29 12 6 82 0 0
0 0 0 8388608 4194304 4194304 0 0 0 0 21 31 8 4 88 0 0
0 0 0 8388608 4194304 4194304 0 0 0 0 20 30 10 5 85 0 0
0 0 0 8388608 4194304 4194304 0 0 0 0 19 29 9 4 87 0 0

$ iostat -x 1 5
Linux 4.18.0-348.el8.x86_64 (fgedu) 04/10/2026 _x86_64_ (8 CPU)

device r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 10.0 5.0 0.10 0.05 20.0 0.1 5.0 4.0 7.0 2.0 3.0
sdb 5.0 2.0 0.05 0.02 20.0 0.0 3.0 2.5 4.0 1.5 1.0

### 2. 数据库健康检查
SQL> SELECT status FROM v$instance;
STATUS
————
OPEN

SQL> SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics;
TABLESPACE_NAME USED_PERCENT
—————————— ————
SYSTEM 20.0
SYSAUX 30.0
UNDOTBS1 10.0
TEMP 5.0
USERS 15.0
FGEDUTBS 25.0

### 3. GoldenGate健康检查
GGSCI> 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. 数据一致性检查
SQL> — 在源端执行
SQL> SELECT count(*) FROM fgedu.emp;
COUNT(*)
———-
1000

SQL> — 在目标端执行
SQL> SELECT count(*) FROM fgedu.emp;
COUNT(*)
———-
1000

### 5. 健康检查结果
– 系统资源使用正常
– 数据库状态正常
– GoldenGate进程运行正常
– 数据一致性良好
– 健康检查通过

4.3 自动化巡检案例

以下是自动化巡检的实战案例:

# 自动化巡检案例

## 环境信息
GoldenGate版本:21.3.0.0.0
操作系统:Oracle Linux 8.5

## 自动化巡检步骤

### 1. 创建巡检脚本
$ vi /GoldenGate/app/scripts/daily_check.sh
#!/bin/bash
# daily_check.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

echo “=== GoldenGate Daily Check ===”
echo “Date: $(date)”
echo “”

# 检查Manager进程
echo “1. Checking Manager process…”
/GoldenGate/app/ggsci << EOF info mgr EOF echo "" # 检查Extract进程 echo "2. Checking Extract processes..." /GoldenGate/app/ggsci << EOF info extract * EOF echo "" # 检查Replicat进程 echo "3. Checking Replicat processes..." /GoldenGate/app/ggsci << EOF info replicat * EOF echo "" # 检查同步延迟 echo "4. Checking replication lag..." /GoldenGate/app/ggsci << EOF lag * EOF echo "" # 检查系统资源 echo "5. Checking system resources..." echo "CPU usage:" top -n 1 | grep "%Cpu" echo "Memory usage:" free -h echo "Disk usage:" df -h | grep GoldenGate echo "" echo "=== Daily Check Completed ===" ### 2. 配置定时任务 $ crontab -e 0 9 * * * /GoldenGate/app/scripts/daily_check.sh >> /GoldenGate/app/logs/daily_check.log 2>&1

### 3. 查看巡检结果
$ cat /GoldenGate/app/logs/daily_check.log
=== GoldenGate Daily Check ===
Date: Wed Apr 10 09:00:00 CST 2026

1. Checking Manager process…
Manager is running (IP port fgedu.7809).

2. Checking Extract processes…
EXTRACT RUNNING EXT1 00:00:00 00:00:05
EXTRACT RUNNING DP1 00:00:00 00:00:03

3. Checking Replicat processes…
REPLICAT RUNNING REP1 00:00:00 00:00:02

4. Checking replication lag…
Sending LAG request to EXTRACT EXT1 …
Last record lag: 00:00:00.
Sending LAG request to EXTRACT DP1 …
Last record lag: 00:00:00.
Sending LAG request to REPLICAT REP1 …
Last record lag: 00:00:00.

5. Checking system resources…
CPU usage:
%Cpu(s): 10.0 us, 5.0 sy, 0.0 ni, 80.0 id, 5.0 wa, 0.0 hi, 0.0 si, 0.0 st
Memory usage:
total used free shared buff/cache available
Mem: 16G 4.0G 8.0G 0.0G 4.0G 11G
Swap: 8.0G 0.0G 8.0G
Disk usage:
/dev/sdb1 200G 50G 150G 25% /GoldenGate

=== Daily Check Completed ===

### 4. 自动化巡检结果
– 巡检脚本执行正常
– 定时任务配置成功
– 巡检结果记录完整
– 系统状态正常

Part05-风哥经验总结与分享

5.1 最佳实践

根据实际经验,总结以下最佳实践:

  • 定期巡检:按照规定的频率进行巡检,确保系统的正常运行
  • 全面检查:覆盖系统的各个方面,包括进程状态、性能指标、错误日志等
  • 自动化:使用自动化工具进行巡检,提高效率和准确性
  • 记录详细:详细记录巡检结果,便于分析和追踪
  • 及时处理:及时处理巡检发现的问题,避免问题扩大

5.2 常见问题与解决

日常巡检与健康检查中的常见问题及解决方案:

常见问题及解决方案:

  • 进程异常:检查进程状态,分析错误日志,重启进程
  • 同步延迟:检查网络连接,优化GoldenGate配置,提高系统性能
  • 系统资源不足:增加系统资源,优化资源配置,清理不必要的文件
  • 数据不一致:检查数据同步状态,重新初始化数据,修复数据冲突
  • 错误日志增多:分析错误原因,修复问题,清理错误日志

5.3 风哥经验分享

在多次GoldenGate日常巡检与健康检查的经验中,我总结了以下几点心得:

1. 预防为主:巡检的目的是预防系统故障的发生,通过定期检查,发现和解决潜在问题,确保系统的稳定运行。

2. 全面覆盖:巡检内容要全面覆盖系统的各个方面,包括进程状态、性能指标、错误日志、系统资源等,确保没有遗漏。

3. 自动化:使用自动化工具进行巡检,提高效率和准确性,减少人工错误。

4. 及时处理:对于巡检发现的问题,要及时处理,避免问题扩大,影响系统的正常运行。

5. 持续改进:根据巡检结果,不断优化系统配置和巡检流程,提高系统的可靠性和性能。

更多学习教程公众号风哥教程itpux_com

风哥提示:日常巡检与健康检查是确保GoldenGate系统正常运行的重要手段。建议建立完善的巡检制度,定期进行巡检和健康检查,及时发现和解决问题,确保系统的稳定运行。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息