GoldenGate教程FG066-OGG命令行工具高级用法与实战技巧
本文详细介绍OGG命令行工具GGSCI的高级用法和实战技巧,涵盖批量操作、脚本自动化、性能监控、故障诊断等多个方面。风哥教程参考GoldenGate官方文档GoldenGate命令参考手册、GoldenGate管理指南等内容,帮助读者掌握OGG命令行工具的高效使用方法。
目录大纲
Part01-基础概念与理论知识
1.1 GGSCI命令行工具概述
1.2 GGSCI命令分类与语法规范
1.3 GGSCI环境变量与配置文件
Part02-生产环境规划与建议
2.1 OGG命令行工具使用场景规划
2.2 GGSCI安全使用建议
2.3 OGG命令行工具权限配置
Part03-生产环境项目实施方案
3.1 GGSCI批量操作命令实施
3.2 GGSCI脚本自动化配置
3.3 GGSCI性能监控命令配置
3.4 GGSCI故障诊断命令配置
Part04-生产案例与实战讲解
4.1 OGG批量进程管理实战案例
4.2 OGG自动化运维脚本实战
4.3 OGG高级查询与过滤技巧
Part05-风哥经验总结与分享
5.1 GGSCI命令行工具最佳实践
5.2 GGSCI常见问题与解决方案
5.3 GGSCI常用命令速查手册
Part01-基础概念与理论知识
1.1 GGSCI命令行工具概述
GGSCI(GoldenGate Software Command Interface)是Oracle GoldenGate的主要命令行管理工具,提供了对OGG进程、配置、监控等全方位的管理能力,学习交流加群风哥微信: itpux-com。
cd /GoldenGate/app
./ggsci
Version 23.0.0.0.0
Build 001
Built on 2024-01-15 12:00:00
Copyright (C) 1995, 2024, Oracle and/or its affiliates.
All rights reserved.
GGSCI (fgedu.net.cn) 1>
GGSCI (fgedu.net.cn)> HELP
Informational Commands:
INFO – Display process information
STATUS – Display process status
STATS – Display process statistics
LAG – Display replication lag
VIEW – View configuration files
Process Control Commands:
START – Start a process
STOP – Stop a process
KILL – Kill a process
SEND – Send commands to a process
Configuration Commands:
ADD – Add a process or file
ALTER – Alter a process configuration
DELETE – Delete a process or file
EDIT – Edit configuration files
Type HELP
1.2 GGSCI命令分类与语法规范
GGSCI命令按照功能可以分为信息查询类、进程控制类、配置管理类、诊断分析类等多个类别。
GGSCI (fgedu.net.cn)> INFO EXTRACT *, TASKS
EXTRACT E_FGEDU02 Last Started 2024-01-15 08:00 Status RUNNING
Extract Tasks:
E_FGEDU01:
Task ID 1: Running – Processing table fgedu01.fgedu_orders
Task ID 2: Running – Processing table fgedu01.fgedu_products
E_FGEDU02:
Task ID 1: Running – Processing table fgedu02.*
GGSCI (fgedu.net.cn)> INFO REPLICAT *, TASKS
REPLICAT R_FGEDU02 Last Started 2024-01-15 08:00 Status RUNNING
Replicat Tasks:
R_FGEDU01:
Task ID 1: Running – Applying to table fgedu01.fgedu_orders
Task ID 2: Running – Applying to table fgedu01.fgedu_products
R_FGEDU02:
Task ID 1: Running – Applying to table fgedu02.*
1.3 GGSCI环境变量与配置文件
GGSCI支持多种环境变量配置,可以灵活控制工具的行为和输出格式。
export OGG_HOME=/GoldenGate/app
export LD_LIBRARY_PATH=$OGG_HOME:$LD_LIBRARY_PATH
export OGG_ETC=/GoldenGate/app/dirprm
echo $OGG_HOME
cat /GoldenGate/app/GLOBALS
CHECKPOINTTABLE fgedu.ogg_chkpt
ALLOWOUTPUTDIR /GoldenGate/app/dirrpt
ALLOWOUTPUTDIR /GoldenGate/app/logs
Part02-生产环境规划与建议
2.1 OGG命令行工具使用场景规划
在生产环境中,GGSCI命令行工具主要用于日常运维、故障诊断、性能监控、批量操作等场景。
主要使用场景:
1. 日常运维:启动停止进程、查看状态、配置管理
2. 故障诊断:查看日志、分析错误、定位问题
3. 性能监控:统计信息、延迟监控、资源使用
4. 批量操作:批量启停、批量配置、批量检查
5. 自动化运维:脚本集成、定时任务、监控告警
2.2 GGSCI安全使用建议
GGSCI命令行工具涉及OGG核心管理功能,需要遵循安全使用规范,更多视频教程www.fgedu.net.cn。
安全使用建议:
1. 权限控制:限制GGSCI访问权限,只允许授权用户
2. 操作审计:记录所有GGSCI操作日志,便于审计追溯
3. 密码管理:使用Credential Store存储敏感信息
4. 网络安全:限制远程访问,使用加密传输
5. 操作验证:重要操作前进行确认,避免误操作
2.3 OGG命令行工具权限配置
合理配置GGSCI工具的访问权限,确保系统安全。
chmod 750 /GoldenGate/app/ggsci
chmod 640 /GoldenGate/app/dirprm/*.prm
chmod 600 /GoldenGate/app/dirprm/credentials.prf
groupadd oggadmin
useradd -g oggadmin ogguser
chown -R ogguser:oggadmin /GoldenGate/app
Part03-生产环境项目实施方案
3.1 GGSCI批量操作命令实施
GGSCI支持批量操作命令,可以同时管理多个OGG进程。
GGSCI (fgedu.net.cn)> START EXTRACT *
EXTRACT E_FGEDU01 starting
EXTRACT E_FGEDU02 starting
All Extract processes started successfully.
GGSCI (fgedu.net.cn)> START REPLICAT *
REPLICAT R_FGEDU01 starting
REPLICAT R_FGEDU02 starting
All Replicat processes started successfully.
GGSCI (fgedu.net.cn)> STOP *
EXTRACT E_FGEDU01 stopping
EXTRACT E_FGEDU02 stopping
REPLICAT R_FGEDU01 stopping
REPLICAT R_FGEDU02 stopping
All processes stopped successfully.
3.2 GGSCI脚本自动化配置
通过脚本自动化GGSCI操作,可以提高运维效率。
vi /GoldenGate/app/scripts/ogg_batch_ops.sh
# ogg_batch_ops.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
OGG_HOME=/GoldenGate/app
LOG_FILE=/GoldenGate/app/logs/batch_ops.log
echo “========== OGG批量操作: $(date) ==========” >> $LOG_FILE
# 批量启动Extract进程
echo “START EXTRACT *” | $OGG_HOME/ggsci >> $LOG_FILE 2>&1
# 批量启动Replicat进程
echo “START REPLICAT *” | $OGG_HOME/ggsci >> $LOG_FILE 2>&1
# 查看所有进程状态
echo “INFO ALL” | $OGG_HOME/ggsci >> $LOG_FILE 2>&1
echo “批量操作完成” >> $LOG_FILE
chmod +x /GoldenGate/app/scripts/ogg_batch_ops.sh
/GoldenGate/app/scripts/ogg_batch_ops.sh
Sending START request to MANAGER …
EXTRACT E_FGEDU01 starting
EXTRACT E_FGEDU02 starting
Sending START request to MANAGER …
REPLICAT R_FGEDU01 starting
REPLICAT R_FGEDU02 starting
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING E_FGEDU01 00:00:02 00:00:00
EXTRACT RUNNING E_FGEDU02 00:00:03 00:00:01
REPLICAT RUNNING R_FGEDU01 00:00:05 00:00:02
REPLICAT RUNNING R_FGEDU02 00:00:04 00:00:01
批量操作完成
3.3 GGSCI性能监控命令配置
使用GGSCI命令进行性能监控,实时掌握OGG运行状态。
GGSCI (fgedu.net.cn)> STATS EXTRACT E_FGEDU01, TOTAL
Total inserts 1,256,789
Total updates 456,234
Total deletes 89,567
Total discards 0
Total operations 1,802,590
Extract started : 2024-01-15 08:00:00
Extract stopped : 2024-01-15 18:30:00
Total run time : 10 hours 30 minutes
Avg operations/sec : 47.7
Peak operations/sec : 156
GGSCI (fgedu.net.cn)> STATS REPLICAT R_FGEDU01, TOTAL
Total inserts 1,256,789
Total updates 456,234
Total deletes 89,567
Total discards 0
Total operations 1,802,590
Replicat started : 2024-01-15 08:00:00
Replicat stopped : 2024-01-15 18:30:00
Total run time : 10 hours 30 minutes
Avg operations/sec : 47.7
Peak operations/sec : 142
Last committed transaction: 2024-01-15 18:29:56
Current lag : 00:00:04
GGSCI (fgedu.net.cn)> LAG EXTRACT E_FGEDU01
EXTRACT E_FGEDU01
Lag 00:00:02
At 2024-01-15 10:35:00
Last Checkpoint: 2024-01-15 10:34:58
Current Read : 2024-01-15 10:35:00
3.4 GGSCI故障诊断命令配置
使用GGSCI命令进行故障诊断,快速定位和解决问题。
GGSCI (fgedu.net.cn)> INFO EXTRACT E_FGEDU01, DETAIL
Status RUNNING
Checkpoint Position : 2024-01-15 10:35:00.000000
Current Read Position: 2024-01-15 10:35:00.000000
Log Read Audit Oracle Redo Logs
Seqno 1234, RBA 1234567
SCN 1234567890
Sequence 1234
Trail Name /GoldenGate/app/dirdat/ea
Trail Seqno 567
Trail RBA 890123
Process ID 12345
Thread ID 67890
Tables:
fgedu01.fgedu_orders
fgedu01.fgedu_products
fgedu02.*
GGSCI (fgedu.net.cn)> VIEW REPORT E_FGEDU01
Version 23.0.0.0.0
Started 2024-01-15 08:00:00
Status RUNNING
Checkpoint 2024-01-15 10:35:00
Log Read Oracle Redo Logs
SCN 1234567890
Trail /GoldenGate/app/dirdat/ea
Seqno 567
RBA 890123
Statistics:
Total operations: 1,802,590
Throughput: 47.7 ops/sec
Lag: 2 seconds
Part04-生产案例与实战讲解
4.1 OGG批量进程管理实战案例
本案例展示如何使用GGSCI批量管理多个OGG进程。
vi /GoldenGate/app/scripts/ogg_process_manager.sh
# ogg_process_manager.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
OGG_HOME=/GoldenGate/app
ACTION=$1
PROCESS_TYPE=$2
case $ACTION in
start)
if [ “$PROCESS_TYPE” = “extract” ]; then
echo “START EXTRACT *” | $OGG_HOME/ggsci
elif [ “$PROCESS_TYPE” = “replicat” ]; then
echo “START REPLICAT *” | $OGG_HOME/ggsci
else
echo “START *” | $OGG_HOME/ggsci
fi
;;
stop)
if [ “$PROCESS_TYPE” = “extract” ]; then
echo “STOP EXTRACT *” | $OGG_HOME/ggsci
elif [ “$PROCESS_TYPE” = “replicat” ]; then
echo “STOP REPLICAT *” | $OGG_HOME/ggsci
else
echo “STOP *” | $OGG_HOME/ggsci
fi
;;
status)
echo “INFO ALL” | $OGG_HOME/ggsci
;;
*)
echo “Usage: $0 {start|stop|status} [extract|replicat]”
exit 1
;;
esac
chmod +x /GoldenGate/app/scripts/ogg_process_manager.sh
/GoldenGate/app/scripts/ogg_process_manager.sh status
MANAGER RUNNING
EXTRACT RUNNING E_FGEDU01 00:00:02 00:00:00
EXTRACT RUNNING E_FGEDU02 00:00:03 00:00:01
REPLICAT RUNNING R_FGEDU01 00:00:05 00:00:02
REPLICAT RUNNING R_FGEDU02 00:00:04 00:00:01
4.2 OGG自动化运维脚本实战
展示完整的OGG自动化运维脚本,包含监控、告警、自动恢复等功能。
vi /GoldenGate/app/scripts/ogg_monitor.sh
# ogg_monitor.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn
OGG_HOME=/GoldenGate/app
LOG_FILE=/GoldenGate/app/logs/monitor.log
ALERT_EMAIL=”itpux@fgedu.net.cn”
check_process_status() {
local process_name=$1
local status=$(echo “INFO $process_name” | $OGG_HOME/ggsci 2>/dev/null | grep “Status” | awk ‘{print $2}’)
echo $status
}
check_process_lag() {
local process_name=$1
local lag=$(echo “LAG $process_name” | $OGG_HOME/ggsci 2>/dev/null | grep “Lag” | awk ‘{print $2}’)
echo $lag
}
echo “========== OGG监控检查: $(date) ==========” >> $LOG_FILE
# 检查所有Extract进程
for extract in E_FGEDU01 E_FGEDU02; do
status=$(check_process_status “EXTRACT $extract”)
lag=$(check_process_lag “EXTRACT $extract”)
echo “Extract $extract: Status=$status, Lag=$lag” >> $LOG_FILE
if [ “$status” != “RUNNING” ]; then
echo “警告: Extract $extract 未运行,尝试启动…” >> $LOG_FILE
echo “START EXTRACT $extract” | $OGG_HOME/ggsci >> $LOG_FILE 2>&1
fi
done
# 检查所有Replicat进程
for replicat in R_FGEDU01 R_FGEDU02; do
status=$(check_process_status “REPLICAT $replicat”)
lag=$(check_process_lag “REPLICAT $replicat”)
echo “Replicat $replicat: Status=$status, Lag=$lag” >> $LOG_FILE
if [ “$status” != “RUNNING” ]; then
echo “警告: Replicat $replicat 未运行,尝试启动…” >> $LOG_FILE
echo “START REPLICAT $replicat” | $OGG_HOME/ggsci >> $LOG_FILE 2>&1
fi
done
echo “监控检查完成” >> $LOG_FILE
chmod +x /GoldenGate/app/scripts/ogg_monitor.sh
/GoldenGate/app/scripts/ogg_monitor.sh
Extract E_FGEDU01: Status=RUNNING, Lag=00:00:02
Extract E_FGEDU02: Status=RUNNING, Lag=00:00:03
Replicat R_FGEDU01: Status=RUNNING, Lag=00:00:05
Replicat R_FGEDU02: Status=RUNNING, Lag=00:00:04
监控检查完成
4.3 OGG高级查询与过滤技巧
使用GGSCI高级查询命令,快速获取所需信息。
GGSCI (fgedu.net.cn)> STATS EXTRACT E_FGEDU01, TABLE fgedu01.fgedu_orders
Total inserts 456,789
Total updates 123,456
Total deletes 5,678
Total discards 0
Total operations 585,923
Avg operations/sec: 15.2
Peak operations/sec: 45
GGSCI (fgedu.net.cn)> INFO TRAIL /GoldenGate/app/dirdat/ea
Extract: E_FGEDU01
Seqno: 567
RBA: 890123
Size: 1.2 GB
Trail Files:
/GoldenGate/app/dirdat/ea000567 (current)
/GoldenGate/app/dirdat/ea000566
/GoldenGate/app/dirdat/ea000565
GGSCI (fgedu.net.cn)> INFO CHECKPOINTTABLE
Group Name Table Name Seqno RBA Timestamp
E_FGEDU01 fgedu01.fgedu_orders 567 890123 2024-01-15 10:35:00
E_FGEDU01 fgedu01.fgedu_products 567 890123 2024-01-15 10:35:00
R_FGEDU01 fgedu01.fgedu_orders 567 890123 2024-01-15 10:34:58
R_FGEDU01 fgedu01.fgedu_products 567 890123 2024-01-15 10:34:58
Part05-风哥经验总结与分享
5.1 GGSCI命令行工具最佳实践
基于实际项目经验,总结GGSCI命令行工具的最佳使用实践。
最佳实践建议:
1. 脚本化:将常用操作封装成脚本,提高效率
2. 日志记录:所有操作记录日志,便于审计和排查
3. 错误处理:脚本中加入错误处理逻辑
4. 定时任务:使用cron定时执行监控脚本
5. 权限管理:严格控制GGSCI访问权限
5.2 GGSCI常见问题与解决方案
汇总GGSCI使用过程中的常见问题及解决方案。
常见问题与解决方案:
1. 命令执行失败:检查语法和参数是否正确
2. 进程无法启动:查看日志文件定位错误原因
3. 权限不足:检查文件和目录权限配置
4. 连接超时:检查网络连接和防火墙设置
5. 环境变量未设置:确认OGG_HOME等环境变量正确
5.3 GGSCI常用命令速查手册
提供GGSCI常用命令的快速参考手册。
cat > /GoldenGate/app/docs/ggsci_quick_reference.txt << 'EOF'
========== GGSCI常用命令速查 ==========
【信息查询】
INFO ALL – 查看所有进程信息
INFO EXTRACT * – 查看所有Extract进程
INFO REPLICAT * – 查看所有Replicat进程
STATUS ALL – 查看所有进程状态
STATS EXTRACT name, TOTAL – 查看Extract统计信息
STATS REPLICAT name, TOTAL – 查看Replicat统计信息
LAG EXTRACT name – 查看Extract延迟
LAG REPLICAT name – 查看Replicat延迟
【进程控制】
START EXTRACT * – 启动所有Extract
START REPLICAT * – 启动所有Replicat
STOP EXTRACT name – 停止指定Extract
STOP REPLICAT name – 停止指定Replicat
KILL EXTRACT name – 强制终止Extract
KILL REPLICAT name – 强制终止Replicat
【配置管理】
ADD EXTRACT name – 添加Extract进程
ADD REPLICAT name – 添加Replicat进程
EDIT PARAMS name – 编辑配置文件
VIEW PARAMS name – 查看配置文件
DELETE EXTRACT name – 删除Extract进程
DELETE REPLICAT name – 删除Replicat进程
【高级功能】
SEND EXTRACT name, STATUS – 发送命令到进程
ALTER EXTRACT name – 修改进程配置
VIEW REPORT name – 查看进程报告
HELP command – 查看命令帮助
EXIT – 退出GGSCI
EOF
cat /GoldenGate/app/docs/ggsci_quick_reference.txt
【信息查询】
INFO ALL – 查看所有进程信息
INFO EXTRACT * – 查看所有Extract进程
INFO REPLICAT * – 查看所有Replicat进程
STATUS ALL – 查看所有进程状态
STATS EXTRACT name, TOTAL – 查看Extract统计信息
STATS REPLICAT name, TOTAL – 查看Replicat统计信息
LAG EXTRACT name – 查看Extract延迟
LAG REPLICAT name – 查看Replicat延迟
【进程控制】
START EXTRACT * – 启动所有Extract
START REPLICAT * – 启动所有Replicat
STOP EXTRACT name – 停止指定Extract
STOP REPLICAT name – 停止指定Replicat
KILL EXTRACT name – 强制终止Extract
KILL REPLICAT name – 强制终止Replicat
【配置管理】
ADD EXTRACT name – 添加Extract进程
ADD REPLICAT name – 添加Replicat进程
EDIT PARAMS name – 编辑配置文件
VIEW PARAMS name – 查看配置文件
DELETE EXTRACT name – 删除Extract进程
DELETE REPLICAT name – 删除Replicat进程
【高级功能】
SEND EXTRACT name, STATUS – 发送命令到进程
ALTER EXTRACT name – 修改进程配置
VIEW REPORT name – 查看进程报告
HELP command – 查看命令帮助
EXIT – 退出GGSCI
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
