Skip to content

Oracle Enterprise Manager (OEM)

OEM概述

Oracle Enterprise Manager (OEM) 是Oracle官方提供的集成化数据库管理和监控平台,提供了全面的数据库生命周期管理功能。OEM可以管理Oracle数据库、中间件、应用服务器等多种Oracle产品,是DBA日常运维工作的重要工具。

OEM的核心功能

  • 全面监控:实时监控数据库性能、可用性、资源使用情况
  • 自动化管理:自动执行日常维护任务,如备份、优化、补丁管理
  • 性能优化:提供SQL调优、性能分析、等待事件分析等功能
  • 配置管理:集中管理数据库配置,支持配置对比和变更管理
  • 安全管理:用户权限管理、审计、漏洞扫描等
  • 补丁管理:自动检测和应用补丁,确保系统安全
  • 云管理:支持Oracle Cloud和混合云环境管理
  • 报告和分析:生成各种性能报告和合规报告

OEM架构

OEM采用分层架构,主要包括以下组件:

  • Oracle Management Repository (OMR):存储监控数据、配置信息和管理元数据的数据库
  • Oracle Management Service (OMS):处理管理请求、生成报告、管理代理的中间层组件
  • Oracle Management Agent (OMA):安装在被管理主机上,收集监控数据并执行管理任务
  • Oracle Enterprise Manager Cloud Control Console:基于Web的用户界面,用于访问OEM功能

OEM安装与配置

1. 系统要求

硬件要求

组件最低配置推荐配置
服务器CPU8核16核或更多
服务器内存32GB64GB或更多
存储空间200GB500GB或更多
网络带宽1Gbps10Gbps

软件要求

组件版本要求
操作系统Linux 7.x/8.x, Windows Server 2016/2019
数据库Oracle Database 19c Enterprise Edition
JDKOracle JDK 1.8或更高版本
Web浏览器Chrome 80+, Firefox 75+, Safari 13+, Edge 80+

2. OEM安装步骤

步骤1:准备安装环境

  1. 确保操作系统满足要求
  2. 安装并配置Oracle Database作为OMR
  3. 配置网络和防火墙
  4. 创建必要的用户和组

步骤2:下载OEM安装包

从Oracle官网下载最新版本的OEM安装包:

步骤3:运行安装向导

bash
# 解压安装包
tar -xvf em13500_linux64.bin

# 运行安装向导
./runInstaller

步骤4:安装配置

按照安装向导的提示进行配置:

  1. 选择安装类型(新建安装或升级)
  2. 配置OMR数据库连接信息
  3. 配置OMS和Agent参数
  4. 配置端口和网络设置
  5. 配置安全选项
  6. 验证安装配置
  7. 开始安装

步骤5:安装后配置

  1. 运行配置脚本
  2. 启动OMS和Agent
  3. 访问OEM控制台
  4. 配置初始设置

3. Agent安装

Agent是安装在被管理主机上的组件,用于收集监控数据和执行管理任务。

手动安装Agent

bash
# 从OMS服务器下载Agent安装包
./emcli get_agentimage -destination=/tmp/agent -platform="Linux x86-64"

# 在被管理主机上解压安装包
unzip /tmp/agent/13.5.0.0.0_AgentCore_23012023_1600.zip -d /u01/app/oracle/agent

# 运行Agent配置脚本
cd /u01/app/oracle/agent
./agentDeploy.sh AGENT_BASE_DIR=/u01/app/oracle/agent OMS_HOST=oms.example.com EM_UPLOAD_PORT=4903 AGENT_REGISTRATION_PASSWORD=password

使用OEM控制台安装Agent

  1. 登录OEM控制台
  2. 导航到"设置" > "添加目标" > "手动添加"
  3. 选择"添加主机目标"
  4. 按照向导提示完成Agent安装

OEM使用方法

1. 监控功能

数据库性能监控

  1. 登录OEM控制台
  2. 导航到"目标" > "数据库"
  3. 选择要监控的数据库
  4. 在"性能"选项卡中查看:
    • 实时性能监控
    • 等待事件分析
    • SQL性能分析
    • 资源使用情况
    • AWR报告生成

