包头社保系统问题全面诊断报告_第1页
包头社保系统问题全面诊断报告_第2页
包头社保系统问题全面诊断报告_第3页
包头社保系统问题全面诊断报告_第4页
包头社保系统问题全面诊断报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 1 页 共 12 页 包头社保系统问题全面诊断报告包头社保系统问题全面诊断报告 工程师 赵欣工程师 赵欣 报告生成日期报告生成日期 2010 4 8 第 2 页 共 12 页 一一 系统整体架构描述 系统整体架构描述 应用服务器 S1 存储阵列 包头社保系统Oracle 包头社保数据中心包头社保数据中心 包头社保中间件应 用服务器系统 SAN光纤交换机 应用服务器 S2 包头社保数据中心主要有 个主要的逻辑子系统组成 分别是 中间件应用集群服务器子系 统 数据库集群子系统 存储子系统 这 个子系统的功能及实施配置情况如下 中间件应用集群服务器子系统 中间件应用集群服务器子系统 由两台 组成应用集群 应用服务器为 其中在 应用服务器 和 上分别同时部署运行医保结算系统和中心端业务系统 该子系统的 主要功能是提供应用业务系统的运行环境 支撑客户端使用业务系统 数据库集群子系统 数据库集群子系统 由两台IBM P570组成Oracle数据库RAC集群 数据库版本为 Oracle Database 10g Enterprise Edition Release 10 2 0 1 0 64bi 该子系统的主要功能是提供业务数据的7 24的操作与管理以及保证业务数据安全 存储子系统 存储子系统 由IBM DS 8000存储设备组成 主要功能是提供数据的存储以及高效的数据读写 二二 中间件应用集群服务器子系统问题排查 中间件应用集群服务器子系统问题排查 1 问题分析 问题分析 影响中间件服务器性能参数 影响中间件服务器性能参数 参数名称参数名称原先设置原先设置分析结果分析结果 第 3 页 共 12 页 JVM heap Size 1G满足应用需要 没有问题满足应用需要 没有问题 数据库连接池初始连接数1太低 不满足应用需要太低 不满足应用需要 数据库连接池最大连接数15太低 不满足应用需要太低 不满足应用需要 数据库连接池连接增长数1太低 不满足应用需要太低 不满足应用需要 根据以上对影响中间件服务器性能参数的分析 可以看出 JAVA 虚拟机内存参数配置 JVM heap Size 没有问题 并且可以满足应用需要 数据库连接池相关参数的配置太小 不满实际应用需要 建议要根 据实际情况进行调整 2 问题解决方案 问题解决方案 通过分析实际应用情况以及业务高峰期的并发用户数 对数据库连接池参数作出了如下调整 数据库连接池初始连接数调整为 50 数据库连接池最大连接数调整为 100 数据库连接池连接增长数调整为 5 三三 数据库集群子系统问题排查 数据库集群子系统问题排查 1 内存使用问题分析与排查 内存使用问题分析与排查 基本内存使用参数配置 基本内存使用参数配置 基本内存使用情况指标 基本内存使用情况指标 指标项指标项检查该指标所依据的脚本命检查该指标所依据的脚本命 令令 检查结果检查结果分析结果分析结果建议操作建议操作 Data Buffer select 1 phy VALUE lob VALUE dir VALUE ses VALUE Buffer Cache 98 以上基本满足要求 理想状由系统集成人员适 参数名称参数名称参数作用参数作用参数值参数值分析结果分析结果 sga target 决定系统全局区 SGA 的大小 由于大部分操作 都要在 SGA 中完成 所以该参数对数据库的 性能起到决定性的作用 5G略显小略显小 sga max size 决定 SGA 最大可以设置为多少5G略显小略显小 pga aggregate target 决定用户全局区 PGA 的大小 该参数决定是 否 用户的大量计算可在内存中完成 因此该参数 对数据库性能也起到非常关键的作用 1G可以满足需要 可以满足需要 建议再调大一些建议再调大一些 第 4 页 共 12 页 Cache 命中 率 Hit Ratio from v sysstat ses v sysstat lob v sysstat dir v sysstat phy where ses NAME session logical reads and dir NAME physical reads direct and lob NAME physical reads direct lob and phy NAME physical reads 态应该达到 99 以上 主要的原因可能是由于 SGA 大小略显小的缘故 当调整 SGA 大小 调整时要参考最大 可用内存数 建议 该参数值应该在 8G 以上 SharePool 中 liberary cache 命中率 SELECT SUM PINHITS RELOADS SUM PINS HIT RADIO SUM RELOADS SUM PINS RELOAD PERCENT FROM V LIBRARYCACHE 98 以上满足要求 不过重载率 为 0 26 略显高 可能会 影响系统 SQL 语句软解 析度 系统 SQL 语 句软解析度 select t1 value t2 value t1 value 100 from select value from v sysstat where name like parse and name in parse count total t1 select value from v sysstat where name like parse and name in parse count hard t2 93 过低 作为一个具有高过低 作为一个具有高 并发访问量的联机在线并发访问量的联机在线 事务系统来说 事务系统来说 SQL 语语 句句 的软解析度应该在的软解析度应该在 98 以上 最低不能低于以上 最低不能低于 97 建议排查频繁被使建议排查频繁被使 用功能用功能 的程序代码 的程序代码 看一下是否合理使看一下是否合理使 用了绑定变量 用了绑定变量 查询 PGA 工 作状态信息 select name profile cnt decode total 0 0 round cnt 100 total percentage from select name value cnt sum value over total from v sysstat where name like workarea exec 100 工作 于 optimal 状态 满足要求 查看内存与硬 盘的排序比例 select d VALUE Disk m VALUE Mem d VALUE m VALUE Ratio from v sysstat m v sysstat d where m NAME sorts memory and d name sorts disk 基本全部 属于内存 排序 满足要求 2 I O 问题分析与排查 问题分析与排查 基本基本 I O 参数配置 参数配置 参数名称参数名称参数作用参数作用参数参数 值值 分析结果分析结果 第 5 页 共 12 页 db file multiblock read count 控制数据库多块读取时一次 最多读多少数据块 16建议调整到建议调整到 32 log archive max processes 控制归档进程最大数3满足要求 db writer processes 控制数据库写操作进程数量2根据当前数据库数据文件数量 该值根据当前数据库数据文件数量 该值 显得略低 建议调高显得略低 建议调高 disk asynch io 控制数据库是否使用异步 I O true满足要求 数据库数据库 I O 使用指标 使用指标 指标指标 项项 检查该指标所依据的脚本命令检查该指标所依据的脚本命令检查结果检查结果分析结分析结 果果 建议操作建议操作 检查 数否 存在 磁盘 I O 瓶 颈 select event total waits time waited total timeouts average wait from v system event t where event in log file switch completion log file switch checkpoint incomplete log file switch archiving needed control file parallel write log file parallel write 系统中存在比 较频繁的引发 增量检查点的 操作 致使 CKPT 进程过 于繁忙 引发 了一定 I O 压 力 基本满 足要求 但增量 检查点 引发过 于频繁 检查频繁使用的程序 是否存在频繁执行 Commit 的情况 Commit 操作要尽量 使用批量提交 本着 以事务单元为提交的 准则 资源竞争问题分析与排查 资源竞争问题分析与排查 资源竞争相关基本参数设置资源竞争相关基本参数设置 参数名称参数名称参数作用参数作用参数参数 值值 分析分析 结果结果 log checkpoint timeou t 指定距下一个检查点出现的最大时间间隔 秒数 1800满足 要求 Undo retention 用来指定要在数据库中保留的已提交的撤消信息的时间900满足 要求 Processes 指定可同时连接到一个 Oracle Server 上的操作系统用户进 程的最大数量 1000满足 要求 Open cursors 指定一个会话一次可以打开的游标 环境区域 的最大数量 并且限制 PL SQL 使用的 PL SQL 游标高 速缓存的大小 以避免用户再次执行语句时重新进行语法分 析 3000满足 要求 Dml locks 所有用户获取的表锁的最大数量 4860满足 要求 数据库事务锁问题 数据库事务锁问题 指指检查该指标所依据的检查该指标所依据的检查结果检查结果分分建议建议 第 6 页 共 12 页 标标 项项 脚本命令脚本命令析析 结结 果果 操作操作 事 务 锁 情 况 SELECT T1 T2 SQL TEXT T2 SQL FULLTEXT FROM SELECT B SQL ID B SID B MACHINE C OBJECT NAME A ORACLE USERNAME A LOCKED MODE B OSUSER alter system kill session B SID B SERIAL FROM V LOCKED OBJECT A V SESSION B ALL OBJECTS C WHERE A SESSION ID B SID AND A OBJECT ID C OBJECT ID T1 V SQLAREA T2 WHERE T1 SQL ID T2 SQL ID 在数据库中长时间存在事务锁 在等待事件中长时间存在 enq TX row lock contention 事件 长时间存在事务锁定的表为 KC04 KC21 KC22 KC23 KC24 KC29 操作上述表并引起锁的 SQL 语句如下 UPDATE KC04 SET AKC317 B3 OAE300 PKG A COMM FUN GETOAE300 OAE301 OAE300 WHERE AAC001 B2 AND AAE001 B1 UPDATE KC04 SET AKC317 B3 OAE300 PKG A COMM FUN GETOAE300 OAE301 OAE300 WHERE AAC001 B2 AND AAE001 B1 UPDATE KC21 SET AAE100 0 AAE011 B6 AAE036 SYSDATE AKC384 B5 AKC380 B4 AKC381 B3 AKC319 0 OAE300 PKG A COMM FUN GETOAE300 OAE301 OAE300 WHERE AKB020 B2 AND AKC190 B1 AND AKA135 1 AND AAE100 1 BEGIN PKG K SIINTERFACE PRC K SIINTE RFACE 1 2 3 4 5 6 END BEGIN PKG K SIINTERFACE PRC K SIINTE RFACE 1 2 3 4 5 6 END BEGIN PKG K SIINTERFACE PRC K SIINTE RFACE 1 2 3 4 5 6 END BEGIN PKG K SIINTERFACE PRC K SIINTE RFACE 1 2 3 4 5 6 END BEGIN PKG K SIINTERFACE PRC K SIINTE RFACE 1 2 3 4 5 6 END BEGIN 建议建议 认真认真 排查排查 相关相关 程序程序 代码 代码 找到找到 引起引起 长时长时 间事间事 务锁务锁 的原的原 因 因 并修并修 改改 第 7 页 共 12 页 PKG K SIINTERFACE PRC K SIINTE RFACE 1 2 3 4 5 6 END UPDATE KC04 SET AKC317 B3 OAE300 PKG A COMM FUN GETOAE300 OAE301 OAE300 WHERE AAC001 B2 AND AAE001 B1 UPDATE KC04 SET AKC317 B3 OAE300 PKG A COMM FUN GETOAE300 OAE301 OAE300 WHERE AAC001 B2 AND AAE001 B1 UPDATE KC04 SET AKC317 B3 OAE300 PKG A COMM FUN GETOAE300 OAE301 OAE300 WHERE AAC001 B2 AND AAE001 B1 UPDATE KC04 SET AKC317 B3 OAE300 PKG A COMM FUN GETOAE300 OAE301 OAE300 WHERE AAC001 B2 AND AAE001 B1 Oracle RAC 节点间通讯及竞争监控 节点间通讯及竞争监控 指标项指标项检查该指标所依据的脚本命令检查该指标所依据的脚本命令检查结果检查结果分析分析 结果结果 建议建议 操作操作 Clobal Cache Service 等待事件SELECT INST ID EVENT P1 FILE NUMBE P2 BLOCK NUMBER WAIT TIME FROM GV SESSION WAIT WHERE EVENT IN gc buffer busy global cache busy 没有发生满足 要求 节点间一致性读 CR 效率 Oracle 建议如果 avg receive time 小于 10ms 说明 CR 效率正常 SELECT B1 INST ID B2 VALUE received B1 VALUE received time B1 VALUE B2 VALUE 10 avg receive time ms FROM GV SYSSTAT B1 GV SYSSTAT B2 WHERE B1 NAME gc cr block receive time AND B2 NAME gc cr blocks received avg receive time 为 0 6ms 满足 要求 第 8 页 共 12 页 AND B1 INST ID B2 INST ID 节点间 Current 读效率 Oracle 建议 avg receive time 小于 15ms 则 Current Read 效率正常 SELECT B1 INST ID B2 VALUE received B1 VALUE received time B1 VALUE B2 VALUE 10 avg receive time ms FROM GV SYSSTAT B1 GV SYSSTAT B2 WHERE B1 NAME gc current block receive time AND B2 NAME gc current blocks received AND B1 INST ID B2 INST ID avg receive time 为 1ms 满足 要求 其他一些影响数据库性能参数的设置 其他一些影响数据库性能参数的设置 参数名称参数名称参数作用参数作用参数值参数值分析结果分析结果 optimizer index cost ad j 在成本优化情况下的 SQL 执 行时转化成使用索引访问的 百分比 100值过高可能会引发索引被值过高可能会引发索引被 弃用 建议设为弃用 建议设为 25 optimizer index caching在缓冲区高速缓存中期望用于 嵌套循环联接的索引块的百分 比 0对于联机事务系统值过低 对于联机事务系统值过低 应该调高 建议调整到应该调高 建议调整到 90 query rewrite enabled启用或禁用对实体化视图的查 询重写 true满足要求 optimizer mode成本优化器模式ALL ROW S 满足要求 四 存储子系统问题排查 四 存储子系统问题排查 个数据表空间使用情况检查 个数据表空间使用情况检查 检查依据的命令脚本 检查依据的命令脚本 select b file id 文件ID号 b tablespace name 表空间名 b bytes 1024 1024 M 字节数 b bytes sum nvl a bytes 0 1024 1024 M 已使用 sum nvl a bytes 0 1024 1024 M 剩余空间 100 sum nvl a bytes 0 b bytes 100 已使用空间百分比 from dba free space a dba data files b where a file id b file id group by b tablespace name b file id b bytes order by b file id 表空间名表空间名字节数字节数已使用已使用剩余空间剩余空间已使用百分比已使用百分比 SYSTEM1020M1001 875M18 125M98 UNDOTBS110235M191 0625M10043 9375M1 SYSAUX1020M956 0625M63 9375M93 USERS4095M4078M17M99 EXAMPLE150M77 6875M72 3125M51 第 9 页 共 12 页 UNDOTBS26809 0625M42 9375M6766 125M0 USER PUB2000M 0625M1999 9375M0 USER A10100M9363 625M736 375M92 USER I10100M10024M76M99 USER I10100M9444M656M93 USER I10100M9852M248M97 USER K10100M9742 0625M357 9375M96 USER K10100M10049 0625M50 9375M99 USER R10100M8167 0625M1932 9375M80 USER KC2110100M1538 1875M8561 8125M15 USER KC2210100M10041 4375M58 5625M99 USER KC2210100M8963 8125M1136 1875M88 USER KC2210100M10040 5M59 5M99 USER KC2310100M600 25M9499 75M5 USER KC2410100M2604 5625M7495 4375M25 USER DRM10100M13 6875M10086 3125M0 HNLMDATA10100M1 0625M10098 9375M0 HNLMDATA10100M1 0625M10098 9375M0 HNLMDATA10100M2 0625M10097 9375M0 INDX PUB2000M 0625M1999 9375M0 INDX SIMIS4040M 3125M4039 6875M0 INDX A4040M419 4375M3620 5625M10 INDX F10100M10051M49M99 INDX I10100M9557M543M94 INDX I10100M9586 0625M513 9375M94 INDX K4050M1297 5625M2752 4375M32 INDX R950M 5625M949 4375M0 INDX AC1310100M10042 875M57 125M99 INDX KC2110100M680 3125M9419 6875M6 INDX KC2210100M2178 25M7921 75M21 INDX KC2210100M6657 4375M3442 5625M65 INDX KC2210100M6673 9375M3426 0625M66 INDX KC2310100M576 125M9523 875M5 INDX KC2410100M640 375M9459 625M6 HNLMINDEX10100M 0625M10099 9375M0 HNLMINDEX10100M 0625M10099 9375M0 HNLMINDEX10100M 0625M10099 9375M0 INDX DRM2000M8 6875M1991 3125M0 UNDOTBS110100M138 5M9961 5M1 UNDOTBS210100M27 4375M10072 5625M0 UNDOTBS210100M27 0625M10072 9375M0 INDX AC2010100M7350 5M2749 5M72 INDX AC2010100M7413 0625M2686 9375M73 INDX AC2010100M7415 1875M2684 8125M73 USER AC1310100M10086M14M99 INDX AC1310100M9770 0625M329 9375M96 USER SIMIS10100M10097 5M2 5M99 第 10 页 共 12 页 USER F9800M9795 0625M4 9375M99 USER F9800M5253 875M4546 125M53 INDX AC209800M8397 0625M1402 9375M85 INDX AC209800M8340 0625M1459 9375M85 SYSTEM2800M76 0625M2723 9375M2 INDX AC139800M9662 9375M137 0625M98 PERFSTAT900M145 8125M754 1875M16 USER SIMIS10100M10057M43M99 USER SIMIS10100M10099 5M 5M99 USER AC139800M9799 9375M 0625M99 USER AC139800M9651 9375M148 0625M98 INDX AC1310100M8750 375M1349 625M86 INDX AC1310100M8527 25M1572 75M84 USER I10100M8386M1714M83 USER I10100M10059 9375M40 0625M99 USER K10100M3002 0625M7097 9375M29 USER K10100M2940 125M7159 875M29 USER SIMIS10100M9547 5M552 5M94 USER SIMIS10100M9808M292M97 USER AC1310100M7972 875M2127 125M78 USER AC1310100M6001 8125M4098 1875M59 SYSAUX1023M518 0625M504 9375M50 INDX AC1310238M 0625M10237 9375M0 USER AC1310238M6904 875M3333 125M67 USER I10238M3420 25M6817 75M33 USER KC2210238M2265 0625M7972 9375M22 INDX I10100M3102 0625M6997 9375M30 USER SIMIS10100M2586 0625M7513 9375M25 INDX F10100M321 0625M9778 9375M3 USERS4000M229 75M3770 25M5 74375 USER I10100M1081 0625M9018 9375M10 从查询结果来看 每个表空间都存在多个数据文件 有很多的数据文件已使用空间百分比已经占到了 99 通过与现场人员沟通了解到由于进行数据转换因此生成了大量的垃圾数据 这些垃圾数据大量占用存储 空间 而且有时还会影响到数据库性能 通过与现场人员沟通 并经过认真排查 最终确定要删除 800 张存放垃圾数据的表来释放存储空间 由于要删除的表过多这里就不一一列出这些表了 但是建议要尽 快做数据清理的相关工作 五 之前出现的应用中断问题原因分析及解决办法 五 之前出现的应用中断问题原因分析及解决办法 通过上述对中间件集群服务器子系统 数据库集群子系统 存储子系统的综合分析可以得出 数据库在相 关性能问题的参数配置上存在一些问题 但是这些问题属于不会造成重大影响的问题 更不会引发应用系统中 断 同时通过分析终端发生时的应用服务器日志 可以发现中断的发生是由于数据库连接池中的连接被耗尽造 成的 而且用户反映在应用终端时还出现了应用系统对应的数据库用被锁定的情况 这个情况在应用服务器日 志当中也有记录 即发生了 ORA 28000 错误 经过与 Oracle 发布的错号对比 发现 ORA 28000 错误是当从 客户端连接数据库失败次数超 FAILED LOGIN ATTEMPTS 参数所限定的次数时 Oracle认为这个连接 可能是一个潜在的攻击行为 为了保护相关的数据库用户 Oracle 就会采取将该用户账户锁定的做法来保护 这个用户 第 11 页 共 12 页 FAILED LOGIN ATTEMPTS参数对于客户端连接用户默认为 10 因而当某个客户端通过口令连接一个 用户超过 10 次连接失败时 Oracle 就会将这个被连接的用户锁定 并且返回客户端 ORA 28000 错误 上述这种情况正好与我们系统的问题现象吻合 当我们的连接池中的连接被耗尽时 这时如果再有用户发 起对数据库的连接 由于无法获取有效连接 因而会造成连接失败 当失败次数超过 FAILED LOGIN ATTEMPTS参数默认值时 在高并发情况下会很容易超过该默认值 就会发生用户锁定 并返回 ORA 28000 错误 并且改错会被纪录进应用服务器日志中 因此我们系统在运行中发生中断的根本原因在于中间件服务器连接池设置不合理 在之上的有关中间件服 务器的分析中也可以看出 连接初始数 连接最大数 连接增长数设置的都非常不合理 必须进行合适的调整 经过分析业务特点后我们已经及时做出了调整 禁果近一个星期的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论