Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Difference Between SYS and SYSTEM
On Wed, 18 Aug 1999 23:44:55 -0500, Frank Hubeny
<fhubeny_at_ntsource.com> wrote:
>This may be an obvious question, but what is the difference between the
>SYS and SYSTEM users in an Oracle database?
I wonder if Oracle would use two different user-ids if they
were designing Oracle from scratch today. Maybe this was a
product of evolution. In any case, SYS owns the data
dictionary, and SYSTEM is for the DBA to use.
>\
>I am aware that SYS owns the data dictionary, but it is only able to
>read the base tables. (Oracle 8i Concepts: 2-2) It makes me wonder
>what "ownership" of these objects means, if it cannot change them?
Anyone can update them. Issueing any CREATE or ALTER command changes something in the data dictionary. If Oracle allowed direct access to these tables, you could create a big mess.
>I also read (Oracle 8i Concepts 2-4) that you can "add new tables or
>views to the data dictionary" but this should be done only with the user
>SYSTEM.
I think the manual author is playing loose with the term
"data dictionary". Some people, for example, consider the
SQL*Plus PRODUCT_PROFILE table to be part of the data
dictionary. Certainly that statement seems to contradict the
statement in the very next section where the manual says
that "no data in any data dictionary tables should be
deleted or altered by any user.". Certainly if you created
your *own* data dictionary table, you would have to be the
one to insert,update, and delete data in it.
Jonathan