В чем разница между sys и системными учетными записями в базах данных Oracle?

Существует два способа подключения к Oracle в качестве администратора с помощью sqlplus:

  1. sqlplus sys as sysdba
  2. sqlplus system/manager

Эти учетные записи должны использоваться для разных целей, я полагаю.

Какие задачи предназначены для этих двух схем? Когда я должен использовать один или другой из них?

38 голосов | спросил Lazer 7 Jpm1000000pmFri, 07 Jan 2011 23:00:46 +030011 2011, 23:00:46

3 ответа


43

SYS:

  • автоматически создается при установке базы данных Oracle
  • автоматически предоставлена ​​роль DBA
  • имеет пароль по умолчанию: CHANGE_ON_INSTALL (убедитесь, что вы его изменили)
  • владеет базовыми таблицами и представлениями для словаря данных базы данных
  • схема по умолчанию при подключении как SYSDBA

Таблицы в схеме SYS управляются только базой данных. Они никогда не должны модифицироваться ни администратором пользователя, ни администратором базы данных, и никто не должен создавать таблицы в схеме пользователя SYS. Пользователи базы данных не должны подключаться к базе данных Oracle с помощью учетной записи SYS.

СИСТЕМА:

  • автоматически создается при установке базы данных Oracle
  • автоматически предоставлена ​​роль DBA
  • имеет пароль по умолчанию: MANAGER (убедитесь, что вы его изменили)
  • используется для создания дополнительных таблиц и представлений, отображающих административную информацию.
  • используется для создания внутренних таблиц и представлений, используемых различными параметрами и инструментами базы данных Oracle.

Никогда не используйте схему SYSTEM для хранения таблиц, представляющих интерес для пользователей, не являющихся администраторами.

/через

ответил Eddie Awad 7 Jpm1000000pmFri, 07 Jan 2011 23:22:29 +030011 2011, 23:22:29
20

Из 11g документации Oracle :

Пользователи SYS AND SYSTEM

При установке Oracle Database автоматически создаются следующие учетные записи администратора. Они оба создаются с паролем, который вы предоставили при установке, и оба они автоматически получают роль DBA.

  • SYS

    Эта учетная запись может выполнять все административные функции. Все базовые (базовые) таблицы и представления для словаря данных базы данных хранятся в схеме SYS. Эти базовые таблицы и представления имеют решающее значение для работы Oracle Database. Чтобы поддерживать целостность словаря данных, таблицы в схеме SYS управляются только базой данных. Они никогда не должны быть изменены любым пользователем или администратором базы данных. Вы не должны создавать таблицы в схеме SYS.

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

  • SYSTEM

    Эта учетная запись может выполнять все административные функции, кроме следующих:

    • Резервное копирование и восстановление

    • Обновление базы данных

    Хотя эта учетная запись может использоваться для выполнения повседневных административных задач, Oracle настоятельно рекомендует создать именованную учетную запись пользователя для администрирования базы данных Oracle, чтобы обеспечить мониторинг активности базы данных.

Системные привилегии SYSDBA и SYSOPER

SYSDBA и SYSOPER - это административные привилегии, необходимые для выполнения административных операций высокого уровня, таких как создание, запуск, завершение работы, резервное копирование или восстановление базы данных. Системная привилегия SYSDBA предназначена для полностью уполномоченных администраторов баз данных, а системная привилегия SYSOPER позволяет пользователю выполнять основные операционные задачи, но без возможности просмотра пользовательских данных.

Системные привилегии SYSDBA и SYSOPER разрешают доступ к экземпляру базы данных, даже если база данных не открыта. Таким образом, контроль этих привилегий полностью за пределами самой базы данных. Этот элемент управления позволяет администратору, которому предоставлена ​​одна из этих привилегий, подключиться к экземпляру базы данных для запуска базы данных.

Вы также можете придумать привилегии SYSDBA и SYSOPER как типы соединений, которые позволяют выполнять определенные операции с базой данных, для которых привилегии не могут быть предоставлены каким-либо другим способом. Например, если у вас есть привилегия SYSDBA, вы можете подключиться к базе данных с помощью AS SYSDBA.

Пользователь SYS автоматически получает привилегию SYSDBA при установке. Когда вы входите в систему как пользователь SYS, вы должны подключиться к базе данных как SYSDBA или SYSOPER. Подключение в качестве пользователя SYSDBA вызывает привилегию SYSDBA; поскольку SYSOPER вызывает привилегию SYSOPER. Oracle Enterprise Manager Database Control не позволяет вам войти в систему как пользователь SYS без подключения в качестве SYSDBA или SYSOPER.

Когда вы подключаетесь к привилегии SYSDBA или SYSOPER, вы соединяетесь со схемой по умолчанию, а не с схемой, которая обычно связана с вашим именем пользователя. Для SYSDBA эта схема - SYS; для SYSOPER схема является PUBLIC.

ответил Leigh Riffel 12 Jam1000000amWed, 12 Jan 2011 00:19:31 +030011 2011, 00:19:31
7

Пример существенного различия между SYS (или любым другим подключением SYSDBA) и каждым другим пользователем: SYS не может выполнить последовательное чтение . Одним из последствий этого (есть и другие) является то, что вы не можете экспортировать CONSISTENT = Y в виде SYS, используя старую утилиту exp.

Сотрудник Oracle и эксперт Том Ките считают, что вы редко должны использовать один из них . Что касается SYS, он указывает, что он работает по-другому, как показывает вышеприведенный пример, но в более общем плане он считает, что они «принадлежат» Oracle Corporation. Если вы внесете изменения или добавите что-то в любую схему, и возникает проблема (например, сбой обновления базы данных), я подозреваю, что ответ Oracle Support будет следующим: «Вы не должны этого делать».

ответил Stephen Kendall 5 Jam1000000amThu, 05 Jan 2012 10:33:20 +040012 2012, 10:33:20

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132