Take the 2-minute tour ×

What is the specific reason for creating the oracle user to install Oracle 10g or 11g, even though root exists and can be used?

Is it possible to install as root by adding root to the oinstall group?

Every suitable technical reason is welcome.

share|improve this question
Primarily for security reasons. Any Unix admin worth their while would understand that privilege separation is very important - why should a DBA, who may only have a simple grasp of Unix, be left with full root access on a server? –  Phil Oct 11 '12 at 7:46
Can i edit the above question to include additional points –  oratab Oct 11 '12 at 8:15
You can always edit your posts (there's an "edit" link right below the tags). Take care though not to change the meaning of the question too much once you've got answers. (And I completely agree with Phil. Applications should never be run as root unless they are required to for valid technical reasons.) –  Mat Oct 11 '12 at 8:26
I'll add that there's no technical reason why you can't run the RDBMS as root. I'd ask you though: Why do you want to run under the root user? –  Phil Oct 11 '12 at 9:21
i specifically don't want to run it as root, but i want to know the reason why it doesn't install as root user. Thanks a lot for answer and comments –  oratab Oct 15 '12 at 6:51
add comment

1 Answer

up vote 2 down vote accepted

PostgreSQL refuses to run under root, and the reasons there may be of interest in this question.

This approach allows you to essentially separate UNIX and db permissions as Phil mentions above, but there are a number of reasons why this is important especially when you have a programmable server like Oracle.

The first is that generally speaking you want to be able to contain the behavior of the system in the event of a bug in your stored procedures or otherwise. Bugs in stored procedures that allow the db to overwrite arbitrary files are really bad in a database, but they become far worse when you have the ability to overwrite operating system binaries. So this allows you to lock down and contain damage in a way you can't do if the db runs as root.

The second is that you can essentially give the DBA a smaller area of responsibility.

share|improve this answer
add comment

Your Answer


