1. OEM 测试环境

本次测试使用EM12C完成数据库日常维护和监控测试,特别需要测试诊断包和调优包的功能。

    1. 硬件环境

HP Proliant DL580 服务器

    1. 8颗双核CPU
    2. 8 G 内存
    3. 375 G 硬盘 raid-0
    4. 2*千兆网卡

    1. 软件环境
  1. OS:Oracle Enterprise Linux 5.7 X86_64
  2. EM :Enterprise Manager Cloud Control 12C

https://11.201.21.30:7799/em

  1. Reporsitory :Oracle Database 11gR2
    1. 测试对象

数据库一:

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

  1. OEM 1c介绍
    1. 概述:

Oracle Enterprise Manager 是一个全面的数据中心的监控管理平台; 

通过一系列不同功能的管理包简化了系统管理、降低了管理成本,将IT人员从日常繁琐、复杂、重复的管理任务中解放出来,把更多的时间和精力投入到和业务相关的企业数据管理中去。同时在业务系统出现异常出现之前主动进行故障隔离并处理,提高业务用户对IT服务的满意度; 

    1. 功能
  • 日常监控:对数据库、应用服务器、存储和IO、空间使用、应用性能、网络设备、主机的运行状态进行监控,及时发现故障和异常等,并通知系统管理人员; 
  • 日常管理:如数据库的备份管理、安全管理、对象管理、空间管理、灾难备份等; 
  • 数据库性能优化:捕获需要优化的SQL语句,进行自动优化;
  • 软件分发:包括克隆软件、安装补丁等;
  • 报表:对系统的运行状况提供自定义报表;
  • 其它;
    1. 管理包主要功能
  • Diagnostics Pack

提供了自动性能诊断和高级系统监控的功能

  • Tuning Pack

提供专家级的性能优化管理,包括SQL调优和存储优化

  • Change Management Pack

捕获并记录数据库对象与属性的变更,使用户在不停机的情况下能够更快速地修改应用程序 

  • Configuration Management Pack

自动化了数据库环境下管理软件和硬件配置和部署的过程

  • Provision Pack for Database

标准化软件部署的流程,减少手工操作风险,提高大规模部署的效率

  • Data Masking Pack

可以为第三方(开发商或测试服务商)提供与真实业务数据相同特性的测试数据,同时避免泄漏真实的业务数据

  1. EM 12c常用功能测试
    1. 数据库监控

每个被管理数据库都有“主页”,提供其运行情况和性能状态的统一的浏览视图。在该主页上只显示对于测量此目标最重要的度量----而更多详细信息可以通过下钻获得。最先只显示最重要的度量,这样有助于管理员迅速隔离和诊断目标所遇到问题的根本原因。此外,目标主页为管理员提供对配置信息和管理特性的直接访问,并提供对管理功能的快速访问。

数据库主页在单个屏幕上为用户提供所有相关实例信息的全面汇总:

  1. 当前实例的可用性
  2. 显著的报警
  3. 主要的空间使用度量
  4. 实例名称,数据库版本,oracle主目录的位置及其他相关实例数据

通过从数据库主页下钻,可以直观的访问其他详细信息,如下图:

通过点击ecbase_shebei2实例,下钻到具体的性能监控主页上,如下图:

    1. 事件通知

右下角事件/问题一栏里面,列出当前数据库相关警告和报错,如下图:

    1. 问题处理

点击具体一个报警,关于这个报警的详细的信息被罗列出来,如下图:

还可以通过集成在12c 中的My Oracle Support寻找问题根源,如下图:

    1. 主机监控

除了数据库的常用监控,EM 12c还提供了主机方面的性能监控,如下图:

    1. 中间件监控

下钻:

下钻:

    1. Top Activity监控

监控数据库当前的top活动,如下图:

    1. Top SQL监控

监控数据库当前正在运行的top SQL语句:

    1. Top Session监控

监控数据库当前正在活动的sessions,如果某个session有异常,可以通过界面上面的button,进行kill:

  1. EM 12c诊断包测试

