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

39

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

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

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

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

Lazer
источник

Ответы:

43

SYS

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

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

SYSTEM

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

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

/с помощью

Эдди Авад
источник
19
На практике каждый администратор баз данных занимается sqlplus / as sysdbaповседневной работой - за 15 лет работы с десятками опытных администраторов баз данных я никогда не сталкивался с кем-то, кто беспокоится об SYSTEMучетной записи.
Гай
21

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

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

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

  • SYS

    Эта учетная запись может выполнять все административные функции. Все базовые (базовые) таблицы и представления для словаря данных базы данных хранятся в схеме SYS. Эти базовые таблицы и представления имеют решающее значение для работы базы данных Oracle. Для обеспечения целостности словаря данных таблицы в схеме 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 схема является ОБЩЕСТВЕННОЙ.

Ли Риффель
источник
8

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

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

Стивен Кендалл
источник
0

Это звучит так, как будто на плакате написано, что есть только два способа подключения:

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

sqlplus sys as sysdba
sqlplus system/manager"

Учетная запись администратора - это любая учетная запись пользователя Oracle с привилегией SYSDBA или ролью DBA. SYS - предопределенный пользователь с SYSDBA, а SYSTEM - предопределенный пользователь с DBA. Если в базе данных есть n учетных записей администраторов, то есть n пользователей, которые могут подключиться с правами администратора (по определению) - их не просто две.

Еще один момент касается SQL * Plus. Вы можете подключиться как SYS, используя аутентификацию ОС по приглашению ОС: sqlplus / as sysdba. Вы также можете запустить SQL * Plus, а затем CONNECT / AS SYSDBA. Вы можете указать пароль в командной строке ОС, в операторе CONNECT или попросить SQL * Plus запросить его. Вы можете использовать сетевое имя сервиса. Вы можете (и должны) изменить системный пароль. И так далее.

Я думаю, что автор хотел сказать, что в базе данных Oracle есть как минимум две учетные записи администратора, и если в SYSTEM установлен пароль по умолчанию и если установлена ​​аутентификация ОС, то это два (из многих) примеров как SYS и SYSTEM могут войти в базу данных, используя SQL * Plus.

Вопрос о разнице между SYS и SYSTEM отличается и получил ответ.

Лэнс Эшдаун
источник