Wednesday, September 3, 2008

In EM connection fails with ERROR: NMO not setuid-root (Unix-only)

Error Description
This problem is notified on Unix system only.
Whenever you try to connect to enterprise manager after giving host username and password as prompted it fails with message
HostPassword - Connection to host as user oracle failed: ERROR: NMO not setuid-root (Unix-only)

Cause of The Problem
There is some permission issue on the enterprise manager binary file. The reason is after installing oracle software you have not run root.sh

Solution of The Problem
1.Stop the dbconsole service
$emctl stop dbconsole
If you face this on grid control then stop the Grid Management Agent
$emctl stop agent

2.Log on as root user and run the root.sh file
bash-3.00$ su
Password:
# cd /oracle/app/oracle/product/10.2.0/db_1/
# ./root.sh

Running Oracle10 root.sh script...

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /oracle/app/oracle/product/10.2.0/db_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n) [n]: y
Copying coraenv to /usr/local/bin ...

Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

If you are on Grid Control then also run /root.sh from $ORACLE_HOME.

3.Connect to oracle user and start the dbconsole or grid management agent(if you are in grid control).
$emctl start dbconsole (dbcontrol)
$emctl start agent (grid control)

No comments:

Post a Comment