【大话IT】疑难杂症 oracle把整个服务器托崩溃了

[复制链接]
查看11 | 回复9 | 2015-2-12 06:00:14 | 显示全部楼层 |阅读模式
大家好,我是新手。刚接触两个月时间很多事情还不太清楚需要向各位前辈们请教,虽然这问题恶心的我恶心的要死,但我知道这只是我在dba道路上的很小挫折 后面恶心的多着呢。我会坚持下去的。
言归正传 问题是这样的:我们公司的一台实验机器安装在vsphere上 。oracle 11g 是空数库,为公司自己做得第三方监控软件做查询用。查的是系统表空间里面的数据字典一类的。 然后开启数据库没问题,几个小时后发现正风服务器特别慢。卡的厉害,oracle 这台机器内存被用完,i/o也很高。感觉关机怕影响服务器上其他虚拟机。 后来迁移出来自己做实验 查看alert日志 如下
VERSION INFORMATION:
TNS for Linux: Version 11.2.0.4.0 - Production
Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
Time: 14-JAN-2015 03:38:14
Tracing not turned on.
Tns error struct:
ns main err code: 12537
TNS-12537: TNS:connection closed
ns secondary err code: 12560
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
opiodr aborting process unknown ospid (30199) as a result of ORA-609
opiodr aborting process unknown ospid (30137) as a result of ORA-609
opiodr aborting process unknown ospid (30157) as a result of ORA-609
。。。。。。。。。。。。。。。。
而且异常的多 几个小时内一直重复这类信息的写入
还有这些报错
WARNING: Heavy swapping observed on system in last 5 mins.
pct of memory swapped in [1.87%] pct of memory swapped out [1.16%].

一开始以为是bug (网上查的)
吧sqlnet。ora 和 linster.ora中参数改了 还是没用
请大家帮帮忙讨论下 给出一个解决方案,又需要的话会把session 和process 数目写出 昨天听人说是process太少 已经改到500了还是不行
连接的话就那一个第三方监控软件

回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
从操作系统角度查询 df 发现 磁盘一直被写入数据 内存也在增大
oracle 是非归档模式 第三方也只是进行查询工作 不进行写入

回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
大家帮忙顶也行啊 别沉。。。找了两天原因了还是不行
回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
那就看看写啥了,哪个文件或者哪些文件在增加
回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
myles521 发表于 2015-1-14 16:10
那就看看写啥了,哪个文件或者哪些文件在增加

这个应该怎么实现啊 求教
回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
fenglingcp 发表于 2015-1-14 16:14
这个应该怎么实现啊 求教

既然你关注是不是数据库或者应用造成的,其实关注下数据库的数据文件增加。
在负载高的情况下,或者IO大的情况下,看下数据库的主要等待事件是啥,这个可能就是你要解决的问题。
磁盘写是否频繁,可以用vmstat或者iostat来看下繁忙程度。
另外监控软件应该会有数据写入,否则就不能查看历史数据了。
回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
myles521 发表于 2015-1-14 16:17
既然你关注是不是数据库或者应用造成的,其实关注下数据库的数据文件增加。
在负载高的情况下,或者IO ...

谢谢你我又多学会了两个命令,初步判断oracle 的 *.dbf*.log*.ctl大小都是不变的 alert日志页没有新纪录还有 公司的性能监控软件是只做查询的 但数据库还是会切换redo.log而且出错那会切换很频繁是正常的好几倍 说明redo.log 被快速写满后reuse 而且alter报错中有一句大概说是 写入 log 失败一类的。
回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
myles521 发表于 2015-1-14 16:17
既然你关注是不是数据库或者应用造成的,其实关注下数据库的数据文件增加。
在负载高的情况下,或者IO ...

监控软件是一分钟进行60次查询的不知道这信息会不会有用
这是 iostat的查询结果
[oracle@oracle11g /]$ iostat
Linux 2.6.32-358.el6.x86_64 (oracle11g)
01/14/2015
_x86_64_
(1 CPU)
avg-cpu:%user %nice %system %iowait%steal %idle
4.850.004.96 30.080.00 60.11
Device:
tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda
271.28 66291.67 111.80 12884899462173072
回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
排查吧,先把监控软件停了看看,会不会还是报这样的错,出现类似的情况。然后再继续调查
回复

使用道具 举报

千问 | 2015-2-12 06:00:14 | 显示全部楼层
监控软件是一分钟进行60次查询的 ?!,每分钟都执行吗
一秒钟执行一次,这么频繁。
1.先停掉监控软件,再观察下 系统负载,io 内存和 alert日志
2.生成发生问题时间端的awr,看下top sql 和等待事件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行