包头社保系统问题全面诊断报告1

上传人:无*** 文档编号:127857161 上传时间:2022-07-31 格式:DOC 页数:12 大小:273.50KB
收藏 版权申诉 举报 下载
包头社保系统问题全面诊断报告1_第1页
第1页 / 共12页
包头社保系统问题全面诊断报告1_第2页
第2页 / 共12页
包头社保系统问题全面诊断报告1_第3页
第3页 / 共12页
资源描述:

《包头社保系统问题全面诊断报告1》由会员分享,可在线阅读,更多相关《包头社保系统问题全面诊断报告1(12页珍藏版)》请在装配图网上搜索。

1、包头社保系统问题全面诊断报告工程师:赵欣报告生成日期: 2010-4-8Note:Note:Note:Note: To add additional approval lines, Press Tab from the last cell in the table above.Note: You can delete any elements of this cover page that you do not need for your document. For example, Copy Number is only required if this is a controlled do

2、cument and you need to track each copy that you distribute.一 系统整体架构描述:应用服务器S1存储阵列包头社保系统Oracle 包头社保数据中心包头社保中间件应用服务器系统SAN光纤交换机应用服务器S2包头社保数据中心主要有个主要的逻辑子系统组成,分别是:中间件应用集群服务器子系统,数据库集群子系统,存储子系统。这个子系统的功能及实施配置情况如下:() 中间件应用集群服务器子系统:由两台组成应用集群,应用服务器为,其中在应用服务器和上分别同时部署运行医保结算系统和中心端业务系统,该子系统的主要功能是提供应用业务系统的运行环境,支撑客户

3、端使用业务系统。() 数据库集群子系统:由两台IBM P570组成Oracle数据库RAC集群,数据库版本为“Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi”,该子系统的主要功能是提供业务数据的7*24的操作与管理以及保证业务数据安全。() 存储子系统:由IBM DS-8000存储设备组成,主要功能是提供数据的存储以及高效的数据读写。二 中间件应用集群服务器子系统问题排查: (1)问题分析: 影响中间件服务器性能参数:参数名称原先设置分析结果JVM heap Size 1G满足应用需要,没有问题数据库连接池初始连

4、接数1太低,不满足应用需要数据库连接池最大连接数15太低,不满足应用需要数据库连接池连接增长数1太低,不满足应用需要 根据以上对影响中间件服务器性能参数的分析,可以看出JAVA虚拟机内存参数配置(JVM heap Size)没有问题,并且可以满足应用需要;数据库连接池相关参数的配置太小,不满实际应用需要,建议要根据实际情况进行调整。(2)问题解决方案: 通过分析实际应用情况以及业务高峰期的并发用户数,对数据库连接池参数作出了如下调整: 数据库连接池初始连接数调整为:50 数据库连接池最大连接数调整为:100 数据库连接池连接增长数调整为:5三 数据库集群子系统问题排查: (1)内存使用问题分析

5、与排查: 基本内存使用参数配置:参数名称参数作用参数值分析结果sga_target决定系统全局区SGA的大小,由于大部分操作都要在SGA中完成,所以该参数对数据库的性能起到决定性的作用。5G略显小sga_max_size决定SGA最大可以设置为多少5G略显小pga_aggregate_target决定用户全局区PGA的大小,该参数决定是否用户的大量计算可在内存中完成,因此该参数对数据库性能也起到非常关键的作用。1G可以满足需要,建议再调大一些 基本内存使用情况指标:指标项检查该指标所依据的脚本命令检查结果分析结果建议操作Data Buffer Cache命中率select 1 - (phy.V

6、ALUE - lob.VALUE - dir.VALUE) / ses.VALUE Buffer 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;98%以上基本满足要求,理想状态应该达到99

7、%以上。主要的原因可能是由于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.val

8、ue) * 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工作状态信息selec

9、t 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

10、 where m.NAME = sorts (memory) and d.name = sorts (disk);基本全部属于内存排序满足要求(2)I/O问题分析与排查: 基本I/O参数配置:参数名称参数作用参数值分析结果db_file_multiblock_read_count控制数据库多块读取时一次最多读多少数据块16建议调整到32log_archive_max_processes控制归档进程最大数3满足要求db_writer_processes控制数据库写操作进程数量2根据当前数据库数据文件数量,该值显得略低,建议调高disk_asynch_io控制数据库是否使用异步I/Otrue满足要

