Friday, December 22, 2006 throws exception: IAS Property not found

When running you may run into this error:

Repository Access API throws exception :oracle.ias.repository.schema.SchemaException: iAS Property could not be found Property Name OIDhost in ...

This is most likely because you used the actual ORACLE_HOME when running it instead of using $ORACLE_HOME. For some reason you MUST use $ORACLE_HOME.

Wednesday, December 06, 2006

Suse Linux and ORA-27125

It's basically Unix, right, so you almost never reboot it. That's great, except when you can't remember what you did the last time to fix something. Well, I rebooted today. I didn't really need to, but something made me do it. Then I tried to bring up my database. I saw the following:

SQL> startup;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 1: Operation not permitted

What to do about it!? It turns out I had two distinct problems. That can be tough, because it looks like it could be one problem. Somehow the database OEM had introduced an old init.ora parameter, that's the ora-32004. If the db won't start, you don't get the output in the alert log telling you which parameter is the problem. First I solved the ora-27125, then I found that I had plsql_compiler_flags specified and reset it.

So, what caused the ora-27125? Would you believe... metalink had the answer, note: 293988.1

I'm going to paste the note here just so it is handy.

Applies to:

Oracle Server - Enterprise Edition - Version: 9.2 to 10.2
Linux Itanium
SUSE \ UnitedLinux x86-64
Linux x86-64
Linux x86
This Problem can be seen on the SUSE SLES9 linux distribution which runs on kernel '2.6.5-7.191'


While starting the database instance following error is encountered.

SQL> startup
ORA-27125: unable to create shared memory segment
Linux Error: 1: Operation not permitted


This is caused by '2.6.5-7.nnn' kernels requiring MLOCK privilege for hugetlb memory.


To enable use of "hugetlb memory", or to allow the init.ora parameter "lock_sga=true" to be used, do:
--- Login as root
--- # echo 1 > /proc/sys/vm/disable_cap_mlock
If you need to make this change persistent
--- Login as root
--- Edit /etc/sysctl.conf
Add following lines
# Oracle requires MLOCK priviledge for hugetlb memory.
--- Execute the command
#/etc/init.d/boot.sysctl start
Setting current sysctl status from /etc/sysctl.conf
vm.disable_cap_mlock = 1
--- Dont forget to enable the service.
chkconfig boot.sysctl on