系统监控

  1. 导航到"目标" > "主机"
  2. 选择要监控的主机
  3. 查看CPU、内存、磁盘、网络等系统资源使用情况

告警管理

  1. 导航到"监控" > "告警"
  2. 查看所有告警
  3. 配置告警规则和通知
  4. 处理和清除告警

2. 性能优化

SQL调优

  1. 导航到"性能" > "SQL调优顾问"
  2. 输入要调优的SQL语句或SQL ID
  3. 运行SQL调优顾问
  4. 查看调优建议
  5. 实施调优建议

性能分析

  1. 导航到"性能" > "性能中心"
  2. 查看性能趋势
  3. 分析等待事件
  4. 识别性能瓶颈
  5. 生成性能报告

3. 自动化管理

作业调度

  1. 导航到"作业" > "作业库"
  2. 创建新作业或使用模板
  3. 配置作业参数和调度
  4. 监控作业执行情况

自动维护任务

  1. 导航到"管理" > "自动维护任务"
  2. 配置自动备份、统计信息收集、SQL调优等任务
  3. 设置执行时间和频率
  4. 监控任务执行情况

4. 配置管理

配置对比

  1. 导航到"配置" > "配置对比"
  2. 选择要对比的目标和配置项
  3. 运行配置对比
  4. 查看差异报告

变更管理

  1. 导航到"配置" > "变更管理"
  2. 创建变更请求
  3. 实施变更
  4. 验证变更效果
  5. 关闭变更请求

5. 安全管理

用户和权限管理

  1. 导航到"安全" > "用户"
  2. 管理数据库用户和角色
  3. 配置权限和访问控制
  4. 审计用户活动

漏洞扫描

  1. 导航到"安全" > "合规性"
  2. 运行漏洞扫描
  3. 查看扫描报告
  4. 修复发现的漏洞

19c和21c OEM差异

1. OEM版本与数据库版本兼容性

OEM版本支持的数据库版本
OEM 13.511gR2, 12c, 18c, 19c, 21c
OEM 14c12c, 18c, 19c, 21c, 23c

2. 21c数据库在OEM中的增强功能

自动索引管理

  • OEM 13.5及以上版本支持Oracle 21c的自动索引功能
  • 可以在OEM中监控和管理自动索引
  • 查看自动索引的创建、使用和删除情况
  • 配置自动索引的策略和参数

实时统计信息

  • 监控Oracle 21c的实时统计信息收集情况
  • 查看实时统计信息对SQL执行计划的影响
  • 配置实时统计信息收集策略

云原生支持

  • 增强的容器和Kubernetes支持
  • 支持Oracle 21c在容器环境中的监控和管理
  • 与Oracle Cloud Infrastructure (OCI) 的深度集成

机器学习增强

  • 基于机器学习的性能预测和异常检测
  • 智能告警和自动修复建议
  • 机器学习驱动的SQL调优

3. OEM 14c新增功能

  • 现代化用户界面:全新的Web界面,更直观、更易用
  • 增强的云管理:更好地支持混合云和多云环境
  • 改进的性能监控:更细粒度的性能数据收集和分析
  • 自动化增强:更多的自动化任务和智能建议
  • 增强的安全功能:更全面的安全监控和合规管理

生产环境OEM最佳实践

1. OEM部署最佳实践

  • 分离OMR和生产数据库:OMR应部署在独立的数据库实例上,避免影响生产数据库性能
  • 高可用部署:配置OMS和OMR的高可用,确保OEM服务不中断
  • 合理规划存储:为OMR和Agent日志配置足够的存储空间,并实现存储分层
  • 优化网络:确保OMS和Agent之间的网络带宽充足,减少监控延迟

2. 监控配置最佳实践

  • 配置合理的告警阈值:避免过多的误告警,同时确保重要问题能及时告警
  • 定期审查告警规则:根据业务需求和系统变化调整告警规则
  • 配置告警通知:确保DBA能及时收到重要告警
  • 建立告警处理流程:明确告警的处理责任和流程

