Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

2135

积分

502

好友

184

主题
1#
发表于 2013-9-18 22:52:38 | 查看: 3684| 回复: 0
orarootagent.bin进程是11.2 Gird Infrastructure的Agent后台代理进程,负责监控ora.ctssd、ora.diskmon、ora.crsd、ora.driver.acfs等资源。

orarootagent.bin产生少量zombie子进程属于正常现象。

可以通过kill orarootagent.bin进程达到消除zombie进程的目的,orarootagent.bin进程被KILL之后会被重新respawned启动。

更多信息可以直接参考 SR 3-6935693751 : Can we kill orarootagent.bin process中GCS的回复:

1. How many orarootagent.bin processes should be running in GI environment?

By default there should be two orarootagent.bin.

One is spawned by ohasd and the other by crsd.

root:/> ps -ef |grep oraroot

root 26083426 1 0 Apr 22 - 68:11 /opt/rtl/11.2.0/grid/bin/orarootagent.bin
root 35979384 1 2 Apr 30 - 63:55 /opt/rtl/11.2.0/grid/bin/orarootagent.bin


2. Is it normal to have zombie/defunct processes associated with orarootagent.bin process?

Yes ,there are usually some zombie processes associated with the orarootagent.bin process.
They are spawned when orarootagent.bin process tries to restart HAIP resource.



3. How to check for Zombie processes?

- ps -ef |grep defunct
root 8781978 42795142 0 09:56:29 pts/0 0:00 grep defunct
root 17825906 26083426 2 0:00 <defunct>
root 41222186 26083426 1 0:00 <defunct>
root 41222186 26083426 1 0:00 <defunct>

All of them have the same parent, process id 26083426.

- “ps aux” and look for a Z in the STAT column.
- ps aux | awk '{ print $8 " " $2 }' | grep -w Z
- Also in top output


4. What is a Zombie process?

A zombie is a dead process, i.e, a child process that has completed execution but has not yet been reaped by the parent process.
The reason for zombies is so that the zombie's parent (process) can retrieve the zombie's exit status and resource usage statistics.
The parent process then signals the operating system that it no longer needs the zombie by using one of the wait() system calls.

A Zombie process has no resources (memory , cpu) allocated to it, but it still has an entry in the process tree.


5. Should Zombie processes be removed?

Usually no action is necessary as Zombies don't influence GI or RAC and should clear out eventually.
However, it is possible that under heavy load, many zombies can cause the system to run out of process ID numbers.
In such cases, Zombies should be removed.


6. How to remove Zombie processes ?

Since they are already dead processes, Zombies cannot be killed using "kill -9".

They can be removed by sending a SIGCHLD signal to the parent:
kill -s SIGCHLD <parent_pid>
Ideally this will cause parents to reap their zombie children.

If the parent process still refuses to reap the zombie, the next step is to remove the parent process.
kill -9 <parent_pid>
Killing the parent process causes all of the parent’s children to be adopted by the init process (pid 1), which periodically runs wait() to reap any zombie children.


Please note that killing orarootagent.bin process will not cause an issue , since it is automatically respawned.
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/zh-hans/emergency-services

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569   
您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-18 05:05 , Processed in 0.045163 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569