ORACLE Enterprise Manager Cloud Control 系列测试2- 日常管理和SQL优化
本次测试基于EM12C平台对数据库维护监控功能进行验证,重点测试了诊断包和调优包的核心功能。测试环境采用HP ProLiant DL580服务器,部署Oracle Enterprise Linux 5.7系统,监控对象包括Oracle 9i和11g数据库。测试内容涵盖数据库性能监控、事件告警处理、主机资源监控等日常运维功能,特别验证了ADDM自动诊断、SQL调优建议等高级特性。测试结果表明,EM1
- OEM 测试环境
本次测试使用EM12C完成数据库日常维护和监控测试,特别需要测试诊断包和调优包的功能。
-
- 硬件环境
HP Proliant DL580 服务器
-
- 8颗双核CPU
- 8 G 内存
- 375 G 硬盘 raid-0
- 2*千兆网卡
-
- 软件环境
- OS:Oracle Enterprise Linux 5.7 X86_64
- EM :Enterprise Manager Cloud Control 12C
https://11.201.21.30:7799/em
- Reporsitory :Oracle Database 11gR2
- 测试对象
数据库一:
OS:Solaris
DB version: 9.2.0.8
Database Name: ecbase
IP Address: 10.201.21.2
数据库二:
OS:Oracle enterprise linux5.7 (x86-64bit)
DB version: 11.2.0.1
Database Name: emdb
IP Address: 10.201.21.30
- OEM 1c介绍
- 概述:
Oracle Enterprise Manager 是一个全面的数据中心的监控管理平台;
通过一系列不同功能的管理包简化了系统管理、降低了管理成本,将IT人员从日常繁琐、复杂、重复的管理任务中解放出来,把更多的时间和精力投入到和业务相关的企业数据管理中去。同时在业务系统出现异常出现之前主动进行故障隔离并处理,提高业务用户对IT服务的满意度;
-
- 功能
- 日常监控:对数据库、应用服务器、存储和IO、空间使用、应用性能、网络设备、主机的运行状态进行监控,及时发现故障和异常等,并通知系统管理人员;
- 日常管理:如数据库的备份管理、安全管理、对象管理、空间管理、灾难备份等;
- 数据库性能优化:捕获需要优化的SQL语句,进行自动优化;
- 软件分发:包括克隆软件、安装补丁等;
- 报表:对系统的运行状况提供自定义报表;
- 其它;
- 管理包主要功能
- Diagnostics Pack
提供了自动性能诊断和高级系统监控的功能
- Tuning Pack
提供专家级的性能优化管理,包括SQL调优和存储优化
- Change Management Pack
捕获并记录数据库对象与属性的变更,使用户在不停机的情况下能够更快速地修改应用程序
- Configuration Management Pack
自动化了数据库环境下管理软件和硬件配置和部署的过程
- Provision Pack for Database
标准化软件部署的流程,减少手工操作风险,提高大规模部署的效率
- Data Masking Pack
可以为第三方(开发商或测试服务商)提供与真实业务数据相同特性的测试数据,同时避免泄漏真实的业务数据
- EM 12c常用功能测试
- 数据库监控
每个被管理数据库都有“主页”,提供其运行情况和性能状态的统一的浏览视图。在该主页上只显示对于测量此目标最重要的度量----而更多详细信息可以通过下钻获得。最先只显示最重要的度量,这样有助于管理员迅速隔离和诊断目标所遇到问题的根本原因。此外,目标主页为管理员提供对配置信息和管理特性的直接访问,并提供对管理功能的快速访问。
数据库主页在单个屏幕上为用户提供所有相关实例信息的全面汇总:
- 当前实例的可用性
- 显著的报警
- 主要的空间使用度量
- 实例名称,数据库版本,oracle主目录的位置及其他相关实例数据
通过从数据库主页下钻,可以直观的访问其他详细信息,如下图:
通过点击ecbase_shebei2实例,下钻到具体的性能监控主页上,如下图:
-
- 事件通知
右下角事件/问题一栏里面,列出当前数据库相关警告和报错,如下图:
-
- 问题处理

点击具体一个报警,关于这个报警的详细的信息被罗列出来,如下图:
还可以通过集成在12c 中的My Oracle Support寻找问题根源,如下图:
-
- 主机监控
除了数据库的常用监控,EM 12c还提供了主机方面的性能监控,如下图:

-
- 中间件监控
下钻:
下钻:

-
- Top Activity监控
监控数据库当前的top活动,如下图:
-
- Top SQL监控
监控数据库当前正在运行的top SQL语句:
-
- Top Session监控
监控数据库当前正在活动的sessions,如果某个session有异常,可以通过界面上面的button,进行kill:

