【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/


本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/5766917.html   ,如需转载请自行联系原作者


相关文章
|
21天前
|
监控 Unix Linux
ps aux 命令使用查看内存、cpu使用排名与top的区别
ps aux 命令使用查看内存、cpu使用排名与top的区别
47 1
|
26天前
|
Java 运维
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
28 2
|
1月前
|
小程序 Linux
【编程小实验】利用Linux fork()与文件I/O:父进程与子进程协同实现高效cp命令(前半文件与后半文件并行复制)
这个小程序是在文件IO的基础上去结合父子进程的一个使用,利用父子进程相互独立的特点实现对数据不同的操作
|
1月前
|
Linux 数据处理 调度
深入探索Linux的renice命令:优化进程优先级
`renice`命令在Linux中用于调整运行进程的优先级,范围-20(最高)至19(最低)。它可以实时改变进程的优先级,无需重启,支持按PID、进程组或用户批量修改。例如,`renice -n 10 -p 1234`将PID为1234的进程优先级设为10。使用时要注意不要滥用高优先级,避免频繁修改,了解系统负载,并记录变更,通常需root权限。
|
2月前
|
Web App开发 运维 监控
深入探索Linux命令pwdx:揭秘进程工作目录的秘密
`pwdx`命令在Linux中用于显示指定进程的工作目录,基于`/proc`文件系统获取实时信息。简单易用,如`pwdx 1234`显示PID为1234的进程目录。结合`ps`和`pgrep`等命令可扩展使用,如查看所有进程或特定进程(如Firefox)的目录。使用时注意权限、进程ID的有效性和与其他命令的配合。查阅`man pwdx`获取更多帮助。
|
1月前
|
应用服务中间件 nginx
cmd 杀掉 nginx后台进程 命令杀掉nginx后台 nginx 常用命令
cmd 杀掉 nginx后台进程 命令杀掉nginx后台 nginx 常用命令
26 0
|
1月前
|
监控 Unix Java
使用Nohup命令管理后台进程的实用技巧
使用Nohup命令管理后台进程的实用技巧
|
4天前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
1天前
|
安全 Linux 开发者
Linux笔记之ldd命令详解
`ldd`命令是Linux环境下一个非常实用的工具,用于显示一个程序运行时所需的共享库依赖。它帮助开发者和系统管理员快速诊断程序运行问题,特别是在处理"找不到库文件"或者"错误的库文件版本"等错误时。然而,出于安全的考虑,对于不信任的可执行文件,应该慎用 `ldd`命令,可以考虑使用其他工具如 `objdump`。总的来说,懂得如何妥善且安全地使用 `ldd`,对于维护一个稳定和高效的Linux系统来说,是非常重要的。
16 9