11、求 数据库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 fi

12、le parallel write);系统中存在比较频繁的引发增量检查点的操作,致使CKPT进程过于繁忙,引发了一定I/O压力基本满足要求,但增量检查点引发过于频繁检查频繁使用的程序,是否存在频繁执行Commit的情况。Commit操作要尽量使用批量提交,本着以事务单元为提交的准则。() 资源竞争问题分析与排查: 资源竞争相关基本参数设置参数名称参数作用参数值分析结果log_checkpoint_timeout指定距下一个检查点出现的最大时间间隔 (秒数)。1800满足要求Undo_retention用来指定要在数据库中保留的已提交的撤消信息的时间900满足要求Processes指定可同时连接

13、到一个 Oracle Server 上的操作系统用户进程的最大数量1000满足要求Open_cursors指定一个会话一次可以打开的游标 (环境区域) 的最大数量, 并且限制 PL/SQL 使用的 PL/SQL 游标高速缓存的大小, 以避免用户再次执行语句时重新进行语法分析。3000满足要求Dml_locks所有用户获取的表锁的最大数量4860满足要求数据库事务锁问题:指标项检查该指标所依据的脚本命令检查结果分析结果建议操作事务锁情况SELECT T1.*, T2.SQL_TEXT, T2.SQL_FULLTEXT FROM (SELECT B.SQL_ID, B.SID, B.MACHINE

14、, 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: T

15、X - 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 =

16、 :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 = 1BEGIN PKG_K_SIINTERFACE.PRC_K_SIINTERFACE(:1

17、,:2,:3,:4,:5,:6); END;BEGIN PKG_K_SIINTERFACE.PRC_K_SIINTERFACE(:1,:2,:3,:4,:5,:6); END;BEGIN PKG_K_SIINTERFACE.PRC_K_SIINTERFACE(:1,:2,:3,:4,:5,:6); END;BEGIN PKG_K_SIINTERFACE.PRC_K_SIINTERFACE(:1,:2,:3,:4,:5,:6); END;BEGIN PKG_K_SIINTERFACE.PRC_K_SIINTERFACE(:1,:2,:3,:4,:5,:6); END;BEGIN PKG_K_SI

18、INTERFACE.PRC_K_SIINTERFACE(: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

19、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节点间通讯及竞争监控: 指标项检查该指标所依据的脚本命令检查结果分析

20、结果建议操作Clobal Cache Service等待事件SELECT INST_ID, EVENT, P1 FILE_NUMBE,P2 BLOCK_NUMBER, WAIT_TIMEFROM GV$SESSION_WAITWHERE 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

21、/ 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 AND B1.INST_ID = B2.INST_ID;avg receive time为0.6ms满足要求节点间Current读效率,Oracle建议avg receive time小于15ms,则Current Read效率正常SELECT B1.INST_ID, B2.VALUE receiv

22、ed, 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

23、_cost_adj在成本优化情况下的SQL执行时转化成使用索引访问的百分比100值过高可能会引发索引被弃用,建议设为25optimizer_index_caching在缓冲区高速缓存中期望用于嵌套循环联接的索引块的百分比0对于联机事务系统值过低,应该调高,建议调整到90query_rewrite_enabled启用或禁用对实体化视图的查询重写true满足要求optimizer_mode成本优化器模式ALL_ROWS满足要求四、存储子系统问题排查: 个数据表空间使用情况检查:检查依据的命令脚本: select b.file_id 文件ID号, b.tablespace_name 表空间名, b.

24、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

25、 by b.file_id;表空间名字节数已使用剩余空间已使用百分比SYSTEM1020M1001.875M18.125M98.22303922UNDOTBS110235M191.0625M10043.9375M1.866756229SYSAUX1020M956.0625M63.9375M93.73161765USERS4095M4078M17M99.58485958EXAMPLE150M77.6875M72.3125M51.79166667UNDOTBS26809.0625M42.9375M6766.125M0.630593419USER_PUB2000M.0625M1999.9375M0.

26、003125USER_A10100M9363.625M736.375M92.70915842USER_I10100M10024M76M99.24752475USER_I10100M9444M656M93.5049505USER_I10100M9852M248M97.54455446USER_K10100M9742.0625M357.9375M96.45606436USER_K10100M10049.0625M50.9375M99.49566832USER_R10100M8167.0625M1932.9375M80.86200495USER_KC2110100M1538.1875M8561.81

27、25M15.22957921USER_KC2210100M10041.4375M58.5625M99.42017327USER_KC2210100M8963.8125M1136.1875M88.75061881USER_KC2210100M10040.5M59.5M99.41089109USER_KC2310100M600.25M9499.75M5.943069307USER_KC2410100M2604.5625M7495.4375M25.78774752USER_DRM10100M13.6875M10086.3125M0.135519802HNLMDATA10100M1.0625M1009

28、8.9375M0.010519802HNLMDATA10100M1.0625M10098.9375M0.010519802HNLMDATA10100M2.0625M10097.9375M0.020420792INDX_PUB2000M.0625M1999.9375M0.003125INDX_SIMIS4040M.3125M4039.6875M0.007735149INDX_A4040M419.4375M3620.5625M10.38211634INDX_F10100M10051M49M99.51485149INDX_I10100M9557M543M94.62376238INDX_I10100M

29、9586.0625M513.9375M94.9115099INDX_K4050M1297.5625M2752.4375M32.03858025INDX_R950M.5625M949.4375M0.059210526INDX_AC1310100M10042.875M57.125M99.43440594INDX_KC2110100M680.3125M9419.6875M6.735767327INDX_KC2210100M2178.25M7921.75M21.56683168INDX_KC2210100M6657.4375M3442.5625M65.91522277INDX_KC2210100M66

30、73.9375M3426.0625M66.07858911INDX_KC2310100M576.125M9523.875M5.704207921INDX_KC2410100M640.375M9459.625M6.340346535HNLMINDEX10100M.0625M10099.9375M0.000618812HNLMINDEX10100M.0625M10099.9375M0.000618812HNLMINDEX10100M.0625M10099.9375M0.000618812INDX_DRM2000M8.6875M1991.3125M0.434375UNDOTBS110100M138.

31、5M9961.5M1.371287129UNDOTBS210100M27.4375M10072.5625M0.271658416UNDOTBS210100M27.0625M10072.9375M0.267945545INDX_AC2010100M7350.5M2749.5M72.77722772INDX_AC2010100M7413.0625M2686.9375M73.39665842INDX_AC2010100M7415.1875M2684.8125M73.41769802USER_AC1310100M10086M14M99.86138614INDX_AC1310100M9770.0625M

32、329.9375M96.73329208USER_SIMIS10100M10097.5M2.5M99.97524752USER_F9800M9795.0625M4.9375M99.94961735USER_F9800M5253.875M4546.125M53.61096939INDX_AC209800M8397.0625M1402.9375M85.68431122INDX_AC209800M8340.0625M1459.9375M85.10267857SYSTEM2800M76.0625M2723.9375M2.716517857INDX_AC139800M9662.9375M137.0625

33、M98.60140306PERFSTAT900M145.8125M754.1875M16.20138889USER_SIMIS10100M10057M43M99.57425743USER_SIMIS10100M10099.5M.5M99.9950495USER_AC139800M9799.9375M.0625M99.99936224USER_AC139800M9651.9375M148.0625M98.48915816INDX_AC1310100M8750.375M1349.625M86.63737624INDX_AC1310100M8527.25M1572.75M84.42821782USE

34、R_I10100M8386M1714M83.02970297USER_I10100M10059.9375M40.0625M99.60334158USER_K10100M3002.0625M7097.9375M29.72339109USER_K10100M2940.125M7159.875M29.11014851USER_SIMIS10100M9547.5M552.5M94.52970297USER_SIMIS10100M9808M292M97.10891089USER_AC1310100M7972.875M2127.125M78.93935644USER_AC1310100M6001.8125

35、M4098.1875M59.42388614SYSAUX1023M518.0625M504.9375M50.6414956INDX_AC1310238M.0625M10237.9375M0.000610471USER_AC1310238M6904.875M3333.125M67.4435925USER_I10238M3420.25M6817.75M33.40740379USER_KC2210238M2265.0625M7972.9375M22.12407208INDX_I10100M3102.0625M6997.9375M30.7134901USER_SIMIS10100M2586.0625M

36、7513.9375M25.60457921INDX_F10100M321.0625M9778.9375M3.178836634USERS4000M229.75M3770.25M5.74375USER_I10100M1081.0625M9018.9375M10.70358911从查询结果来看,每个表空间都存在多个数据文件,有很多的数据文件已使用空间百分比已经占到了99%,通过与现场人员沟通了解到由于进行数据转换因此生成了大量的垃圾数据,这些垃圾数据大量占用存储空间,而且有时还会影响到数据库性能。通过与现场人员沟通,并经过认真排查,最终确定要删除800张存放垃圾数据的表来释放存储空间,由于要删除的

37、表过多这里就不一一列出这些表了,但是建议要尽快做数据清理的相关工作。五、之前出现的应用中断问题原因分析及解决办法: 通过上述对中间件集群服务器子系统、数据库集群子系统、存储子系统的综合分析可以得出,数据库在相关性能问题的参数配置上存在一些问题,但是这些问题属于不会造成重大影响的问题,更不会引发应用系统中断。同时通过分析终端发生时的应用服务器日志,可以发现中断的发生是由于数据库连接池中的连接被耗尽造成的。而且用户反映在应用终端时还出现了应用系统对应的数据库用被锁定的情况,这个情况在应用服务器日志当中也有记录,即发生了ORA-28000错误,经过与Oracle发布的错号对比,发现ORA-28000

38、错误是当从客户端连接数据库失败次数超“FAILED_LOGIN_ATTEMPTS”参数所限定的次数时,Oracle认为这个连接可能是一个潜在的攻击行为,为了保护相关的数据库用户,Oracle就会采取将该用户账户锁定的做法来保护这个用户。 FAILED_LOGIN_ATTEMPTS参数对于客户端连接用户默认为10,因而当某个客户端通过口令连接一个用户超过10次连接失败时,Oracle就会将这个被连接的用户锁定,并且返回客户端ORA-28000错误。 上述这种情况正好与我们系统的问题现象吻合,当我们的连接池中的连接被耗尽时,这时如果再有用户发起对数据库的连接,由于无法获取有效连接,因而会造成连接失

39、败,当失败次数超过FAILED_LOGIN_ATTEMPTS参数默认值时(在高并发情况下会很容易超过该默认值),就会发生用户锁定,并返回ORA-28000错误,并且改错会被纪录进应用服务器日志中。 因此我们系统在运行中发生中断的根本原因在于中间件服务器连接池设置不合理,在之上的有关中间件服务器的分析中也可以看出,连接初始数、连接最大数、连接增长数设置的都非常不合理,必须进行合适的调整,经过分析业务特点后我们已经及时做出了调整。禁果近一个星期的观察,调整的效果还非常明显的,经过对应用服务器的监控没有再发现连接被耗尽服务终端并出现ORA-28000错误的情况。六、总结: (1)中间件集群服务器问题

40、: 数据库连接池初始连接数1太低,不满足应用需要数据库连接池最大连接数15太低,不满足应用需要数据库连接池连接增长数1太低,不满足应用需要 通过分析实际应用情况以及业务高峰期的并发用户数,对数据库连接池参数作出了如下调整: 数据库连接池初始连接数调整为:50 数据库连接池最大连接数调整为:100 数据库连接池连接增长数调整为:5 (2)数据库集群子系统问题: 问题问题所在及解决措施内存使用问题sga_target:略显低,建议调高。调整时涉及sga_max_size参数的调整,所以需要停数据库来调整;pga_aggregate_target:略显低,建议调高。可以动态调整,当前已经被重新调整为

41、2G;系统SQL语句软解析度:太低,需要对频繁被使用功能 的程序代码进行排查;I/O问题db_file_multiblock_read_count:略低,建议调高。可以动态调整,当前已经被重新调整为32;db_writer_processes:略低,建议调高。属于静态参数,需要停止数据库后进行调整,建议将该值增加到4;系统中存在比较频繁的引发增量检查点的操作,致使CKPT进程过于繁忙,引发了一定I/O压力,检查频繁使用的程序,是否存在频繁执行Commit的情况。Commit操作要尽量使用批量提交,本着以事务单元为提交的准则资源竞争问题存在长时间把持事务锁而不释放的情况。建议认真排查相关程序代码,找到引起长时间事务锁的原因,并修改其他一些影响数据库性能参数的设置optimizer_index_cost_adj:值过高可能会引发索引被弃用,建议设为25,可以动态调整,当前已经被重新设置为25;optimizer_index_caching:对于联机事务系统值过低,应该调高,建议调整到90,可以动态调整,当前已经被重新设置为90;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!