Why create an “oracle” user for installing Oracle 10g or 11g

oracle

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.

Best Answer

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.