软件下载地址:

https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=520996062954556&id=301137.1&_afrWindowMode=0&_adf.ctrl-state=vmqzfjav6_247#aref_section32

当我们向SR提出服务请求及,常常要求提供AWR、ASH、RDA、OSW,OSW是什么?怎么用?通过学习官网相关文档记录如下:

一、OSW是什么?

OSWatcher Black Box, 简称OSW,是oracle提供的一个小但是非常有用的工具,它通过调用OS自己提供的命令来记录OS运行时的一些性能参数,比如CPU/Memory/Swap/Network IO/Disk IO相关的信息。

二、为什么要部署OSW ?

OSW并不是强制要部署的,并且有很多工具可以提供一样的功能,比如说mrtg, cacti, sar, nmon, enterprise manger grid control,既然有这么多工具可以做,我为什么还要部署OSW呢,因为OSW有N多好处:

1. 它比较容易部署,并且容易删除。
    2. 资源消耗比较小,不管是从CPU,内存还是磁盘空间来说(基本上可以忽略)。
    3. 平时不需要维护,并且在发生问题时可以帮我们迅速定位问题是否发生在OS端

数据库是运行在OS之上的,如果OS发生了异常,那么数据库肯定也会受到影响;如果我们仅仅从数据库的角度去分析这样的问题时,很难有个好结果,N多时候都说是BUG或者说业务量大等一些结果来忽悠我们的用户或领导,但是实际情况很可能是OS出了问题导致数据库出现异常,如果直接说OS出了问题,那么主机管理员肯定不干,让你给出证据,OSW就是我们的证据,有朋友可能会问,主机是主机的人管的,我没权限能安装OSW吗?答案是肯定的,不需要ROOT权限!

三、部署OSW有那些实际用处?

在平时的工作中,有一类问题很常见:在过去的某个时间段,数据库发生了一些问题,我们往往要找到问题的原因(root cause),之后才能做某些改动来避免它再次发生。对于这样的问题,OSW是非常有用的,举几个小例子:

1.发生的问题并不是由于OS的异常引起的。这时候如果我们有在发生问题的时候收集的OSW数据,我们就可以立刻排除OS方面,把注意力投向DB/应用层。
    2.对于ORACLE Database Performance的问题,我们往往第一个方向就是排除OS的问题。比如OS在某个时间段发生了很频繁的Swapping,那么内存相关的操作就会受到影响,数据库性能也会下降,表现在AWR中就会发现数据库有latch/mutex相关的等待。
    3.应用在某个时间段响应非常慢。AWR显示数据库非常的空闲,top5等待事件也都是很正常;从CPU,内存,Swap, Disk IO方面看也都很正常。后来发现OSW中关于网络的数据显示,发生问题时有非常多的丢包现象。如果当时没有收集到OSW的数据,那么基本上是不可能找到原因了。
    4.又比如某些ORA-04030的错误或者CJQ0, P00X, J00X进程不能启动的问题,如果我们部署了OSW,那么我们就能立刻知道这些错误是不是由于OS的内存短缺引起的。
    5.如果某个server process莫名hung住,我们可以通过OSW的信息来看当时这个进程是不是出于suspend的状态,是不是占用了太多的CPU/Memory。
    6.某些Listener hung的问题,我们也需要OSW的历史信息来进行下一步的分析。
    7. Login Storm问题:客户的数据库系统突然变慢,从应用端,数据库的ASH,AWR报告中没有发现任何异常。但是通过OSW的ps的输出发现,在发生问题时, oracle 的server process比平时多了上千个。
    实际上,OSW对于我们分析问题是非常有帮助的。如果当前OS上并没有部署任何的监控软件,那么强烈建议DBA来部署OSW。很多重要的生产环境都部署了OSW,在有关于DB Performance的问题时,他们往往会先提交OSW的输出。

大家对部署OSW的顾虑往往是什么?

1.生产环境已经正常运行了很久了,基于稳妥的考虑,不能随便安装软件

    2.OSW会不会带来副作用

OSW的工作机制是每隔一段时间调用OS提供的一些工具,比如ps, vmstat, netstat, mpstat, top;然后把这些工具的输出打印到文件里。 它不可避免的会消耗CPU, Disk IO, Disk Space, Memory;但是这些消耗的资源都是非常少的,在大部分的系统里都是可以忽略的。只有在某些极端情况下,部署OSW才会带来负面影响:系统已经是非常的忙,CPU使用率在90%以上;磁盘的free space已经没有了。所以大家的顾虑在大部分的情况下都是不必要的,部署OSW是没有什么风险的。

五、支持的平台有哪些

AIX

Tru64

Solaris

HP-UX

Linux

六、下面讲一下如何在UNIX/LINUX上安装/部署OSW:
安装包软件可以从文档301137.1上下载OSW,具体安装步骤如下:

