Oracle Enterprise Manager Cloud Control 12c:
How to solve the error 'ERROR: NMO Not Setuid-root (Unix-only)' on Oracle Enterprise Manager Cloud Control while contacting the EM Agent
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Oracle Enterprise Manager Cloud Control 12c: how to solve 'ERROR: NMO Not Setuid-root (Unix-only)'
1. Articles from Database administrator
workshop
How to solve the error 'ERROR: NMO Not Setuid-root
(Unix-only)' on Oracle Enterprise Manager Cloud
Control while contacting the EM Agent
I've just finished to setup at home an Oracle Real Application Clusters virtual
environment formed by two nodes.
I would like to monitor and eventually execute some commands from another
machine where I've installed the latest (at the moment of this post of course)
available Enterprise Manager Cloud Console 12c that is Oracle Enterprise Manager
Cloud Control 12c Release 3 Plug-in Update 1 (12.1.0.3) which contains the original
12c Release 3 (12.1.0.3) software binaries along with a few new plug-ins and
updated plug-in versions.
I would like to compare the easy way to manage a Real Application Clusters from a
GUI solution against the classic command line interface (CLI).
After I successfully deployed the agents from my Enterprise Manager Clod Control
machine to the two target RAC nodes whenever I tried to perform some operations
they resulted in the following error:
ERROR: NMO not setuid-root (Unix-only)
The following steps helped me to solve the problem.
On my nodes (demorac01 and demorac02) I created a local directory where EMCC
deployed the agent. Let's have a look at the content of that directory in the second
node:
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
[oracle@demorac02 agent12cr3]$ pwd
/u01/app/oracle/agent12cr3
[oracle@demorac02 agent12cr3]$ ll
total 28
-rw-rw-r-- 1 oracle oinstall 178 Jun 22 2013 agentimage.properties
drwxr-xr-x 6 oracle oinstall 4096 Feb 15 10:36 agent_inst
drwxr-xr-x 3 oracle oinstall 4096 Feb 14 10:34 core
drwxr-xr-x 13 oracle oinstall 4096 Feb 14 23:04 plugins
-rwxr-xr-x 1 oracle oinstall 449 Feb 14 10:32 plugins.txt
-rw-r--r-- 1 oracle oinstall 599 Feb 14 10:38 plugins.txt.status
drwxr-xr-x 5 oracle oinstall 4096 Feb 14 10:36 sbin
Inside the sbin directory there are other files that according to the Oracle
documentations should be owned by root. During my local deploy they were set up
to be owned by oracle user instead.
view plainprint?
2. 1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[oracle@demorac02 agent12cr3]$ cd sbin
[oracle@demorac02 sbin]$ ll
total 1372
drwxr-xr-x 3 oracle oinstall 4096 Feb 14 10:36 cfgtoollogs
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 install
drwxrwx--- 11 oracle oinstall 4096 Jun 22 2013 inventory
-rwxr-xr-x 1 oracle oinstall 22754 Jun 22 2013 nmb.0
-rwxr-xr-x 1 oracle oinstall 43494 Jun 22 2013 nmgsshe
-rwxr-xr-x 1 oracle oinstall 43494 Jun 22 2013 nmgsshe.0
-rwxr-xr-x 1 oracle oinstall 57835 Jun 22 2013 nmhs.0
-rwxr-xr-x 1 oracle oinstall 40007 Jun 22 2013 nmo.0
-rwxr-xr-x 1 oracle oinstall 585242 Jun 22 2013 nmosudo
-rwxr-xr-x 1 oracle oinstall 585242 Jun 22 2013 nmosudo.0
-rw-r----- 1 oracle oinstall 56 Jan 26 16:41 oraInst.loc
Before proceding with the solution adopted just note that the agent was running and
collecting all the available info from the RAC node as you can see from the
command below:
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
[oracle@demorac02 sbin]$ cd /u01/app/oracle/agent12cr3/core/12.1.0.3.0/bin
[oracle@demorac02 bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
--------------------------------------------------------------Agent Version : 12.1.0.3.0
OMS Version
: 12.1.0.3.0
Protocol Version : 12.1.0.1.0
Agent Home
: /u01/app/oracle/agent12cr3/agent_inst
Agent Binaries : /u01/app/oracle/agent12cr3/core/12.1.0.3.0
Agent Process ID : 21139
Parent Process ID : 21096
Agent URL
: https://192.168.56.102:3872/emd/main/
Repository URL : https://emcc.example.com:4900/empbs/upload
Started at
: 2014-02-14 10:39:20
Started by user : oracle
Last Reload
: (none)
Last successful upload
: 2014-02-15 10:30:47
Last attempted upload
: 2014-02-15 10:30:47
Total Megabytes of XML files uploaded so far : 1.3
Number of XML files pending upload
:0
Size of XML files pending upload(MB)
:0
Available disk space on upload filesystem : 29.49%
Collection Status
: Collections enabled
Heartbeat Status
: Ok
Last attempted heartbeat to OMS
: 2014-02-15 10:35:48
Last successful heartbeat to OMS
: 2014-02-15 10:35:48
Next scheduled heartbeat to OMS
: 2014-02-15 10:36:48
--------------------------------------------------------------Agent is Running and Ready
To correct the permissions on the desired files you have to run again the file root.sh
3. located under the software location of the Enterprise Manager Cloud Control.
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
[oracle@demorac02 sbin]$ su Password:
[root@demorac02 ~]# cd /u01/app/oracle/agent12cr3/core/12.1.0.3.0/
[root@demorac02 12.1.0.3.0]# ll
total 180
drwxr-xr-x 4 oracle oinstall 4096 Jun 22 2013 archives
drwxr-xr-x 2 oracle oinstall 4096 Feb 14 10:36 bin
drwxr-xr-x 6 oracle oinstall 4096 Feb 14 10:39 cfgtoollogs
drwxr-xr-x 6 oracle oinstall 4096 Jun 22 2013 common
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 diagnostics
-rw-r----- 1 oracle oinstall 430 Apr 7 2008 dummy.ic.linux.txt
-rw-r----- 1 oracle oinstall 412 Apr 7 2008 dummy.ic.txt
drwxrwxr-x 3 oracle oinstall 4096 Jun 22 2013 EMStage
drwxr-xr-x 6 oracle oinstall 4096 Feb 14 10:36 install
drwxr-xr-x 2 oracle oinstall 4096 Jun 22 2013 instantclient
drwxrwx--- 14 oracle oinstall 4096 Jun 22 2013 inventory
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 jdbc
drwxr-xr-x 6 oracle oinstall 4096 Feb 14 10:34 jdk
drwxr-xr-x 2 oracle oinstall 4096 Feb 14 10:34 jlib
drwxr-xr-x 2 oracle oinstall 4096 Jun 22 2013 js
drwxr-xr-x 2 oracle oinstall 4096 Jun 22 2013 jythonLib
drwxr-xr-x 5 oracle oinstall 4096 Jun 22 2013 ldap
drwxr-xr-x 4 oracle oinstall 4096 Jun 22 2013 lib
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 lib32
drwxr-xr-x 4 oracle oinstall 4096 Jun 22 2013 modules
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 network
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 ocm
drwxr-xr-x 10 oracle oinstall 4096 Feb 14 10:35 OPatch
drwxr-xr-x 7 oracle oinstall 4096 Jun 22 2013 opmn
-rw-r----- 1 oracle oinstall 56 Jan 26 16:41 oraInst.loc
drwxr-xr-x 7 oracle oinstall 4096 Feb 14 10:35 oui
drwxr-xr-x 5 oracle oinstall 4096 Feb 14 10:35 perl
drwxr-xr-x 2 oracle oinstall 4096 Jun 22 2013 prereqs
drwxr-xr-x 10 oracle oinstall 4096 Jun 22 2013 rda
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 relnotes
-rwxr-xr-x 1 oracle oinstall 1991 Feb 14 10:35 replacebins.sh
-rwxr-xr-x 1 oracle oinstall 1986 Jun 22 2013 replacebins.sh.ouibak
-rwxr-xr-x 1 oracle oinstall 1968 Jun 20 2012 replacebins.sh.template
-rw-r--r-- 1 oracle oinstall 1968 Jun 20 2012 replacebins.sh.template.ouibak
-rwxr-xr-x 1 oracle oinstall 4079 Feb 14 10:35 root.sh
-rwxr-xr-x 1 oracle oinstall 3933 Jun 22 2013 root.sh.old
-rwxr-x--- 1 oracle oinstall 10 Feb 14 10:34 root.sh.old.1
-rwxr-x--- 1 oracle oinstall 10 Feb 14 10:35 root.sh.ouibak
-rwxr-xr-x 1 oracle oinstall 3874 Feb 14 10:35 root.sh.template
-rw-r--r-- 1 oracle oinstall 3869 Jun 22 2013 root.sh.template.ouibak
drwxr-xr-x 5 oracle oinstall 4096 Jun 22 2013 stage
drwxr-xr-x 6 oracle oinstall 4096 Jun 22 2013 sysman
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 ucp
drwxr-xr-x 5 oracle oinstall 4096 Jun 22 2013 xdk
4. 50. drwxr-xr-x 2 oracle oinstall 4096 Jun 22 2013 xsds
That file needs to be run as root user too.
view plainprint?
1.
2.
3.
4.
5.
6.
[root@demorac02 12.1.0.3.0]# ./root.sh
Finished product-specific root actions.
/etc exist
Creating /etc/oragchomelist file...
Finished product-specific root actions.
Now if you go again under the previous sbin directory you can see that the owner is
changed:
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[root@demorac02 12.1.0.3.0]# cd /u01/app/oracle/agent12cr3/sbin/
[root@demorac02 sbin]# ll
total 1496
drwxr-xr-x 3 oracle oinstall 4096 Feb 14 10:36 cfgtoollogs
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 install
drwxrwx--- 11 oracle oinstall 4096 Jun 22 2013 inventory
-rws--x--- 1 root oinstall 22754 Feb 15 10:48 nmb
-rwxr-xr-x 1 oracle oinstall 22754 Jun 22 2013 nmb.0
-rwxr-xr-x 1 root oinstall 43494 Feb 15 10:48 nmgsshe
-rwxr-xr-x 1 oracle oinstall 43494 Jun 22 2013 nmgsshe.0
-rws--x--- 1 root oinstall 57835 Feb 15 10:48 nmhs
-rwxr-xr-x 1 oracle oinstall 57835 Jun 22 2013 nmhs.0
-rws--x--- 1 root oinstall 40007 Feb 15 10:48 nmo
-rwxr-xr-x 1 oracle oinstall 40007 Jun 22 2013 nmo.0
-rwxr-xr-x 1 root oinstall 585242 Feb 15 10:48 nmosudo
-rwxr-xr-x 1 oracle oinstall 585242 Jun 22 2013 nmosudo.0
-rw-r----- 1 oracle oinstall 56 Jan 26 16:41 oraInst.loc
It's time to bounce the agent so the new settings could be used by the Enterprise
Manager Clod Control during its operations. You must stop and start the agent as
oracle user.
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[oracle@demorac02 bin]$ id
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),492(vboxsf),54322(dba)
[oracle@demorac02 bin]$ pwd
/u01/app/oracle/agent12cr3/core/12.1.0.3.0/bin
[oracle@demorac02 bin]$ ./emctl stop agent
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
Stopping agent ..... stopped.
[oracle@demorac02 bin]$ ./emctl start agent
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
Starting agent ............................................................................... started.
[oracle@demorac02 bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 12c Release 3
5. 15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
--------------------------------------------------------------Agent Version : 12.1.0.3.0
OMS Version
: 12.1.0.3.0
Protocol Version : 12.1.0.1.0
Agent Home
: /u01/app/oracle/agent12cr3/agent_inst
Agent Binaries : /u01/app/oracle/agent12cr3/core/12.1.0.3.0
Agent Process ID : 11011
Parent Process ID : 10961
Agent URL
: https://192.168.56.102:3872/emd/main/
Repository URL : https://emcc.example.com:4900/empbs/upload
Started at
: 2014-02-15 10:51:36
Started by user : oracle
Last Reload
: (none)
Last successful upload
: 2014-02-15 10:53:23
Last attempted upload
: 2014-02-15 10:53:23
Total Megabytes of XML files uploaded so far : 0.01
Number of XML files pending upload
:0
Size of XML files pending upload(MB)
:0
Available disk space on upload filesystem : 29.48%
Collection Status
: Collections enabled
Heartbeat Status
: Ok
Last attempted heartbeat to OMS
: 2014-02-15 10:55:37
Last successful heartbeat to OMS
: 2014-02-15 10:55:37
Next scheduled heartbeat to OMS
: 2014-02-15 10:56:38
--------------------------------------------------------------Agent is Running and Ready
I have a RAC with two nodes so the same steps need to be executed on the other
node, demorac01 in my case. Here there are the wrong settings before running the
root.sh script.
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
[oracle@demorac01 sbin]$ pwd
/u01/app/oracle/agent12cr3/sbin
[oracle@demorac01 sbin]$ ll
total 1372
drwxr-xr-x 3 oracle oinstall 4096 Feb 14 10:21 cfgtoollogs
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 install
drwxrwx--- 11 oracle oinstall 4096 Jun 22 2013 inventory
-rwxr-xr-x 1 oracle oinstall 22754 Jun 22 2013 nmb.0
-rwxr-xr-x 1 oracle oinstall 43494 Jun 22 2013 nmgsshe
-rwxr-xr-x 1 oracle oinstall 43494 Jun 22 2013 nmgsshe.0
-rwxr-xr-x 1 oracle oinstall 57835 Jun 22 2013 nmhs.0
-rwxr-xr-x 1 oracle oinstall 40007 Jun 22 2013 nmo.0
-rwxr-xr-x 1 oracle oinstall 585242 Jun 22 2013 nmosudo
-rwxr-xr-x 1 oracle oinstall 585242 Jun 22 2013 nmosudo.0
-rw-r----- 1 oracle oinstall 56 Jan 26 16:41 oraInst.loc
Run the root.sh script on demorac01 as root user.
view plainprint?
6. 1.
2.
3.
4.
5.
6.
7.
8.
9.
[oracle@demorac01 sbin]$ su Password:
[root@demorac01 ~]# cd /u01/app/oracle/agent12cr3/core/12.1.0.3.0/
[root@demorac01 12.1.0.3.0]# ./root.sh
Finished product-specific root actions.
/etc exist
Creating /etc/oragchomelist file...
Finished product-specific root actions.
Let's check the new settings.
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[root@demorac01 12.1.0.3.0]# cd ../../sbin/
[root@demorac01 sbin]# ll
total 1496
drwxr-xr-x 3 oracle oinstall 4096 Feb 14 10:21 cfgtoollogs
drwxr-xr-x 3 oracle oinstall 4096 Jun 22 2013 install
drwxrwx--- 11 oracle oinstall 4096 Jun 22 2013 inventory
-rws--x--- 1 root oinstall 22754 Feb 15 10:54 nmb
-rwxr-xr-x 1 oracle oinstall 22754 Jun 22 2013 nmb.0
-rwxr-xr-x 1 root oinstall 43494 Feb 15 10:54 nmgsshe
-rwxr-xr-x 1 oracle oinstall 43494 Jun 22 2013 nmgsshe.0
-rws--x--- 1 root oinstall 57835 Feb 15 10:54 nmhs
-rwxr-xr-x 1 oracle oinstall 57835 Jun 22 2013 nmhs.0
-rws--x--- 1 root oinstall 40007 Feb 15 10:54 nmo
-rwxr-xr-x 1 oracle oinstall 40007 Jun 22 2013 nmo.0
-rwxr-xr-x 1 root oinstall 585242 Feb 15 10:54 nmosudo
-rwxr-xr-x 1 oracle oinstall 585242 Jun 22 2013 nmosudo.0
-rw-r----- 1 oracle oinstall 56 Jan 26 16:41 oraInst.loc
Bounce the agent on demorac01: stop and start it as oracle user.
view plainprint?
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[root@demorac01 sbin]# logout
[oracle@demorac01 sbin]$ cd ../core/12.1.0.3.0/bin/
[oracle@demorac01 bin]$ ./emctl stop agent
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
Stopping agent ..... stopped.
[oracle@demorac01 bin]$ ./emctl start agent
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
Starting agent .......................................................... started.
Let's check the agent status.
view plainprint?
1.
2.
3.
4.
5.
[oracle@demorac01 bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
--------------------------------------------------------------Agent Version : 12.1.0.3.0
7. 6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
OMS Version
: 12.1.0.3.0
Protocol Version : 12.1.0.1.0
Agent Home
: /u01/app/oracle/agent12cr3/agent_inst
Agent Binaries : /u01/app/oracle/agent12cr3/core/12.1.0.3.0
Agent Process ID : 13377
Parent Process ID : 13332
Agent URL
: https://192.168.56.101:3872/emd/main/
Repository URL : https://emcc.example.com:4900/empbs/upload
Started at
: 2014-02-15 10:56:16
Started by user : oracle
Last Reload
: (none)
Last successful upload
: 2014-02-15 10:57:01
Last attempted upload
: 2014-02-15 10:57:01
Total Megabytes of XML files uploaded so far : 0
Number of XML files pending upload
:0
Size of XML files pending upload(MB)
:0
Available disk space on upload filesystem : 21.39%
Collection Status
: Collections enabled
Heartbeat Status
: Ok
Last attempted heartbeat to OMS
: 2014-02-15 10:57:00
Last successful heartbeat to OMS
: 2014-02-15 10:57:00
Next scheduled heartbeat to OMS
: 2014-02-15 10:58:01
--------------------------------------------------------------Agent is Running and Ready
So both agents are now running again on the RAC nodes. Let's verify that I solved
my issue directly from the Enterprise Manager Cloud Control: the error "NMO not
setuid-root (Unix-only)" was thrown the first time when I tried to start up a pluggable
database.
8. Let's do the same step again. Here is the current situation: a CDB in open mode
and the pluggable database PDB001 not open.
Click on the target name link named "DEMO.demorac_PDB001". It will open the
following screenshot and information: "Database is not open. Regions that fetch
real-time data from target database will not be displayed"
So I want to open that PDB. Point your mouse over "Oracle Database" menu, then
"Control" and finally "Open/Close Pluggable Database".
9. Give the credentials to access the remote Oracle database.
It seems to work because the Enterprise Manager Cloud Console is currently
showing a new page.
10. Because I want to open the pluggable database PDB001 on both the available
instances I select both instances using the CTRL button, and then clicked on
"Open" from the Action menu.
A new browser page will show the status of the operation in progress.
When the operation terminates successfully the "Open/Close Pluggable Database"
page will show that the status of the pluggable database PDB001 is now OPEN.
11. Clicking on the target link of the pluggable database named
"DEMO.demorac_PDB001" will show new activities are performed and so collected
from the agent.
That's all.