I've been trying for days to fix the "Connection to host as user SYSDBA failed.ERROR: NMO not setuid-root (Unix-only)".
All, without exception, of the blogs I visited, say that in order to fix the issue, it's only needed to run the root.sh script as root, where script path is $ORACLE_HOME. I did that during Oracle Grid and Database install as requested, but re-run to make sure.
If i list the permissions of nmo and nmb binary files after running the root.sh, i get:
ls -la ./nm? -rws--x--- 1 root oinstall 34166 Apr 16 02:10 ./nmb -rws--x--- 1 root oinstall 44437 Apr 16 02:05 ./nmo
After following tutorials, i did: chown root nmo chmod 6750 nmo chown root nmb chmmod 6750 nmb
permissions went like so:
ls -la ./nm? -rwsr-s--- 1 root oinstall 34166 Apr 16 02:10 ./nmb -rwsr-s--- 1 root oinstall 44437 Apr 16 02:05 ./nmo
emctl stop dbconsole emctl start dbconsole
and Still got the error. I am almost performing a fresh install of Grid and Database, because I repeated the procedures multiple times, backed up /etc/oratab, deleted it and re run root.sh (so it could recreate oratab and fix possible mistakes).
I installed everything following the documentation, opened root.sh and referenced scripts so I could read them, but found nothing suspect.
My EM version is 11.2.0.3.0
I am running Oracle Linux under VirtualBox.
AGAIN: I've executed the root.sh as suggested in 99% of the websites regarding the setuid nmo error... Any clues or different procedures?
Thanks.
Check if the filesystem that $ORACLE_HOME is in, is mounted with the nosuid
option. If it is, that will prevent any executable running as root, even if SUID bit is set.