1. 首页 > GoldenGate教程 > 正文

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。

# 启动GGSCI
cd /GoldenGate/app
./ggsci

Oracle GoldenGate Command Interpreter for Oracle
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帮助信息
GGSCI (fgedu.net.cn)> HELP

GGSCI Commands:

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 for detailed information about a specific command.

1.2 GGSCI命令分类与语法规范

GGSCI命令按照功能可以分为信息查询类、进程控制类、配置管理类、诊断分析类等多个类别。

# 查看所有Extract进程
GGSCI (fgedu.net.cn)> INFO EXTRACT *, TASKS

EXTRACT E_FGEDU01 Last Started 2024-01-15 08:00 Status RUNNING
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.*

# 查看所有Replicat进程
GGSCI (fgedu.net.cn)> INFO REPLICAT *, TASKS

REPLICAT R_FGEDU01 Last Started 2024-01-15 08:00 Status RUNNING
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

/GoldenGate/app

# 查看GGSCI配置文件
cat /GoldenGate/app/GLOBALS

GGSCHEMA fgedu
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

# 权限配置完成

# 创建OGG管理用户组
groupadd oggadmin
useradd -g oggadmin ogguser
chown -R ogguser:oggadmin /GoldenGate/app

# 用户组创建完成

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

3.1 GGSCI批量操作命令实施

GGSCI支持批量操作命令,可以同时管理多个OGG进程。

# 批量启动所有Extract进程
GGSCI (fgedu.net.cn)> START EXTRACT *

Sending START request to MANAGER …
EXTRACT E_FGEDU01 starting
EXTRACT E_FGEDU02 starting

All Extract processes started successfully.

# 批量启动所有Replicat进程
GGSCI (fgedu.net.cn)> START REPLICAT *

Sending START request to MANAGER …
REPLICAT R_FGEDU01 starting
REPLICAT R_FGEDU02 starting

All Replicat processes started successfully.

# 批量停止所有进程
GGSCI (fgedu.net.cn)> STOP *

Sending STOP request to MANAGER …
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

#!/bin/bash
# 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

========== OGG批量操作: Mon Jan 15 10:00:00 CST 2024 ==========
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运行状态。

# 查看Extract进程统计信息
GGSCI (fgedu.net.cn)> STATS EXTRACT E_FGEDU01, TOTAL

Extract E_FGEDU01 statistics:

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

# 查看Replicat进程统计信息
GGSCI (fgedu.net.cn)> STATS REPLICAT R_FGEDU01, TOTAL

Replicat R_FGEDU01 statistics:

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

Sending LAG request to 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

EXTRACT E_FGEDU01 Last Updated 2024-01-15 10:00:00
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

Oracle GoldenGate Extract for Oracle
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

#!/bin/bash
# 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

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

4.2 OGG自动化运维脚本实战

展示完整的OGG自动化运维脚本,包含监控、告警、自动恢复等功能。

# 创建监控脚本
vi /GoldenGate/app/scripts/ogg_monitor.sh

#!/bin/bash
# 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

========== OGG监控检查: Mon Jan 15 10:00:00 CST 2024 ==========
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

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

# 查看Trail文件信息
GGSCI (fgedu.net.cn)> INFO TRAIL /GoldenGate/app/dirdat/ea

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

Checkpoint table fgedu.ogg_chkpt:

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常用命令的快速参考手册。

# 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

========== 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

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

联系我们

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

微信号:itpux-com

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