В чем разница между учетными записями Oracle SYS и SYSTEM? - PullRequest
24 голосов
/ 27 мая 2009

Чем отличаются встроенные учетные записи Oracle SYS и SYSTEM?

Редактировать: кроме 3 букв!

Ответы [ 2 ]

23 голосов
/ 27 мая 2009

SYS владеет словарем данных Oracle. Каждый объект в базе данных (таблицы, представления, пакеты, процедуры и т. Д.) Имеет одного владельца. Для словаря базы данных и множества специальных таблиц (представления производительности и т. П.) Все они принадлежат пользователю SYS.

Предполагается, что пользователь SYSTEM является главным пользователем DBA и имеет доступ ко всем этим объектам. Это отражает раннюю и долгую философию безопасности Oracle. Вы создаете приложение, используя одного пользователя, затем создаете второго с доступом (выберите, обновите, удалите), но не удалите привилегии. Это дает вам «суперпользовательский» доступ к вашей схеме без возможности ее случайного уничтожения. За прошедшие годы в систему SYSTEM была добавлена ​​вещь, которая, возможно, должна была быть в учетной записи SYS. Но очень немногие люди хотят предоставить доступ к своей учетной записи SYS, если они не обязаны.

14 голосов
/ 27 мая 2009

SYS может connect AS SYSDBA, SYSTEM не может.

SYSDBA требуется привилегия для выполнения определенных административных задач, таких как CREATE DATABASE и DROP DATABASE, и для запроса любых таблиц, несмотря на GRANT 'прав на них.

Фактически, всякий раз, когда вы подключаетесь как SYSDBA, вы становитесь SYS.

...