zoukankan      html  css  js  c++  java
  • 【RAC】使用一条“ps”命令获取Linux环境下全部RAC集群进程信息

      如何仅使用一条ps命令便能获取到所有与RAC集群进程相关的信息。
      从所使用的命令角度上看很简单,仅需使用ps命令结合grep命令便能实现。问题关键是需要确定检索哪些关键字。

    1.与RAC集群有关的进程
    1)常驻系统的通用进程
    ocssd.bin
    evmd.bin
    evmlogger.bin
    crsd.bin

    这些通用进程需要在各种平台和数据库版本上都会启动。

    2)特有进程
    oprocd: 在UNIX平台当第三方集群软件为运行时会启动该进程;在Linux平台上会在Oracle 10.2.0.4这个版本上启动该进程
    oclsvmon.bin: 随第三方集群软件启动而启动的进程
    oclsomon.bin: 在Oracle 10.2.0.1平台上启动的用于检查ocssd.bin
    diskmon.bin: 在Oracle 11.1.0.7版本中针对Exadata启动的新进程
    oclskd.bin: 在Oracle 11.1.0.6版本上当数据库实例出现hang死现象后,该进程用于重新启动节点

    注意:以上所有与RAC集群相关的进程中ocssd.bin、oprocd.bin和oclsomon.bin这三个进程出现异常被杀死或停止时都会导致节点重启,其他进程出现问题后会自动重新启动。

    2.针对RAC集群进程给出查询命令
    这里的RAC操作系统环境是Linux,Oracle版本是10.2.0.3。
    我们使用操作系统“ps -ef | grep -v grep | grep -E 'init|d.bin|ocls|oprocd|diskmon|evmlogger|PID'”(这里用到了grep的-E正则表达式功能)命令完成我们的任务。
    这里给处理需要检索的关键字信息。

    RAC第一节点命令执行后的显示结果如下所示:
    secdb1@secdb1 /home/oracle$ ps -ef | grep -v grep | grep -E 'init|d.bin|ocls|oprocd|diskmon|evmlogger|PID'
    UID        PID  PPID  C STIME TTY          TIME CMD
    root         1     0  0 Feb10 ?        00:00:06 init [5]
    root      5666     1  0 Feb10 ?        01:01:52 /bin/sh /etc/init.d/init.cssd fatal
    root      5668     1  0 Feb10 ?        00:32:18 /oracle/crs/oracle/product/10.2.0/crs/bin/crsd.bin reboot
    root      6063  5666  0 Feb10 ?        00:00:00 /bin/sh /etc/init.d/init.cssd daemon
    oracle    6090  5663  0 Feb10 ?        00:01:18 /oracle/crs/oracle/product/10.2.0/crs/bin/evmd.bin
    oracle    6224  6189  0 Feb10 ?        00:03:59 /oracle/crs/oracle/product/10.2.0/crs/bin/ocssd.bin
    oracle    6512  6090  0 Feb10 ?        00:00:03 /oracle/crs/oracle/product/10.2.0/crs/bin/evmlogger.bin -o /oracle/crs/oracle/product/10.2.0/crs/evm/log/evmlogger.info -l /oracle/crs/oracle/product/10.2.0/crs/evm/log/evmlogger.log


    3.小结
    在查看RAC集群进程的过程中最关键的就是了解进程信息和功能,在此基础上操作系统命令仅仅是工具而已。

    转:http://blog.itpub.net/519536/viewspace-693769/

  • 相关阅读:
    C++_重载、重写和重定义的区别
    C++静态库与动态库
    C++ 中重载运算符 “<” 及 friend属性
    C++中,关于#include<***.h>和#include"***.h"的区别
    static_cast, dynamic_cast, const_cast讨论
    浅析C++中static关键字
    C语言包含头文件时用引号和尖括号的区别
    vc实现透明位图,透明背景
    VS2008调试技巧——断点失效
    Spring解决循环依赖的理解
  • 原文地址:https://www.cnblogs.com/andy6/p/5766917.html
Copyright © 2011-2022 走看看