3. 性能优化最佳实践

  • 定期生成AWR报告:每周或每月生成AWR报告,分析性能趋势
  • 使用SQL调优顾问:定期对Top SQL进行调优
  • 监控等待事件:及时识别和解决等待事件问题
  • 优化系统资源:根据监控数据调整系统资源配置

4. 自动化管理最佳实践

  • 自动化日常维护任务:如备份、统计信息收集、索引重建等
  • 使用作业模板:创建标准化的作业模板,提高管理效率
  • 监控自动化任务:定期检查自动化任务的执行情况
  • 逐步实施自动化:从简单任务开始,逐步扩展自动化范围

5. 安全管理最佳实践

  • 限制OEM访问权限:仅授予必要的人员OEM访问权限
  • 启用审计:审计OEM的所有管理操作
  • 定期更改密码:定期更改OEM相关的密码
  • 保持OEM和Agent更新:及时应用OEM和Agent的补丁

OEM常见问题与解决方案

1. OEM控制台访问缓慢

问题:登录OEM控制台或执行操作时响应缓慢

解决方案

  1. 检查OMS服务器的CPU、内存使用情况
  2. 检查OMR数据库性能,优化OMR数据库
  3. 增加OMS实例数量,实现负载均衡
  4. 清理旧的监控数据,减少OMR数据库大小
  5. 优化网络连接,确保OMS和Agent之间的网络畅通

2. Agent状态异常

问题:Agent显示为"Down"或"Unreachable"

解决方案

  1. 检查Agent主机的网络连接
  2. 检查Agent进程是否正在运行
  3. 重启Agent服务
  4. 重新部署Agent
  5. 检查OMS和Agent之间的通信端口

3. 告警风暴

问题:收到大量重复或不重要的告警

解决方案

  1. 调整告警阈值,减少误告警
  2. 配置告警抑制规则
  3. 分组和分类告警
  4. 优化监控目标的配置
  5. 建立告警优先级机制

4. OMR数据库空间不足

问题:OMR数据库表空间使用率过高

解决方案

  1. 增加表空间大小或添加新的数据文件
  2. 清理旧的监控数据
  3. 调整AWR快照保留策略
  4. 优化OMR数据库的存储配置
  5. 考虑使用分区表来管理大量历史数据

5. OEM升级问题

问题:OEM升级失败或遇到兼容性问题

解决方案

  1. 提前做好备份,包括OMR数据库和OEM配置
  2. 仔细阅读升级文档,了解升级要求和注意事项
  3. 在测试环境中先进行升级测试
  4. 确保所有被管理目标都兼容新的OEM版本
  5. 升级后验证所有功能是否正常

19c和21c数据库在OEM中的监控差异

1. 监控指标差异

指标类别19c监控指标21c新增监控指标
性能指标基本性能指标实时统计信息、自动索引指标
内存指标SGA、PGA使用率更细粒度的内存使用分析
I/O指标基本I/O统计I/O延迟分布、I/O吞吐量预测
安全指标基本安全指标增强的审计和合规指标
云指标有限的云指标完整的云资源监控指标

2. 性能分析差异

  • 21c:支持更细粒度的性能分析,包括毫秒级的等待事件分析
  • 21c:增强的SQL计划管理和比较功能
  • 21c:基于机器学习的性能预测和异常检测
  • 21c:更好的容器环境性能监控

3. 自动化管理差异

  • 21c:支持自动索引的监控和管理
  • 21c:增强的自动维护任务,包括实时统计信息收集
  • 21c:更智能的自动化建议,基于机器学习

总结

Oracle Enterprise Manager (OEM) 是DBA日常运维工作的重要工具,提供了全面的数据库监控、管理和优化功能。在生产环境中,合理配置和使用OEM可以显著提高DBA的工作效率,确保数据库系统的稳定运行和良好性能。

对于19c和21c数据库,OEM提供了不同的支持和增强功能。DBA应该根据数据库版本选择合适的OEM版本,并充分利用新版本的增强功能,如自动索引管理、实时统计信息监控、机器学习增强等。

通过遵循OEM最佳实践,包括合理部署、配置监控规则、实施自动化管理、加强安全管理等,可以建立一个高效、可靠的数据库管理系统,确保Oracle数据库的稳定运行和良好性能。