ORA-00445错误

Oracle 11.2.0.1.0

问题:

Errors in file /u01/app/oracle/diag/rdbms/oradb/oradb1/trace/oradb1_cjq0_532518.trc (incident=284542):~ORA-00445: background process "J001" did not start after 120 seconds

参考文档:

Symptoms Changes Cause Solution

Applies to:

Oracle Server -Enterprise Edition - Version 11.2.0.1 to 11.2.0.3 [Release 11.2]

IBM: Linux onSystem z

 

Symptoms

Random errors aresee in the alert log relating to spawning of processes such as:

ORA-00445:background process "m001" did not start after 120 seconds

Incident detailsin: /opt/u01/app/oracle/diag/rdbms/incident/incdir_3721/db1_mmon_7417_i3721.trc

ERROR: Unable tonormalize symbol name for the following short stack (at offset 2):

Tue Jun 2103:03:06 2011

ORA-00445:background process "J003" did not start after 120 seconds

or

Waited for processW002 to initialize for 60 seconds

The system appearsto be running very slowly and defunct processes can appear.

 Changes

REDHAT 5 kernel2.6.18-194.el5 #1 SMP Tue Mar 16

Oracle 11.2.0.2Single Instance

IBM: Linux onSystem z

 

Cause

Recent linuxkernels have a feature called Address Space Layout Randomization (ASLR).

ASLR  is a feature that is activated by default onsome of the newer linux distributions.

It is designed toload shared memory objects in random addresses.

In Oracle, multipleprocesses map a shared memory object at the same address across the processes.

 

With ASLR turnedon Oracle cannot guarantee the availability of this shared memory address.

This conflict inthe address space means that a process trying to attach a shared memory objectto a specific address may not be able to do so, resulting in a failure in shmatsubroutine.

 

However, onsubsequent retry (using a new process) the shared memory attachment may work.

The result is arandom set of failures

 

Solution

It should be notedthat this problem has only been positively diagnosed in Redhat 5 and Oracle11.2.0.2.

It is also likely,as per unpublished BUG:8527473,  thatthis issue will reproduce running on Generic Linux platforms running  any Oracle 11.2.0.x. on Redhat/OEL kernelswhich have ASLR.

 

ASLR also existsin SLES10 and SLES 11 kernels and by default ASLR is turned on, however, todate not problem has been seen on SuSE.

 

You can verifywhether ASLR is being used as follows:

 

 # /sbin/sysctl -a | grep randomize

kernel.randomize_va_space= 1

 

If the parameteris set to any value other than 0 then ASLR is in use.

 

On Redhat 5 topermanently disable ASLR.

 

add/modify thisparameter in /etc/sysctl.conf

kernel.randomize_va_space=0

kernel.exec-shield=0

 

You need to rebootfor kernel.exec-shield parameter to take effect.

 

Note that bothkernel parameters are required for ASLR to be switched off.




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值