1.tar xvf oswbb601.tar
[oracle@dg database]$ tar xvf oswbb601.tar
  oswbb/
  oswbb/src/
  oswbb/src/tombody.gif
  oswbb/src/Thumbs.db
  oswbb/src/missing_graphic.gif
  oswbb/src/OSW_profile.htm
  oswbb/src/watch.gif
  oswbb/src/coe_logo.gif
  oswbb/src/oswbba_input.txt
  oswbb/tmp/
  oswbb/call_du.sh
  oswbb/tarupfiles.sh
  oswbb/Exampleprivate.net
  oswbb/vmsub.sh
  oswbb/docs/
  oswbb/docs/The_Analyzer/
  oswbb/docs/The_Analyzer/oswbba_README.txt
  oswbb/docs/The_Analyzer/OSW_Black_Box_Analyzer_Overview.pdf
  oswbb/docs/The_Analyzer/oswbba_user_guide.pdf
  oswbb/docs/OSWatcher_Black_Box/
  oswbb/docs/OSWatcher_Black_Box/OSWatcherUserGuide.pdf
  oswbb/docs/OSWatcher_Black_Box/oswbb_README.txt
  oswbb/topaix.sh
  oswbb/OSWatcher.sh
  oswbb/pssub.sh
  oswbb/nfssub.sh
  oswbb/mpsub.sh
  oswbb/oswrds.sh
  oswbb/profile/
  oswbb/oswsub.sh
  oswbb/call_sar.sh
  oswbb/oswnet.sh
  oswbb/OSWatcherFM.sh
  oswbb/analysis/
  oswbb/startOSWbb.sh
  oswbb/gif/
  oswbb/oswib.sh
  oswbb/stopOSWbb.sh
  oswbb/extras.txt
  oswbb/oswbba.jar
  oswbb/locks/
  oswbb/iosub.sh
  oswbb/xtop.sh
   此时会在当前目录下创建一个osbb文件夹,到此安装就完成了,相当简单,如果要删除,直接rm -f osbb即可完成删除
2.启动OSW监控

   nohup ./startOSWbb.sh 180 8 &   --推荐启动方式

   nohup ./OSWatcher.sh 60 24 &    --这种方式也可以,但目前来看只保留四个小时的日志,具体区别现在还没有整明白,希望知道的朋友留言说一下,谢谢!

此时会生成一个nohup.out文件,记录启动信息,同时会在当前目录下创建一个archive文件夹,所有的监控信息都存在archive文件夹内,要确保有足够的磁盘空间,上面这条命令的意思是在后运行,60秒收集一次,收集时长是24小时

需要注意的是:如果直接./OSWatcher.sh运行,系统默认是30稍收集一次,持续收集时间是48小时

3.停目OSW

./stopOSWbb.sh

到此安装配置简单使用都结束了,下面我们去看看archive文件夹下面都有那些文件

因为我的是虚拟内共享的自己笔记本电脑硬盘,可以看到生成了9个文件夹,都是iostat/top/wmstat等命令命令

私网间通讯检查,参考博文

https://blogs.oracle.com/database4cn/osw-oswatcher-black-box

转载于:https://www.cnblogs.com/jinyuanliu/p/10319444.html

OsWatcher 使用详解相关推荐

  1. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  2. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

  3. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  4. 通俗易懂word2vec详解词嵌入-深度学习

    https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...

  5. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法

    深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...

  6. CUDA之nvidia-smi命令详解---gpu

    nvidia-smi是用来查看GPU使用情况的.我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下. ...

  7. Bert代码详解(一)重点详细

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

  8. CRF(条件随机场)与Viterbi(维特比)算法原理详解

    摘自:https://mp.weixin.qq.com/s/GXbFxlExDtjtQe-OPwfokA https://www.cnblogs.com/zhibei/p/9391014.html C ...

  9. pytorch nn.LSTM()参数详解

    输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num ...

最新文章

  1. 如何利用神经网络结合遗传算法进行非线性函数极值寻优(2)
  2. Python 2.7终结于7个月后,这是你需要了解的3.X炫酷新特性
  3. java二进制转十进制代码_二进制转十进制java代码
  4. android手机短信拦截器,垃圾短信退订套路深 手机上装拦截软件是可行方法
  5. 过Postfix构建Exchange Server 2010邮件网关部署系列三:安装Exchange 2010先决性条件
  6. day5 模拟用户登录
  7. 求整数的和与均值(信息学奥赛一本通-T1061)
  8. 沈阳计算机考试都学什么,沈阳计算机考研考什么科目
  9. git 忽略文件提交的几种姿势
  10. Tomcat启动默认访问项目
  11. 图像处理PILLOW的使用
  12. 计算机视觉实战(十二)全景图像拼接(附完整代码)
  13. 进入大厂的面试经验详细总结(P7 拿 offer)
  14. php返回成功信息msg_PHP进化史 — 从v5.6到v8.0(可收藏)
  15. 女士品茶——统计学如何变革了科学和生活1
  16. cass软件yy命令_CASS快捷命令大全
  17. 大学生静态HTML网页源码——佛山旅游景点介绍网页代码 家乡旅游网页制作模板 web前端期末大作业
  18. 用 JAVA 实现微信第三方登录
  19. Python编程学习第一篇——Python零基础快速入门(三)——10行代码画朵花
  20. 【总结】办公编程学习你可能需要这些小利器!

热门文章

  1. GPLv2许可证正经人话翻译
  2. css使用rgb属性设置颜色
  3. matlab中求矩阵的迹,求Matlab中矩阵的秩和迹
  4. C语言实现矩阵的秩求解分析
  5. Github上8个很棒的Vue项目
  6. maven项目编译中文乱码和myeclipse中文乱码和电脑乱码?
  7. 2022年分享一些好用的内网穿透软件
  8. 三维空间刚体运动——(1)齐次坐标与旋转矩阵
  9. 用c语言计算高考成绩,C语言计算距离高考剩余时间
  10. CCF GitLink开源编程夏令营 · 学生开放报名!