Oracle诊断包一个内置在oracle数据库内核中的自我诊断引擎,称为自动数据库诊断监视程序(ADDM),它使数据库能够自动诊断其性能问题,因而将管理员从这项复杂而艰巨的任务中完全解放出来。

ADDM定期检查数据库的状态,自动确定潜在的数据库性能瓶颈问题,并提供校正措施建议。这一切都在几秒内完成,几乎不影响总体的系统性能。OEM 以一种方便直观的形式提供ADDM的结果和建议,并引导管理员逐步实施ADDM的建议,快速解决性能问题。

ADDM首先集中分析耗费数据库时间最多的操作,然后通过复杂的问题分类树进行下钻,以确定问题的根本原因;

    1. 诊断分析(Oracle 9i )
  • 在数据库的” Performance home”里查看总体性能概览,点击”Average Active Sessions”里的类别进行下钻分析

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

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

  • 查看SQL的执行计划

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

  • 基于Snap 或 Baseline 的ASH  Report

  • ADDM时段比较

  • ASH历史数据分析

  • ASH历史数据分析(基于Top SQL的维度)
  1. EM 12c调优包测试

Oracle 性能优化包(Oracle 数据库产品集的一部分)提供了一个经济高效且易于使用的解决方案,能够实现整个应用程序调优过程的自动化。利用企业管理器中无缝集成的SQL Advisor功能,SQL 性能得到了增强,为复杂、费时的应用程序自动调优任务提供了一个全面的解决方案。

SQL Tuning Advisor 执行四种类型的分析:

  1. 统计信息分析:查询优化程序需要最新的对象统计信息,以生成良好的执行计划。在这种分析中,将识别统计信息陈旧或缺失的对象,并提供解决该问题的适当建议。
  2. SQL 监测:这是在Oracle 数据库10g 中引进的新特性,它彻底改变了SQL 调优的方法。传统的SQL 调优需要利用优化程序提示来手动处理应用程序代码。SQL 监测消除了对这种手动过程的依赖,并且可以在不更改应用程序代码的前提下优化SQL 语句。这种无需更改应用程序代码即可优化SQL 的功能还有助于解决优化打包应用程序的问题。现在,打包应用程序的用户不再需要记录错误;并将其报告给应用程序供应商,然后等待几个星期或几个月来获得代码补丁以调优语句。利用SQL 监测,可立即自动执行调优过程。
  3. 访问路径分析:索引可以通过减少全表扫描极大地提高SQL 语句的性能。因此,创建高效的索引是一种常见的调优技巧。在这种分析中,将识别和推荐能够显著提高查询性能的新索引。
  4. SQL 结构分析:SQL 语句结构存在的问题可能导致性能不佳。这些问题包括语句的语法、语义或设计等问题。在这种分析中,将提供相关的建议来重新构造选定的SQL 语句的结构以提高性能。
  1. 调优案例:

在进行调优包测试的时候,模拟了一个高耗cpu资源的语句进行相关功能测试,测试案例是:一个大表和一个小表的笛卡尔乘积查询;

下钻:

下钻:

下钻:

SQL语句具体执行计划:

提交一个调优的计划:

具体调优的建议,如下图:

  1. 调优特性:
  • 实时SQL的监控

  • 自动SQL调优
  1. EM 12c Agent资源消耗测试

在EM 12c进行监控的过程中,被监控的主机上,是需要安装一个agent来负责收集相关监控数据;由于被监控的服务器很多情况下,上面都运行着公司的核心生产应用。Agent的运行是否会对当前系统造成压力,或者会影响现有环境的性能,针对客户比较关心的这个问题,我们在客户的环境中,对部署过的Agent机器进行了监控,得出如下结论:

    1. Agent 运行状态

    1. Agent cpu使用情况
    1. Agent进程内存占用情况

  1. EM 12c用户权限设置测试

系统安全性是任何公司考虑的一个主要问题。为所有管理员提供对所有系统的相同访问级别是危险的。利用12c的管理员权限和角色特性,这项繁重的工作可以在数秒内完成。通过创建角色(角色是预定义的目标或系统权限的集合),管理员只需将适当的角色分配给团队中的成员即可。这种角色和权限的授权保证了OEM所有功能领域中的安全性。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