Чим відрізняються системи sys від системних облікових записів у базах даних Oracle?


39

Є два способи підключення до Oracle як адміністратора за допомогою sqlplus:

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

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

Для яких завдань призначені ці дві схеми? Коли я повинен використовувати те чи інше серед них?

Відповіді:


43

SYS

  • Автоматично створюється при встановленні бази даних Oracle
  • Автоматично надається DBAроль
  • Має пароль за замовчуванням: CHANGE_ON_INSTALL (переконайтеся, що ви його змінили)
  • Володіє базовими таблицями та видами для словника даних БД
  • Схема за замовчуванням при підключенні як SYSDBA

Таблицями в SYSсхемі керує тільки база даних. Їх ніколи не слід змінювати будь-яким користувачем або адміністратором бази даних, і ніхто не повинен створювати таблиці в схемі користувача SYS. Користувачі бази даних не повинні підключатися до бази даних Oracle за допомогою SYSоблікового запису.

SYSTEM

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

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

/ через


19
На практиці кожен DBA займається щоденною sqlplus / as sysdbaроботою - за 15 років, працюючи з десятками досвідчених DBA, я ніколи не стикався ні з ким, хто турбується з SYSTEMобліковим записом.
Гай

21

З документації Oracle 11 г :

SYS І СИСТЕМА Користувачі

Наступні адміністративні облікові записи користувачів автоматично створюються під час встановлення 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 не дозволяє вам увійти як 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 / як sysdba. Ви також можете запустити SQL * Plus, а потім CONNECT / AS SYSDBA. Ви можете вказати пароль у вікні ОС, у операції CONNECT, або запросити SQL * Plus для цього. Ви можете використовувати назву чистої послуги. Ви можете (і повинні) змінити пароль СИСТЕМИ. І так далі.

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

Питання про різницю між SYS і SYSTEM є різним і отримав відповідь.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.