作者:eygle
出处:
http://www.eygle.com/blog日期:June 26, 2005
本文链接:
http://www.eygle.com/archives/2005/06/oracleeaoieiear.html« 使用Oracle9i的新特性Flashback Query恢复误删除数据 | Blog首页 | 《Oracle数据库性能优化》一书热销 »
平台:SunOS 5.8 Generic_108528-23 sun4u sparc SUNW,Ultra-Enterprise
数据库:8.1.5.0.0
症状:响应缓慢,应用请求已经无法返回
登陆数据库,发现redo日志组除current外都处于active状态
oracle:/oracle/oracle8>sqlplus "/ as sysdba"
SQL*Plus: Release 8.1.5.0.0 - Production on Thu Jun 23 18:56:06 2005
(c) Copyright 1999 Oracle Corporation. All rights reserved.
Connected to:
Oracle8i Enterprise Edition Release 8.1.5.0.0 - Production
With the Partitioning and Java options
PL/SQL Release 8.1.5.0.0 - Production
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 520403 31457280 1 NO ACTIVE 1.3861E+10 23-JUN-05
2 1 520404 31457280 1 NO ACTIVE 1.3861E+10 23-JUN-05
3 1 520405 31457280 1 NO ACTIVE 1.3861E+10 23-JUN-05
4 1 520406 31457280 1 NO CURRENT 1.3861E+10 23-JUN-05
5 1 520398 31457280 1 NO ACTIVE 1.3860E+10 23-JUN-05
6 1 520399 31457280 1 NO ACTIVE 1.3860E+10 23-JUN-05
7 1 520400 104857600 1 NO ACTIVE 1.3860E+10 23-JUN-05
8 1 520401 104857600 1 NO ACTIVE 1.3860E+10 23-JUN-05
9 1 520402 104857600 1 NO ACTIVE 1.3861E+10 23-JUN-05
9 rows selected.
SQL> /
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 520403 31457280 1 NO ACTIVE 1.3861E+10 23-JUN-05
2 1 520404 31457280 1 NO ACTIVE 1.3861E+10 23-JUN-05
3 1 520405 31457280 1 NO ACTIVE 1.3861E+10 23-JUN-05
4 1 520406 31457280 1 NO CURRENT 1.3861E+10 23-JUN-05
5 1 520398 31457280 1 NO ACTIVE 1.3860E+10 23-JUN-05
6 1 520399 31457280 1 NO ACTIVE 1.3860E+10 23-JUN-05
7 1 520400 104857600 1 NO ACTIVE 1.3860E+10 23-JUN-05
8 1 520401 104857600 1 NO ACTIVE 1.3860E+10 23-JUN-05
9 1 520402 104857600 1 NO ACTIVE 1.3861E+10 23-JUN-05
9 rows selected.
|
如果日志都处于active状态,那么显然DBWR的写已经无法跟上log switch触发的检查点。
接下来让我们检查一下DBWR的繁忙程度:
SQL> !
oracle:/oracle/oracle8>ps -ef|grep ora_
oracle 2273 1 0 Mar 31 ? 57:40 ora_smon_hysms02
oracle 2266 1 0 Mar 31 ? 811:42 ora_dbw0_hysms02
oracle 2264 1 16 Mar 31 ? 16999:57 ora_pmon_hysms02
oracle 2268 1 0 Mar 31 ? 1649:07 ora_lgwr_hysms02
oracle 2279 1 0 Mar 31 ? 8:09 ora_snp1_hysms02
oracle 2281 1 0 Mar 31 ? 4:22 ora_snp2_hysms02
oracle 2285 1 0 Mar 31 ? 9:40 ora_snp4_hysms02
oracle 2271 1 0 Mar 31 ? 15:57 ora_ckpt_hysms02
oracle 2283 1 0 Mar 31 ? 5:37 ora_snp3_hysms02
oracle 2277 1 0 Mar 31 ? 5:58 ora_snp0_hysms02
oracle 2289 1 0 Mar 31 ? 0:00 ora_d000_hysms02
oracle 2287 1 0 Mar 31 ? 0:00 ora_s000_hysms02
oracle 2275 1 0 Mar 31 ? 0:04 ora_reco_hysms02
oracle 21023 21012 0 18:52:59 pts/65 0:00 grep ora_
|
DBWR的进程号是2266。
使用Top命令观察一下:
oracle:/oracle/oracle8>top
last pid: 21145; load averages: 3.38, 3.45, 3.67 18:53:38
725 processes: 711 sleeping, 1 running, 10 zombie, 3 on cpu
CPU states: 35.2% idle, 40.1% user, 9.4% kernel, 15.4% iowait, 0.0% swap
Memory: 3072M real, 286M free, 3120M swap in use, 1146M swap free
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
11855 smspf 1 59 0 1355M 1321M cpu/0 19:32 16.52% oracle
2264 oracle 1 0 0 1358M 1316M run 283.3H 16.36% oracle
11280 oracle 1 13 0 1356M 1321M sleep 79.8H 0.77% oracle
6957 smspf 15 29 10 63M 14M sleep 107.7H 0.76% java
17393 smspf 1 30 0 1356M 1322M cpu/1 833:05 0.58% oracle
29299 smspf 5 58 0 8688K 5088K sleep 18.5H 0.38% fee_ftp_get
21043 oracle 1 43 0 3264K 2056K cpu/9 0:01 0.31% top
20919 smspf 17 29 10 63M 17M sleep 247:02 0.29% java
25124 smspf 1 58 0 16M 4688K sleep 0:35 0.25% smif_status_rec
8086 smspf 5 23 0 21M 13M sleep 41.1H 0.24% fee_file_in
16009 root 1 35 0 4920K 3160K sleep 0:03 0.21% sshd2
25126 smspf 1 58 0 1355M 1321M sleep 0:26 0.20% oracle
2266 oracle 1 60 0 1357M 1317M sleep 811:42 0.18% oracle
11628 smspf 7 59 0 3440K 2088K sleep 0:39 0.16% sgip_client_ltz
26257 smspf 82 59 0 447M 178M sleep 533:04 0.15% java
|
我们注意到,2266号进程消耗的CPU不过0.18%,显然并不繁忙,那么瓶颈就很可能在IO上。
使用IOSTAT工具检查IO状况。
gqgai:/home/gqgai>iostat -xn 3
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
......
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c0t6d0
1.8 38.4 32.4 281.0 0.0 0.7 0.0 16.4 0 29 c0t10d0
1.8 38.4 32.4 281.0 0.0 0.5 0.0 13.5 0 27 c0t11d0
24.8 61.3 1432.4 880.1 0.0 0.5 0.0 5.4 0 26 c1t1d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.1 0 0 hurraysms02:vold(pid238)
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
........
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c0t6d0
0.3 8.3 0.3 47.0 0.0 0.1 0.0 9.2 0 8 c0t10d0
0.0 8.3 0.0 47.0 0.0 0.1 0.0 8.0 0 7 c0t11d0
11.7 65.3 197.2 522.2 0.0 1.6 0.0 20.5 0 100 c1t1d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold(pid238)
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
........
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c0t6d0
0.3 13.7 2.7 68.2 0.0 0.2 0.0 10.9 0 12 c0t10d0
0.0 13.7 0.0 68.2 0.0 0.1 0.0 9.6 0 11 c0t11d0
11.3 65.3 90.7 522.7 0.0 1.5 0.0 19.5 0 99 c1t1d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold(pid238)
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
........
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c0t6d0
0.0 8.0 0.0 42.7 0.0 0.1 0.0 9.3 0 7 c0t10d0
0.0 8.0 0.0 42.7 0.0 0.1 0.0 9.1 0 7 c0t11d0
11.0 65.7 978.7 525.3 0.0 1.4 0.0 17.7 0 99 c1t1d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold(pid238)
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
........
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 c0t6d0
0.3 87.7 2.7 433.7 0.0 2.2 0.0 24.9 0 90 c0t10d0
0.0 88.3 0.0 436.5 0.0 1.8 0.0 19.9 0 81 c0t11d0
89.0 54.0 725.4 432.0 0.0 2.1 0.0 14.8 0 100 c1t1d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold(pid238)
|
我们注意到,存放数据库的主要卷c1t1d0的繁忙程度始终处于99~100,而写速度却只有500K/s左右,这个速度是极为缓慢的。
(%b percent of time the disk is busy (transactions in progress)
Kw/s kilobytes written per second)
根据我们的常识T3盘阵通常按Char写速度可以达到10M/s左右,以前测试过一些Tpcc指标,可以参考:
Use bonnie to Test system IO speed。
而正常情况下的数据库随机写通常都在1~2M左右,显然此时的磁盘已经处于不正常状态,经过确认的确是硬盘发生了损坏,Raid5的Group中损坏了一块硬盘。
经过更换以后系统逐渐恢复正常。
Posted by eygle at June 26, 2005
分享到:
相关推荐
Oracle DG下修改redo log和standby redo log日志大小.txt
rac数据库修改redolog日志组大小及数量
丢失全部数据库文件及全部redolog的恢复方法,可用作RMAN数据库迁移.doc
ORACLE 修改redo日志文件 大小的方法 供大家参考
用java写的一个oracle日志查看器源代码,调用oracle数据库的logminer过程。包含一个不错的日历选择面板
MySQL数据库之undo log和redo log工作原理.png,这是一份图例,画图表示undo log和redo log的工作原理
23.简析REDO LOGFILE 24.理解和使用Oracle 8i分析工具-LogMiner 25.哪些初始化参数最影响Oracle系统性能 26.你的SQL语句在什么情况下使用全表扫描? 27.如何对CLOB行字段执行全文检索 28.如何让你的SQL...
1. 检查介绍 1.1 检查系统 1.2 检查范围 2. 硬件配置 2.1 主机配置 3. 系统配置 3.1 操作系统数据库相关要求补丁 ...4.10 归档Redo log 文件 4.11 数据文件 4.12 表空间 4.13 回滚段管理 .....
Oracle备份恢复-redo文件损坏的各种场景恢复专题:redo文件损坏涉及到多种多样场景,具体场景可以分四大部分: 1、按照redo的状态可以分为current、active和inactive; 2、按照数据库归档模式可以分为归档和非归档;...
探索oracle redolog内部结构
Oracle DataGuard添加修改redo log日志大小
oracle数据库的优化 数据库的优化 2 概述 2 监控数据库的性能: 2 优化数据库磁盘I/O 2 建立和优化数据库文件的方针: 6 监控磁盘I/O的方法: 7 优化回滚段 7 检测回滚段争用: 7 通过以下公式计算等待比率: 8 若...
Redo log包含所有的数据库变化历史,数据库的所有操作变化,均按照写入重做日志缓冲区先于数据块缓冲区、写入重做日志文件先于写入数据文件;当发生提交动作时,将重做日志缓冲区变化刷到重做日志文件。
src =" node_modules/undo-redo-vuex/dist/undo-redo-vuex.min.js " > </ script > 模块 import undoRedo from "undo-redo-vuex" ; 用法 作为的标准, undo-redo-vuex可以用于以下设置: 如何在商店模块中...
Oracle工作总结——日志文件切换频率的调整 Oracle工作总结——日志文件切换频率的调整
文章目录一、MySQL日志文件类型二、几种日志的对比2-1、用途 redo log undo log binlog2-2、存储内容、格式 redo log undo log binlog2-3、日志生成 redo log undo log binlog2-4、删除策略 redo log ...
7.19 诊断案例二:日志组过度激活的诊断 附录 数值在Oracle的内部存储 第8章 回滚与撤销 8.1 什么是回滚和撤销 8.2 回滚段存储的内容 8.3 并发控制和一致性读 8.4 回滚段的前世今生...
7.19 诊断案例二:日志组过度激活的诊断 附录 数值在Oracle的内部存储 第8章 回滚与撤销 8.1 什么是回滚和撤销 8.2 回滚段存储的内容 8.3 并发控制和一致性读 8.4 回滚段的前世今生...
7.19 诊断案例二:日志组过度激活的诊断 附录 数值在Oracle的内部存储 第8章 回滚与撤销 8.1 什么是回滚和撤销 8.2 回滚段存储的内容 8.3 并发控制和一致性读 8.4 回滚段的前世今生...
42 redo log是直接一条一条写入文件的吗?非也,揭秘redo log block.pdf