1. 首页 > Oracle教程 > 正文

Oracle教程FG239-Exadata维护

本文档详细介绍Oracle Exadata数据库一体机的维护管理,风哥教程参考Oracle官方文档Exadata部分。更多视频教程www.fgedu.net.cn

Part01-基础概念与理论知识

1.1 Exadata维护概述

Exadata维护是确保系统稳定运行的重要工作,包括日常维护、监控告警、故障处理等。学习交流加群风哥微信: itpux-com

Exadata维护的主要目标:

  • 系统稳定:确保系统稳定运行
  • 性能优化:保持系统高性能
  • 故障预防:预防故障发生
  • 快速恢复:故障发生时快速恢复
  • 数据安全:确保数据安全

1.2 日常维护任务

Exadata日常维护的主要任务:

  • 系统监控:
    • 监控服务器状态
    • 监控存储状态
    • 监控网络状态
    • 监控数据库状态
  • 性能监控:
    • 监控CPU使用率
    • 监控内存使用率
    • 监控IO性能
    • 监控网络带宽
  • 容量管理:
    • 监控存储容量
    • 预测容量需求
    • 规划容量扩展
  • 日志管理:
    • 检查系统日志
    • 检查数据库日志
    • 检查告警日志

1.3 维护工具

Exadata维护的主要工具:

  • 数据库服务器工具:
    • dbmcli:数据库服务器命令行工具
    • dcli:分布式命令行工具
    • ipmitool:硬件管理工具
  • 存储服务器工具:
    • cellcli:存储服务器命令行工具
    • cellsrvstat:存储服务器状态工具
  • 数据库工具:
    • sqlplus:SQL命令行工具
    • srvctl:服务管理工具
    • crsctl:集群管理工具
    • asmcmd:ASM管理工具
  • 监控工具:
    • EMCC:企业管理器云控制
    • sundiag:诊断工具
    • exachk:健康检查工具

Part02-生产环境规划与建议

2.1 维护计划

Exadata维护计划的主要考虑因素:

  • 日常维护:
    • 每日:检查告警、检查日志
    • 每周:检查性能、检查容量
    • 每月:检查备份、检查配置
  • 定期维护:
    • 补丁更新:定期更新系统补丁
    • 健康检查:定期运行exachk
    • 性能优化:定期优化性能
  • 维护窗口:
    • 规划维护窗口
    • 通知相关人员
    • 准备回滚方案

2.2 监控告警

Exadata监控告警的主要配置:

  • 硬件监控:
    • CPU温度监控
    • 风扇状态监控
    • 电源状态监控
    • 磁盘状态监控
  • 系统监控:
    • CPU使用率监控
    • 内存使用率监控
    • IO性能监控
    • 网络性能监控
  • 数据库监控:
    • 会话数监控
    • 等待事件监控
    • 表空间使用率监控
    • ASM磁盘组监控

2.3 备份恢复

Exadata备份恢复的主要策略:

  • 数据库备份:
    • RMAN备份:定期备份数据库
    • 快照备份:使用存储快照
    • Data Guard:使用Data Guard保护
  • 系统备份:
    • 配置备份:备份系统配置
    • 软件备份:备份软件安装
    • 镜像备份:备份系统镜像
  • 恢复测试:
    • 定期测试恢复
    • 验证备份有效性
    • 记录恢复时间

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

Exadata维护实施的主要步骤:

  1. 建立维护流程:
    • 制定维护计划
    • 制定维护流程
    • 制定应急预案
  2. 配置监控告警:
    • 配置硬件监控
    • 配置系统监控
    • 配置数据库监控
    • 配置告警通知
  3. 配置备份策略:
    • 配置数据库备份
    • 配置系统备份
    • 配置备份监控
  4. 培训运维人员:
    • 培训维护操作
    • 培训故障处理
    • 培训应急响应

Part04-生产案例与实战讲解

4.1 检查系统状态

# 登录数据库服务器
ssh root@fgedu-db01

# 检查数据库服务器状态
dbmcli -e list dbserver detail

# 输出日志
name: fgedu-db01
bbuStatus: healthy
cpuCount: 192
fanCount: 8
fanStatus: normal
powerCount: 2
powerStatus: normal
status: online
temperature: 25C

# 检查所有数据库服务器状态
dcli -g /opt/oracle.SupportTools/onecommand/dbs_group -l root “dbmcli -e list dbserver attributes status”

# 输出日志
fgedu-db01: online
fgedu-db02: online

# 检查存储服务器状态
dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root “cellcli -e list cell attributes status”

# 输出日志
fgedu-cell01: online
fgedu-cell02: online
fgedu-cell03: online

4.2 检查磁盘状态

# 登录存储服务器
ssh root@fgedu-cell01

# 检查物理磁盘状态
cellcli -e list physicaldisk detail

# 输出日志
name: 8:0
deviceId: 8
diskType: HardDisk
luns: 8_0
makeModel: “HGST HUH721212AL5200”
physicalSize: 12T
status: normal

name: 8:1
deviceId: 8
diskType: HardDisk
luns: 8_1
makeModel: “HGST HUH721212AL5200”
physicalSize: 12T
status: normal

# 检查所有存储服务器磁盘状态
dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root “cellcli -e list physicaldisk attributes status”

# 输出日志
fgedu-cell01: normal normal normal normal normal normal normal normal normal normal normal normal
fgedu-cell02: normal normal normal normal normal normal normal normal normal normal normal normal

4.3 检查ASM磁盘组

# 登录数据库服务器
ssh oracle@fgedu-db01

