4. 环境搭建与工具准备:实验环境拓扑、操作系统与数据库版本、监控工具配置
在进行备份恢复变更窗口的性能调优之前,必须搭建一个可复现、可观测的实验环境。本章将详细说明实验环境的物理/逻辑拓扑、选用的操作系统与数据库版本,以及核心监控工具(Prometheus/Grafana 与 AWR)的部署与配置要点。
4.1 实验环境拓扑
实验环境采用三节点架构,模拟典型的生产库、备份服务器与监控中心。所有节点位于同一千兆交换网络内,确保网络延迟对备份恢复的影响可被量化分析。
拓扑设计原则: 分离计算、存储与监控负载,避免资源争抢对测试结果产生干扰。
4.2 操作系统与数据库版本
版本选择遵循“接近真实生产、兼顾实验可重复性”的原则。具体版本信息如下表所示:
| 组件 | 版本 | 关键配置 | 用途说明 |
|---|---|---|---|
| 操作系统 | Red Hat Enterprise Linux 8.6 | 内核 4.18.0-372 | 稳定、兼容 Oracle 19c 与 Prometheus 生态 |
| 数据库 | Oracle Database 19c (19.16) | PDB 模式 + 归档日志开启 | 支持 RMAN 增量备份、AWR 自动负载库 |
| 备份工具 | RMAN 19c + OSB (可选) | 通道数 4、备份片大小 2GB | 模拟全量/增量备份与恢复场景 |
| 文件系统 | XFS (本地) + NFSv4 (共享) | 挂载选项 rw,noatime,hard,intr | 备份集存储与归档日志传输 |
版本选择提示: Oracle 19c 是当前长期支持版本(LTS),其 AWR 报告在 19.10 之后增加了对备份 I/O 的细粒度等待事件统计,非常适合本课程的调优分析。
4.3 监控工具配置
监控体系分为两个层面:系统资源层(CPU、内存、磁盘 I/O、网络)使用 Prometheus + Grafana 实时采集与可视化;数据库内部层(等待事件、SQL 级 I/O、备份会话)使用 Oracle AWR 与 v$ 视图进行深度分析。
4.3.1 Prometheus + Grafana 部署
Prometheus 负责从各节点拉取指标,Grafana 提供仪表盘展示。部署步骤简述如下:
- 安装 Prometheus Server(监控中心节点):
# 下载并解压 wget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz tar -xzf prometheus-2.45.0.linux-amd64.tar.gz -C /opt/ # 配置 prometheus.yml,添加 node_exporter 与 oracle_exporter 目标 scrape_configs: - job_name: 'node' static_configs: - targets: ['192.168.1.10:9100', '192.168.1.20:9100', '192.168.1.30:9100'] - job_name: 'oracle' static_configs: - targets: ['192.168.1.10:9161'] - 部署 node_exporter(所有节点):
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz tar -xzf node_exporter-1.6.0.linux-amd64.tar.gz ./node_exporter --web.listen-address=:9100 & - 部署 oracle_exporter(数据库节点):
# 使用 iancoleman/oracle_exporter 或 Prometheus-Oracle-Exporter ./oracle_exporter --connection="user/pass@//localhost:1521/ORCL" --port=9161 & - 配置 Grafana 数据源与仪表盘:
- 添加 Prometheus 数据源(URL:
http://192.168.1.30:9090) - 导入 Node Exporter Full 仪表盘(ID: 1860)
- 自定义备份 I/O 面板:监控
node_disk_io_time_seconds_total与oracle_session_wait_class
- 添加 Prometheus 数据源(URL:
4.3.2 AWR 配置与关键视图
AWR(Automatic Workload Repository)是 Oracle 内置的性能诊断工具。在备份恢复调优中,重点关注以下 AWR 报告项:
| AWR 报告章节 | 关键指标 | 与备份恢复的关联 |
|---|---|---|
| 等待事件(Top 5 Timed Events) | log file switch, control file sequential read, backup: sbtwrite | 识别备份期间的 I/O 瓶颈与日志竞争 |
| 系统统计(System Statistics) | physical read/write total IO requests, redo size | 量化备份产生的 I/O 负载与重做量 |
| SQL 统计(SQL ordered by Elapsed Time) | RMAN 内部 SQL(如 BACKUP, COPY 命令) | 定位低效的备份 SQL 或并行度不足 |
| I/O 统计(I/O Stats by Function) | Backup, Archival, Datafile Read/Write | 区分备份 I/O 与业务 I/O 的资源消耗 |
配置注意: 确保 AWR 快照间隔与备份窗口对齐。建议在备份开始前手动创建一次快照,备份结束后立即再创建一次,以便精确捕获备份期间的性能数据。
-- 手动创建 AWR 快照(备份前后各执行一次)
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
-- 生成 AWR 报告(指定开始与结束快照 ID)
@?/rdbms/admin/awrrpt.sql
-- 选择格式:html,输入快照 ID 范围
4.4 工具配置清单速查
以下清单用于快速验证环境是否就绪:
- 网络连通性: 所有节点之间
ping延迟 < 1ms,telnet端口可达(9100, 9161, 9090, 3000) - 时间同步:
timedatectl status显示 NTP 同步,各节点时间偏差 < 100ms - Prometheus 目标状态: 访问
http://<prometheus>:9090/targets,所有 exporter 状态为 UP - Grafana 数据源: 测试通过,无超时或认证错误
- AWR 快照:
SELECT * FROM dba_hist_snapshot ORDER BY snap_id DESC;返回最近 24 小时内的快照记录
实战建议: 在正式进行备份恢复测试前,先运行一次 10 分钟的空载监控,确认 Grafana 仪表盘能正常显示基线数据。这能帮助你在后续调优中快速区分“环境噪声”与“真实性能变化”。