Jaka jest różnica między kontami systemowymi i systemowymi w bazach danych Oracle?


39

Istnieją dwa sposoby połączenia się z Oracle jako administrator za pomocą narzędzia sqlplus:

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

Sądzę, że te konta powinny być wykorzystywane do różnych celów.

Do jakich zadań przeznaczone są te dwa schematy? Kiedy powinienem użyć jednego z nich?

Odpowiedzi:


43

SYS

  • Automatycznie tworzone po zainstalowaniu bazy danych Oracle
  • Automatycznie przyznano DBArolę
  • Ma domyślne hasło: CHANGE_ON_INSTALL (pamiętaj, aby je zmienić)
  • Jest właścicielem tabel podstawowych i widoków słownika danych bazy danych
  • Domyślny schemat podczas łączenia jako SYSDBA

Tabele w SYSschemacie są obsługiwane tylko przez bazę danych. Nigdy nie powinny być modyfikowane przez żadnego użytkownika lub administratora bazy danych i nikt nie powinien tworzyć żadnych tabel w schemacie użytkownika SYS. Użytkownicy bazy danych nie powinni łączyć się z bazą danych Oracle przy użyciu SYSkonta.

SYSTEM

  • Automatycznie tworzone po zainstalowaniu bazy danych Oracle
  • Automatycznie przyznano DBArolę
  • Ma domyślne hasło: MANAGER (pamiętaj, aby je zmienić)
  • Służy do tworzenia dodatkowych tabel i widoków wyświetlających informacje administracyjne
  • Służy do tworzenia wewnętrznych tabel i widoków używanych przez różne opcje i narzędzia bazy danych Oracle

Nigdy nie używaj SYSTEMschematu do przechowywania tabel interesujących użytkowników niebędących administratorami.

/przez


19
W praktyce każdy DBA wykonuje sqlplus / as sysdbacodzienną pracę - w ciągu 15 lat pracy z dziesiątkami doświadczonych DBA nigdy nie spotkałem nikogo, kto zawracałby sobie głowę tym SYSTEMkontem.
Gajusz

21

Z dokumentacji Oracle 11g :

Użytkownicy SYS I SYSTEMU

Następujące konta użytkowników administracyjnych są tworzone automatycznie podczas instalacji bazy danych Oracle. Oba są tworzone przy użyciu hasła podanego podczas instalacji i oba mają automatycznie przyznaną rolę DBA.

  • SYS

    To konto może wykonywać wszystkie funkcje administracyjne. Wszystkie podstawowe (podstawowe) tabele i widoki dla słownika danych bazy danych są przechowywane w schemacie SYS. Te tabele podstawowe i widoki mają kluczowe znaczenie dla działania bazy danych Oracle. Aby zachować integralność słownika danych, tabelami w schemacie SYS manipuluje tylko baza danych. Nigdy nie powinny być modyfikowane przez żadnego użytkownika lub administratora bazy danych. Nie wolno tworzyć żadnych tabel w schemacie SYS.

    Użytkownik SYS otrzymuje uprawnienie SYSDBA, które umożliwia mu wykonywanie zadań administracyjnych wysokiego poziomu, takich jak tworzenie kopii zapasowych i odzyskiwanie.

  • SYSTEM

    To konto może wykonywać wszystkie funkcje administracyjne z wyjątkiem następujących:

    • Kopii zapasowych i odzyskiwania

    • Aktualizacja bazy danych

    Chociaż tego konta można używać do wykonywania codziennych zadań administracyjnych, Oracle zdecydowanie zaleca utworzenie konta nazwanych użytkowników do administrowania bazą danych Oracle, aby umożliwić monitorowanie aktywności bazy danych.

Uprawnienia systemowe SYSDBA i SYSOPER

SYSDBA i SYSOPER to uprawnienia administracyjne wymagane do wykonywania operacji administracyjnych wysokiego poziomu, takich jak tworzenie, uruchamianie, zamykanie, tworzenie kopii zapasowej lub odzyskiwanie bazy danych. Uprawnienia systemowe SYSDBA są przeznaczone dla w pełni uprawnionych administratorów baz danych, a uprawnienie systemowe SYSOPER pozwala użytkownikowi wykonywać podstawowe zadania operacyjne, ale bez możliwości przeglądania danych użytkownika.