- EM 12c诊断包测试
Oracle诊断包一个内置在oracle数据库内核中的自我诊断引擎,称为自动数据库诊断监视程序(ADDM),它使数据库能够自动诊断其性能问题,因而将管理员从这项复杂而艰巨的任务中完全解放出来。
ADDM定期检查数据库的状态,自动确定潜在的数据库性能瓶颈问题,并提供校正措施建议。这一切都在几秒内完成,几乎不影响总体的系统性能。OEM 以一种方便直观的形式提供ADDM的结果和建议,并引导管理员逐步实施ADDM的建议,快速解决性能问题。
ADDM首先集中分析耗费数据库时间最多的操作,然后通过复杂的问题分类树进行下钻,以确定问题的根本原因;
-
- 诊断分析(Oracle 9i )
- 在数据库的” Performance home”里查看总体性能概览,点击”Average Active Sessions”里的类别进行下钻分析

- 在”concurrency”类型的分析页面中可以查询到Top Sql 和 Top Sessions:

- 点击此类型的 Top Sql可以查看SQL的具体信息:SQL 语句、统计信息等

- 查看SQL的执行计划

-
- 诊断分析(Oracle 11g)
- 在数据库的” Performance home”里不但可查看总体性能概览,还可以实时的ADDM分析和ASH报告

- 基于Snap 或 Baseline 的ASH Report

- ADDM时段比较

- ASH历史数据分析

- ASH历史数据分析(基于Top SQL的维度)
- EM 12c调优包测试
Oracle 性能优化包(Oracle 数据库产品集的一部分)提供了一个经济高效且易于使用的解决方案,能够实现整个应用程序调优过程的自动化。利用企业管理器中无缝集成的SQL Advisor功能,SQL 性能得到了增强,为复杂、费时的应用程序自动调优任务提供了一个全面的解决方案。
SQL Tuning Advisor 执行四种类型的分析:
- 统计信息分析:查询优化程序需要最新的对象统计信息,以生成良好的执行计划。在这种分析中,将识别统计信息陈旧或缺失的对象,并提供解决该问题的适当建议。
- SQL 监测:这是在Oracle 数据库10g 中引进的新特性,它彻底改变了SQL 调优的方法。传统的SQL 调优需要利用优化程序提示来手动处理应用程序代码。SQL 监测消除了对这种手动过程的依赖,并且可以在不更改应用程序代码的前提下优化SQL 语句。这种无需更改应用程序代码即可优化SQL 的功能还有助于解决优化打包应用程序的问题。现在,打包应用程序的用户不再需要记录错误;并将其报告给应用程序供应商,然后等待几个星期或几个月来获得代码补丁以调优语句。利用SQL 监测,可立即自动执行调优过程。
- 访问路径分析:索引可以通过减少全表扫描极大地提高SQL 语句的性能。因此,创建高效的索引是一种常见的调优技巧。在这种分析中,将识别和推荐能够显著提高查询性能的新索引。
- SQL 结构分析:SQL 语句结构存在的问题可能导致性能不佳。这些问题包括语句的语法、语义或设计等问题。在这种分析中,将提供相关的建议来重新构造选定的SQL 语句的结构以提高性能。
- 调优案例:
在进行调优包测试的时候,模拟了一个高耗cpu资源的语句进行相关功能测试,测试案例是:一个大表和一个小表的笛卡尔乘积查询;
下钻:
下钻:
下钻:

SQL语句具体执行计划:
提交一个调优的计划:
具体调优的建议,如下图:

- 调优特性:
- 实时SQL的监控

- 自动SQL调优

- EM 12c Agent资源消耗测试
在EM 12c进行监控的过程中,被监控的主机上,是需要安装一个agent来负责收集相关监控数据;由于被监控的服务器很多情况下,上面都运行着公司的核心生产应用。Agent的运行是否会对当前系统造成压力,或者会影响现有环境的性能,针对客户比较关心的这个问题,我们在客户的环境中,对部署过的Agent机器进行了监控,得出如下结论:
-
- Agent 运行状态
-
- Agent cpu使用情况
-
- Agent进程内存占用情况
- EM 12c用户权限设置测试
系统安全性是任何公司考虑的一个主要问题。为所有管理员提供对所有系统的相同访问级别是危险的。利用12c的管理员权限和角色特性,这项繁重的工作可以在数秒内完成。通过创建角色(角色是预定义的目标或系统权限的集合),管理员只需将适当的角色分配给团队中的成员即可。这种角色和权限的授权保证了OEM所有功能领域中的安全性。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)