oracle sqlcode -4092,HP-UNIX平台修改Oracle processes参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302...

OS 版本 :HP-UX B.11.31

Oracle版本:11.2.0.4 (RAC)

(一)问题描述

最近发现无法连接上数据库,报错信息为“ORA-00020:maximum number of processes (3000) exceeded”,很明显是数据库的进程数量已经达到了最大值,可用过v$process确认

于是打算将数据库参数processes改大一些,直接修改为6000。修改命令如下:

重启节点:

srvctl stop instance -d {oracle_name} -i {instance_name}

srvctl start instance -d {oracle_name} -i {instance_name}

在重启时候,发现有错误提示:

ORA-27154: post/wait create failed

ORA-27300: OS system dependent operation:semget failed with status: 28

ORA-27301: OS failure message: No space left on device

ORA-27302: failure occurred at: sskgpcreates

(二)解决方案

通过查找资料,可通过修改OS内核参数解决,可以使用SAM修改,也可使用kctune工具修改,这里使用kctune工具修改,修改过程如下

(1)确认semm*参数的当前值

oracledb2#[/]kctune | grep semm

semmni 5120 5120

semmns 8192 8192

semmnu 4092 4092

semmsl 2048 Default Immed

(2)修改semmni参数

oracledb2#[/]kctune semmni=8192

==> Update the automatic ‘backup’ configuration first? y

* The automatic ‘backup’ configuration has been updated.

* Future operations will update the backup without prompting.

NOTE: The requested changes could not be applied to the currently

running system, for the following reasons:

- The tunable ‘semmni’ cannot be changed without a reboot.

* The requested changes have been saved, and will take effect at

next boot.

Tunable Value Expression

semmni (now) 5120 5120

(next boot) 8192 8192

(3)修改semmns的值

oracledb2#[/]kctune semmns=16384

* The automatic ‘backup’ configuration has been updated.

NOTE: The requested changes could not be applied to the currently

running system, for the following reasons:

- The tunable ‘semmns’ cannot be changed without a reboot.

* The requested changes have been saved, and will take effect at

next boot.

Tunable Value Expression

semmns (now) 8192 8192

(next boot) 16384 16384

(4)修改nproc参数的值,该参数修改后立刻生效

oracledb2#[/]kctune nproc=8192

* The automatic ‘backup’ configuration has been updated.

WARNING: The validity of the tunable values could not be completely

verified, because the value of the tunable ‘process_id_max’

will not be known until the system is booted. The tunable

values will be verified during boot. Please check the console

messages during boot to see if there are any tunable value

errors.

* The requested changes have been applied to the currently

running configuration.

Tunable Value Expression Changes

nproc (before) 6144 6144 Immed

(now) 8192 8192

(5)修改semmnu的值

oracledb2#[/]kctune semmnu=8188

* The automatic ‘backup’ configuration has been updated.

NOTE: The requested changes could not be applied to the currently

running system, for the following reasons:

- The tunable ‘semmnu’ cannot be changed without a reboot.

* The requested changes have been saved, and will take effect at

next boot.

Tunable Value Expression

semmnu (now) 4092 4092

(next boot) 8188 8188

需要注意的是,在修改semmnu之前,需要确定nproc的值,确保:nproc >= semmnu + 4。

错误示范:

oracledb2#[/]kctune semmnu=8188

ERROR: The values of the tunables ‘semmnu’ (8188) and ‘nproc’ (6144)

do not satisfy the requirement:

nproc >= semmnu + 4

在改完参数之后,需要重启OS,参数才能生效。接着再重启数据库,正常启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值