视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle服务器系统负载过高的处理
2020-11-09 08:30:04 责编:小采
文档

1.检查系统 top命令显示系统 load averages: 99.90, 117.54, 125.71 观察cpu使用率不高。 iowait 高! 2.检查进程数量 ps -ef|grep oracle|wc -l 显示进程数量大概在150左右 3.检查数据库 查询v$session_wait获取各进程等待事件 SQL select sid,event,p1,p1t

1.检查系统 top命令显示系统 load averages: 99.90, 117.54, 125.71

观察cpu使用率不高。 iowait 高!

2.检查进程数量

ps -ef|grep oracle|wc -l 显示进程数量大概在150左右

3.检查数据库

查询v$session_wait获取各进程等待事件

SQL> select sid,event,p1,p1text from v$session_wait;

SID EVENT P1 P1TEXT
----- --------------------------------------------------

124 latch free 1.6144E+10 address
1 pmon timer 300 duration
2 rdbms ipc message 300 timeout
3 rdbms ipc message 300 timeout
11 rdbms ipc message 30000 timeout
6 rdbms ipc message 180000 timeout
4 rdbms ipc message 300 timeout
134 rdbms ipc message 6000 timeout
147 rdbms ipc message 6000 timeout
275 rdbms ipc message 17995 timeout
274 rdbms ipc message 6000 timeout

SQL> select event,count(*) from v$session_event group by event order by count(*) desc ;
SQL*Net message from client 156
SQL*Net message to client 156
db file sequential read 250
latch free 49
1log file sync 30
db file scattered read 25
buffer busy waits 23
log file switch completion 17
SQL*Net more data to client 16

发现数据库系统有 大量 sequential read 事件。

select sid,event from v$session_wait where event in ('file sequential read ')

得到等待事件的 id

然后通过id 获得sql 语句。

SELECT sql_text FROM v$sqltext a WHERE a.hash_value = (SELECT sql_hash_value
FROM v$session b WHERE b.SID = '&sid') ORDER BY piece ASC

使用该应用用户连接,检查该语句的执行计划:

SQL> set autotrace trace explain

检查表的索引:

SQL> select index_name,column_name from user_ind_columns where table_name ='HS_INFO';

检查该表,存在以下索引:

SQL> select index_name,index_type from user_indexes where table_name='HS_INFO';

检查索引键值:

SQL> select index_name,column_name from user_ind_columns where table_name ='HS_INFO';

决定创建新的索引以消除全表扫描

下载本文
显示全文
专题