杭州社保数据库分析方案 - 图文(6)

2019-01-27 16:15

杭州社保系统分析方案 USERS_LOG

2.326396411 表空间碎片将会直接影响系统的性能,建议整理一下。

第9章热点对象统计

以下为存在热点的对象,由于监控时间有限,需要做进一步确认,跟踪确认涉及到的SQL,并针对该sql进行优化。如果优化以后还存在热点,请rebuld table,index

AC30 AC32 AD07 IC02 IC22_BACK IC34 KC08 KC21 KC60 LB02 INDX_AC01_AAC002 INDX_KC04_AAC001 PK_KC04 INDX_AC10_AAE002 INDX_AC10_AAE143 IDX_AB08_AAA060 ZA01 KA02 IDX_LB02_AAE145 INDEX_KC21_AAC001 INDEX_KC21_AKB020 INDX_KC08_AAC001 PK_AC40 PK_COLLATE_SUM PK_KC21 AC13 INDX_AB07_AAE002 INDX_AB13_AAB001 IDX_AB08_AAE140 INDEX_IX_AKC020 PK_IC10_NEW AC14 AB07 AB08 PK_AC04_AAC001 INDEX_INDEX_AC32_2 INDX_AC32_AAC001 INDEX_INDEX_KC02_ KC04 PK_KC24 AC05 IDX_LOGTRANC_1 AB01 PK_AC01_AAC001 AC01 INDX_AC01_AAC008 IC10 IC20_BACK LOGTRANC GL_DETAIL I_GL_DETAIL_1 GL_VOUCHER PK_T_AAB001 PK_IT_SMK_GRDZB KC69 IX_KC04_ID IX_AB13_ID IDX_AC13_1 IDX_AC13_AAC001 INDEX_KC24_CKC131_2 AC01_APPEND 第10章其它问题

经过两天的监控发现如下问题:

1. Oracle session连接比较多,并且长时间的连接占很大的比例,建议定期的kill

2. Oracle 后台的alert文件,ora-01555的错误,该错误主要是由于快照过老导致的,该问题通过由于sql

可以解决。

3. 表和索引没有统计分析,导致SQL执行计划不稳定。

4. 数据量很大,目前生产库达到1.3 TB以上,所以,导致性能下降。

26

第11章 总结

? 清除不使用的表和索引,对索引使用监控两个业务周期后,和开发人员确认以后,清除所有不用索

? 根据目前系统资源的情况,不建议修改oracle pga和sga参数,理由由于目前内存已经不足,增加

pga和sga的大小,会导致更为严重的IO问题 ? 重建或在线重构出现资源竞争的索引和表

? 继续抓TOP sql进行优化,等完成大部分的sql以后,可以根据系统的运行情况调整系统配置,比

如增加redo log的大小,增加db writer

? 优化SQL建议,考虑对目前的热点盘进行IO分散 ? 分离oltp和olap

? 由于系统的cpu消耗中约有20%用于IO等待,所以,建议优化消耗CPU及IO的SQL,详见TOP

SQL

? 升级为rac,分担系统压力

? 由于系统没有灾备,处于单点运行,这样极具风险,建议增加灾备。

? ?

cursor_sharing=similar,减少SQL硬解析

根据监控的情况我们可以看出,系统大量采用了基于事务的临时表,所以,导致临时表空间竞争比较高,同时,事务回滚现象严重,逻辑读过高消耗大量的CPU,建议优化临时表的使用方式。详见TOP SQL中大量针对临时表操作同时针对临时表进行delete操作。 ? ? ?

压缩存在碎片的表空间

尽量避免业务人员生成环境中进行手工的统计查询。

尽量避免业务人员在办理业务的时候,开多个窗口,或是开发中限制多窗口的使用。

第12章 附录 优化结果对比

12.1案例一

对临时表进行分析以后,同时,采用Oracle hint指定系统的执行路径优化情况如下:

27

杭州社保系统分析方案 pkg_a_temptabletest.pck优化对比80时间(分钟)6040200系列1优化前60优化对比 优化后212.2案例二

SELECT COUNT(1) FROM AC01 A

WHERE EXISTS (SELECT 1 FROM AC02

WHERE AC02.AAC001 = A.AAC001 AND AAE140 = '51' AND AAC031 = '1') AND EXISTS (SELECT 1 FROM AC02

WHERE AAC001 = A.AAC001 AND AAE140 IN ('12', '15', '16') AND AAC031 = '1') 优化后:

SELECT /*+ USE_HASH(A,AC32) ALL_ROWS */COUNT(1) FROM AC01 A

WHERE EXISTS (SELECT 1 FROM AC02

WHERE AC02.AAC001 = A.AAC001 AND AAE140 = '51' AND AAC031 = '1') AND EXISTS (SELECT 1 FROM AC02

WHERE AAC001 = A.AAC001 AND AAE140 IN ('12', '15', '16') AND AAC031 = '1') 执行情况对比:

28

SQL语句优化对比30002500)2000(秒1500时间10005000优化前优化后系列12605275优化对比

29

杭州社保系统分析方案

?

30


杭州社保数据库分析方案 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:房地产客户关系管理工作的几点浅析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: