系统健康检查及优化系统
2014-1-1
1.前言
1.健康检查及优化系统
1.1构建健康检查及优化系统的必要性
构建企业级的数据库系统健康检查及优化系统。
企业运营中心利用该系统能够实现对系统的集成监控,包括对所有数据库及其操作系统的状态、事件管理、基于历史性能数据的报表分析、参数设置管理、数据库配置管理、应用设计优化分析等,提供系统运维工具实现对SQL语句性能检测、碎片整理、表空间优化、重建索引等。
同时,集成的优化系统能够实现根据数据库系统出现的问题提出完整优化建议,大幅度降低出现性能问题及故障时的问题解决时间。
1.2解决思路
1.2.1专业健康检查及优化系统
✓为客户的系统提供全面的健康检查及优化建议;
✓使用自动方式取代人工的健康检查,更快,更全面的分析查询;
✓系统健康状况评分,作为客户考核的一项重要指标,提升系统维护水平及健康状况。
✓提供数据库系统故障的分析及解决方案提供。
✓给客户的领导及系统维护人员系统整体健康状况的详细说明,方便领导决策。
✓降低对系统管理员专业技能需求,降低人工干预工作量,提升工作效率。
✓提供丰富的维护工具,方便维护人员处理数据库相关问题。
✓提供专业知识库,及时归档出现的问题及解决方案,避免故障重复发生。
1.2.2优点
✓无需要专业的DBA/SA知识就可以使用,降低使用门槛和维护成本;
✓直观全面体现数据库系统健康状况,方便领导决策;
✓体现系统健康状况历史及优化调整情况;
✓快速定位潜在问题,确保系统正常运行;
✓知识库自动更新,提升数据库管理人员维护水平。
1.2.3健康检查
1.2.3.1 主机健康检查
➢系统信息收集
✓CPU信息:型号、主频、数量等;
✓内存信息:型号、大小等;
✓硬盘信息:型号、大小、数量、是否使用RAID以及RAID的类型等;
✓网卡信息:型号、数量、速率、双工模式、是否捆绑等;
✓网络配置信息:IP地址、掩码、路由、启用状态等;
✓HBA卡信息:型号、数量、是否使用多路径软件等;
✓外设信息:是否配置磁带机等;
✓操作系统:操作系统名称、版本、内核版本等;
✓集群软件:软件名称、版本等;
✓其他信息:如微码等。
➢常规检查
✓磁盘空间检查;
✓系统配置检查;
✓核心参数设置检查;
✓集群软件配置;
✓时钟检查及时钟同步信息;
✓交换区设置检查;
✓网络状态分析
✓系统错误日志分析
➢系统性能检查
✓Cpu使用率;
✓内存使用率;
✓交换空间使用率;
✓I/O性能分析;
✓网络性能分析。
1.2.3.2 存储健康检查
➢基础信息收集
➢常规检查
✓Cache状态分析;
✓磁盘状态分析;
✓通道卡状态分析;
✓磁盘使用情况分析;
✓……
➢性能检查
✓IOPS分析;
✓系统吞吐率分析;
✓读写比率分析;
✓缓存命中率分析;
✓……
1.2.3.3 中间件健康检查
➢基础信息收集
✓主机型号、配置等
➢常规检查
✓核心参数设置检查;
✓JVM配置检查;
✓中间件服务器配置检查;
✓运行日志检查;
➢性能检查
✓资源使用情况检查分析;
✓系统吞吐率分析;
✓执行队列和线程分析;
✓JDBC连接池检查;
✓连接和会话平均响应时间;
✓内存泄漏检查分析;
✓……
1.2.3.4 备份系统健康检查
➢基础信息收集
✓软硬件配置信息收集
✓备份策略
➢常规检查
✓故障分析
➢性能检查
✓备份作业完成情况
✓备份空间使用情况分析
1.2.3.5 数据库健康检查
➢常规检查
✓Oracle用户环境检查;
✓Oracle用户下磁盘空间使用及垃圾数据检查;
✓运行日志检查;
✓监听进程状态检查;
✓配置文件检查;
✓Oracle数据库版本检查;
✓实例检查;
✓数据库是否运行在归档模式;
✓RAC设置合理性检查;
✓SGA设置合理性检查;
✓PGA 设置合理性检查;
✓System表空间检查;
✓Undo表空间检查;
✓用户默认和临时表空间检查;
✓表空间使用率检查;
✓数据文件状态检查;
✓数据库坏块检查;
✓控制文件检查;
✓重做日志文件检查;
✓数据文件扩展检查;
➢安全检查
✓检查os dba组中无其他用户与oracle用户同组;
✓设定信任IP通过监听器访问oracle数据库;
✓监听进程密码保护等安全检查;
✓System、sys用户口令是否已经修改;
✓数据库用户权限检查;
✓是否删除或锁定无关用户;
✓数据库用户弱口令检测;
✓System表空间是否存在非sys用户数据;
✓系统中是否存在系统保留字的数据库对象。
➢性能检查
✓会话数、进程数检查;
✓重做日志文件切换时间检查;
✓排序空间性能分析;
✓库缓存重载比率分析;
✓库缓存命中率分析;
✓字典缓存命中率分析;
✓回收缓存丢失率分析;
✓高速缓存命中率分析;
✓高速缓存丢失率分析;
✓日志缓存丢失率分析;
✓联机日志存在分配等待会话比率分析;✓回滚段等待比率分析;
✓回滚段命中率分析;
✓回滚段等待信息检查分析;
✓缓存LRU链丢失率分析;
✓Redo缓存性能检查分析;
✓数据库等待事件分析;
✓表的统计分析信息检查分析;
✓事务执行分析;
✓数据I/O检查分析;
✓实例网络检查分析;
✓RAC检查分析;
✓递归调用率分析;
✓硬解析(hard parse)比例分析;
➢应用检查
✓索引检查;
✓SEQUENCE设置分析;
✓表/索引存储策略分析;
✓数据量大表检查;
✓分区的使用及方式检查;
✓无效对象检查;
✓对象扩展空间检查;
✓最耗资源SQL语句分析;
✓未使用绑定变量SQL语句检查
➢深度检查
✓基于检查出来的问题进行更深层次关联分析;
1.2.4故障诊断
✓分析数据库alert log文件,根据错误日志分析结果分析可能存在问题
✓数据库等待事件分析
✓数据库命中率指标
✓数据库争用信息
✓分析AWR报告
✓根据以上信息定位故障可能原因,并按优先级排序
✓提出问题解决思路/调整步骤建议
1.2.5合规性检查
合规性检查主要是检查主机(IBM/HP),OS(linux、windows),中间件(weblogic,tomcat,websphere),数据库(ORACLE,sybase,db2,MSSQL,MYSQL)等在安装设置中存在的安全隐患进行排查,并提供相应的设置建议以保证系统不易被攻破及产生涉密信息泄露。
1.IBM AIX合规性检查
a)用户及帐户管理
b)网络及服务管理
c)日志审计
d)设备及其他安全管理
2.HP-UX合规性检查
a)用户及帐户管理
b)网络及服务管理
c)日志审计
d)设备及其他安全管理。
1.2.6日常维护工具
根据系统运维经验,选取使用的系统维护工具嵌入健康检查系统,以提升管理人员工作效率:
✓进程快杀;
✓数据库对象统计信息及自动进行analyze(SQL生成SQL执行analyze,忙时禁止,显示分析进度);
✓Sql语句执行计划分析;
✓系统碎片信息统计;
✓无效索引信息显示;
✓Awr执行,awr报告察看;
✓系统各项性能指标显示(命中率、等待事件);
✓未使用绑定变量SQL查询;
✓察看那条记录被锁;
✓察看产生归档日志最多的session。
✓……
2.使用价值
健康检查平台可以帮助运维人员轻松完成对跨地域的多个服务器,以及多种数据库平台,进行统一的主动式监控。
如果某台机器异常,管理员将得到警报信号(短信,弹出窗口,电邮,HP Openview、IBM Tivoli等方式),甚至,如果过一段时间无人响应,该平台可以调用一些预先编译好的外部脚本或程序来自动处理一些可预见的异常,保证在客户发现问题之前就可以发现问题并解决问题。
数据库健康检查平台提供了一整套的图形化显示界面,帮助用户自上而下地了解系统状态。
警告提示还能引导运维人员逐步打开相应的图形窗口,深入到问题的根源去发现问题解决问题,而不用运维人员去记忆众多的脚本,有助于新人快速上手工作。
数据库健康检查平台利用记录的历史数据还原故障发生时的现场,从而运维人员可以回溯定位历史故障原因,彻底解决隐患。
此外,历史数据还能基于宏观的角度,以丰富的报表形式,真实地展现系统的运行情况,以供趋势分析和运维决策。