# 检查ASM磁盘组状态
sqlplus / as sysasm

SQL> SELECT name, state, type, total_mb, free_mb,
round(free_mb/total_mb*100,2) free_pct
FROM v$asm_diskgroup;

# 输出日志
NAME STATE TYPE TOTAL_MB FREE_MB FREE_PCT
———- ———– —— ———- ———- ———-
DATA MOUNTED HIGH 104857600 52428800 50.00
RECO MOUNTED HIGH 52428800 26214400 50.00

# 检查ASM磁盘状态
SQL> SELECT name, path, mode_status, state, total_mb, free_mb
FROM v$asm_disk WHERE state != ‘NORMAL’ OR mode_status != ‘ONLINE’;

# 输出日志
no rows selected

# 使用asmcmd检查
asmcmd lsdg

# 输出日志
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED HIGH N 512 4096 4194304 104857600 52428800 34952533 17476266 0 N DATA/
MOUNTED HIGH N 512 4096 4194304 52428800 26214400 17476266 8738133 0 N RECO/

4.4 检查数据库状态

# 登录数据库服务器
ssh oracle@fgedu-db01

# 检查数据库实例状态
srvctl status database -db fgedudb

# 输出日志
数据库实例 fgedudb1 正在节点 fgedu-db01 上运行
数据库实例 fgedudb2 正在节点 fgedu-db02 上运行

# 检查集群资源状态
crsctl status resource -t

# 输出日志
Name Target State Server State details
Local Resources

ora.DATA.dg
ONLINE ONLINE fgedu-db01 STABLE
ONLINE ONLINE fgedu-db02 STABLE

ora.LISTENER.lsnr
ONLINE ONLINE fgedu-db01 STABLE
ONLINE ONLINE fgedu-db02 STABLE

Cluster Resources

ora.fgedudb.db
1 ONLINE ONLINE fgedu-db01 Open,HOME:/oracle/product/19.0.0/dbhome_1,STABLE
2 ONLINE ONLINE fgedu-db02 Open,HOME:/oracle/product/19.0.0/dbhome_1,STABLE

# 检查数据库告警日志
adrci

adrci> show alert -tail 20

# 输出日志
2026-04-01 10:00:00.000000 +08:00
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Initial number of CPU is 192
Number of processor cores in the system is 96

4.5 运行健康检查

# 登录数据库服务器
ssh root@fgedu-db01

# 运行exachk健康检查
cd /opt/oracle.SupportTools/exachk
./exachk

# 输出日志
EXACHK VERSION: 19.3.0.0.0

Collecting data from fgedu-db01
Collecting data from fgedu-db02
Collecting data from fgedu-cell01
Collecting data from fgedu-cell02
Collecting data from fgedu-cell03

Generating report…

EXACHK REPORT
==============

System Information:
– Database Servers: 2
– Storage Servers: 3
– Database Version: 19.3.0.0.0
– Storage Server Version: 19.3.0.0.0

Summary:
– CRITICAL: 0
– WARNING: 2
– INFO: 5

WARNING Findings:
1. ASM disk group DATA free space is below 60%
2. Database parameter SGA_TARGET is not set

Report saved to: /opt/oracle.SupportTools/exachk/exachk_fgedudb_20260401.html

4.6 更新系统补丁

# 登录数据库服务器
ssh root@fgedu-db01

# 检查当前版本
dbmcli -e list dbserver attributes version

# 输出日志
19.3.0.0.0

# 下载补丁
# 从Oracle Support下载最新补丁

# 应用存储服务器补丁
cd /opt/oracle.SupportTools/patch
./patchmgr -cells /opt/oracle.SupportTools/onecommand/cell_group -patch -rolling

# 输出日志
Starting rolling patch of storage servers…
Patching fgedu-cell01…
Patching fgedu-cell02…
Patching fgedu-cell03…
Rolling patch completed successfully

# 应用数据库服务器补丁
./patchmgr -dbnodes /opt/oracle.SupportTools/onecommand/dbs_group -patch -rolling

# 输出日志
Starting rolling patch of database servers…
Patching fgedu-db01…
Patching fgedu-db02…
Rolling patch completed successfully

# 验证补丁版本
dcli -g /opt/oracle.SupportTools/onecommand/cell_group -l root “cellcli -e list cell attributes releaseVersion”

# 输出日志
fgedu-cell01: 19.3.0.0.240416
fgedu-cell02: 19.3.0.0.240416
fgedu-cell03: 19.3.0.0.240416

Part05-风哥经验总结与分享

5.1 维护经验总结

  • 定期检查:定期检查系统状态,及时发现问题
  • 监控告警:配置完善的监控告警,及时响应
  • 文档记录:详细记录维护操作和问题处理
  • 定期备份:定期备份系统和数据,确保数据安全
  • 持续学习:持续学习新技术和新特性

5.2 常见问题与解决方案

  • 磁盘故障:
    • 识别故障磁盘
    • 更换故障磁盘
    • 重建数据
  • 网络故障:
    • 检查网络配置
    • 检查InfiniBand状态
    • 重启网络服务
  • 性能问题:
    • 检查系统负载
    • 检查IO性能
    • 优化SQL语句

5.3 经验分享

  • 预防为主:定期维护,预防故障发生
  • 快速响应:配置监控告警,快速响应问题
  • 团队协作:维护工作需要团队协作
  • 知识共享:分享经验和最佳实践
  • 持续改进:根据运行情况,持续改进维护流程

联系我们

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

微信号:itpux-com

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