ORA-12547 and sysctl -p

  • A+
Categories:Linux Oracle

This night I installed an Oracle 12c database on SLES12SP3 to test the dbss script on SLES system and found it worked well until I rebooted the server.

After the reboot, I found the database was not opened and the worse thing was I even could not run the sqlplus command:

It was very weird as it did work very well before the reboot.

I got this issue of Oracle 11g so I tested the solution again while no luck, so I had to find the root cause of this issue.

I traced the sqlplus command and also searched and read many notes on the Oracle support portal, and I learned I should check below things:

From the strace file of the sqlplus, I got below error:

Such error maybe was caused by wrong kernel parameters, so I recheck the generated sysctl config file under /etc/sysctl.d.

The Oracle installation guide mentions for SUSE systems, maybe need to set the kernel parameter vm.hugetlb_shm_group, so I inserted such line and run 'sysctl -p' to take effect, but when I run 'sysctl -a|grep hugetlb' I found the parameter was not changed.

And I recalled today I modified the scirpt oraprep.sh so it would generate a sysctl config file under /etc/sysctl.d, and add two lines to get more accurate values for kernel.shmall and kernel.shmmax, and after I read the manual of the sysctl command I know why I got such issue.

First, the kernel.shmmax was wrong and I should multiple it by 1024 to get bytes.

Second the 'sysctl -p' would just read the file /etc/sysctl.conf but not take the config files under the /etc/sysctl.d into account. In such situation I should run 'sysctl --system'.

So when I installed and created the database, the wrong parameter did not change the system as in the script I still used 'sysctl -p' at that time, and all the things run well.

But after the reboot, the wrong parameter did change the system and the database could not be started and also caused the ORA-12547 error.

I corrected both wrong configurations and after that I could start the database.


:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: