General
cancel
Showing results for 
Search instead for 
Did you mean: 

"mlock failed" error after changing oracle buffer pools

Lukasz Geleta
Occasional Contributor

"mlock failed" error after changing oracle buffer pools

After changing some oracle parameters:

11c11
< db_block_buffers =900000
---
> db_block_buffers =1207200
14c14
< buffer_pool_recycle = ("buffers:25000","lru_latches:5")
---
> buffer_pool_recycle = ("buffers:307200","lru_latches:5")
22c22
< db_block_lru_latches = 16
---
> db_block_lru_latches = 12


we started to get the following message in the system log:

Mar 25 00:50:28 scpf vmunix: mlock_region failed..

It is being logged every 30 second. Could anybody explain what this message means and what parameters are to be altered (perhaps some kernel parameters) to get rid of this.

rgds

Lukasz
8 REPLIES
Varghese Mathew
Trusted Contributor

Re: "mlock failed" error after changing oracle buffer pools

Lukasz,

Have a look at the below document.

http://www2.itrc.hp.com/service/cki/docDisplay.do?docLocale=en_US&docId=200000066176954

Cheers !!!
Mathew.
Cheers !!!
Michael Steele_2
Honored Contributor

Re: "mlock failed" error after changing oracle buffer pools

From a search on the same error: "mlock failed"

1) Region size requested is larger than available lockable memory.

2) Region must be contigous & available memory is heavily fragmented & a contigous region large enough is not available.

You kernel parameters need to be revisited with oracle.
Support Fatherhood - Stop Family Law
Michael Steele_2
Honored Contributor

Re: "mlock failed" error after changing oracle buffer pools

Your database is too small for the server. Reduce nfile, ninode and nproc.

When you run:

sar -v 5 5

...for nproc, ninod and nfile is your numerator only ~ 10% of the denominator? They should be around 60 or 70% but this depends.
Support Fatherhood - Stop Family Law
Lukasz Geleta
Occasional Contributor

Re: "mlock failed" error after changing oracle buffer pools

Sorry for the lame question but what do you mean by "database is too small for the system"

rgds

Lukasz
Steven E. Protter
Exalted Contributor

Re: "mlock failed" error after changing oracle buffer pools

I think its here.

setprivgrp command

/etc/privgrp

Syntax in the file is groupid function

or command line as root, example dba owns oracle

setprivgrp dba MLOCK

Has this been done? Are you current on OS patches?

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Yogeeraj_1
Honored Contributor

Re: "mlock failed" error after changing oracle buffer pools

hi lukasz,

Make sure the dba group has the MLOCK privilege.

To check if a group has the MLOCK privilege, execute:

% /usr/bin/getprivgrp



If the dba group is not listed, then set it:

% /usr/sbin/setprivgrp MLOCK



Note, the next reboot will clear this privilege. To automate this at startup,

create /etc/privgroup with the entry

dba MLOCK



This can be tested with

% /usr/sbin/setprivgrp -f /etc/privgroup

See 'man 1m setprivgrp' for more information.

Also, are there errors in your alert.log?

Regards
Yogeeraj
No person was ever honoured for what he received. Honour has been the reward for what he gave (clavin coolidge)
T G Manikandan
Honored Contributor

Re: "mlock failed" error after changing oracle buffer pools

I think some kernel value has crossed the amount of lockable memory on the system.

# echo "total_lockable_mem/D"|adb -k /stand/vmunix /dev/kmem

Just check the available lockable memory on the system


The lockable memory is inversely proportional to some of the kernel parameters.

Revert
Michael Steele_2
Honored Contributor

Re: "mlock failed" error after changing oracle buffer pools

What does "...database too small for the system..." mean?

Since you're getting this error system fragmentation is occurring and this only happens when there's not enough utilization of memory.
Support Fatherhood - Stop Family Law