Uprawnienia systemowe SYSDBA i SYSOPER umożliwiają dostęp do instancji bazy danych, nawet gdy baza danych nie jest otwarta. Kontrola tych uprawnień jest zatem całkowicie poza samą bazą danych. Ta kontrola umożliwia administratorowi, któremu przyznano jedno z tych uprawnień, połączenie się z instancją bazy danych w celu uruchomienia bazy danych.

Można również myśleć o uprawnieniach SYSDBA i SYSOPER jako o typach połączeń, które umożliwiają wykonywanie określonych operacji na bazie danych, dla których uprawnień nie można przyznać w żaden inny sposób. Na przykład, jeśli masz uprawnienie SYSDBA, możesz połączyć się z bazą danych za pomocą AS SYSDBA.

Użytkownik SYS automatycznie otrzymuje uprawnienia SYSDBA podczas instalacji. Kiedy logujesz się jako użytkownik SYS, musisz połączyć się z bazą danych jako SYSDBA lub SYSOPER. Łączenie się jako użytkownik SYSDBA wywołuje uprawnienie SYSDBA; łączenie się, ponieważ SYSOPER wywołuje uprawnienie SYSOPER. Kontrola bazy danych Oracle Enterprise Manager nie zezwala na logowanie się jako SYS użytkownika bez połączenia jako SYSDBA lub SYSOPER.

Łącząc się z uprawnieniami SYSDBA lub SYSOPER, łączysz się ze schematem domyślnym, a nie ze schematem, który jest ogólnie powiązany z twoją nazwą użytkownika. W przypadku SYSDBA schemat ten to SYS; dla SYSOPERA schemat jest PUBLICZNY.


8

Przykład dużej różnicy między SYS (lub innym połączeniem SYSDBA) a każdym innym użytkownikiem: SYS nie może wykonywać spójnego odczytu . Jedną z implikacji tego (istnieją inne) jest to, że nie można wykonać eksportu CONSISTENT = Y jako SYS przy użyciu starego narzędzia exp.

Pracownik i ekspert Oracle, Tom Kyte, jest zdania, że rzadko należy z nich korzystać . W odniesieniu do SYS zwraca uwagę, że działa on inaczej, jak wskazuje powyższy przykład, ale bardziej ogólnie uważa, że ​​są one „własnością” Oracle Corporation. Jeśli wprowadzisz zmianę lub dodasz coś w jednym ze schematów i wystąpi problem (np. Aktualizacja bazy danych zakończy się niepowodzeniem), podejrzewam, że odpowiedź Oracle Support brzmiałaby: „Nie powinieneś tego robić”.


0

Brzmi to tak, jakby plakat mówi, że istnieją tylko dwa sposoby połączenia:

„Istnieją dwa sposoby połączenia się z Oracle jako administrator za pomocą narzędzia sqlplus:

sqlplus sys as sysdba
sqlplus system/manager"

Konto administratora to dowolne konto użytkownika Oracle z uprawnieniem SYSDBA lub rolą DBA. SYS jest predefiniowanym użytkownikiem z SYSDBA, a SYSTEM jest predefiniowanym użytkownikiem z DBA. Jeśli w bazie danych jest n kont administratorów, oznacza to, że n użytkowników może łączyć się z uprawnieniami administratora (z definicji) - nie ma ich tylko dwóch.

Kolejna kwestia dotyczy SQL * Plus. Możesz połączyć się jako SYS przy użyciu uwierzytelnienia systemu operacyjnego po znaku zachęty OS: sqlplus / as sysdba. Możesz także uruchomić SQL * Plus, a następnie CONNECT / AS SYSDBA. Możesz podać hasło w wierszu polecenia systemu operacyjnego, w instrukcji CONNECT lub poprosić o podanie SQL * Plus. Możesz użyć nazwy usługi sieciowej. Możesz (i należy) zmienić hasło SYSTEMOWE. I tak dalej.

Myślę, że plakat miał powiedzieć, że w bazie danych Oracle są co najmniej dwa konta administratora, a jeśli SYSTEM ma domyślne hasło i jeśli skonfigurowano uwierzytelnianie systemu operacyjnego, to są to dwa (z wielu) przykładów jak SYS i SYSTEM mogą zalogować się do bazy danych za pomocą SQL * Plus.

Pytanie o różnicę między SYS i SYSTEM jest inne i zostało udzielone odpowiedzi.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.